ts-pathof
Typesafe path to variable
Implementation of https://github.com/Microsoft/TypeScript/issues/20423
There is limitations for 2 level deep with type hacks, so no infinit tuples
Install & Use
npm i ts-pathof --save-exact
; ;; // path now is typeof [ 'z', 'y', 'bb' ]; // error, because no 'gg' field in c.z.y
Maximum 10 levels deep limitation on pathOf
Path as tuple
; ;; // ok; // false & compilation error
Maximum 20 levels deep limitation on hasPath
Type only assertion
Use pathOfN
(where N
is deep), to pick tuple-type path to field
Maximum 10 levels deep
Eg:
;path = pathOfc, 'z', 'y', 'bb';
Use other type-only variant (with 20 levels limitation on deep), PathOf
:
; ; // ok ; // error
PS
Check out typedpark, and Variadic Kinds thread for more info on advenced tuple utils.
Eg picking head or tail of tuple, reverse or join.
; composed ->
Also checkout tsargs, utility types for arguments.