Path<T>
typeCompute dotted paths of T, including nested objects and arrays.
Definition
type
type Path<T> = T extends Primitive ? never : T extends readonly U[] ? `${number}` | Path<U> extends never ? never : `${number}.${Path<U>}` : { [K in keyof T & string]: T[K] extends Primitive ? K : K | Path<T[K]> extends never ? never : `${K}.${Path<...[...]>}` }[keyof T & string]T extends Primitive ? never : T extends readonly U[] ? `${number}` | Path<U> extends never ? never : `${number}.${Path<U>}` : { [K in keyof T & string]: T[K] extends Primitive ? K : K | Path<T[K]> extends never ? never : `${K}.${Path<...[...]>}` }[keyof T & string]
Type parameters
| Name | Type | Description |
|---|---|---|
T | — | Type to compute paths for. |