Skip to main content
Version: 57.2.0

PathValue

PathValue<T, P> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? PathValue<NonNullable<T[K]>, Rest> : never : P extends keyof T ? T[P] : never

The value type at a dot-notation path P within type T.

Type Parameters

T

T

P

P extends string

Example

PathValue<{a: {b: string}}, "a.b"> = string