quetch / Path
Path<
T
,D
>: [0
] extends [1
&T
] ? readonly (Key
|never
)[] :D
extends-1
?never
:T
extendsPrimitive
? readonlynever
[] :T
extends infer P[] ? readonly [number
] | readonly [number
,...Path<P, Increment<D>>
] :T
extendsobject
? { [K in keyof T]: [K] | [K, ...Path<(...), (...)>] }[keyofT
] :never
• T
• D = 7