PathValue
PathValue<
T,P> =Pextends`${infer K}.${infer Rest}`?Kextends keyofT?PathValue<NonNullable<T[K]>,Rest> :never:Pextends keyofT?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