Skip to main content
Version: 57.2.0

Paths

Paths<T> = { [K in keyof T & string]: T[K] extends object ? K | `${K}.${Paths<T[K]>}` : K }[keyof T & string]

All dot-notation paths for a type T.

Type Parameters

T

T extends object

Example

Paths<{a: {b: string}; c: number}> = "a" | "a.b" | "c"