/**
* Helper type to get a nested property from an object
*/exporttypeGetPath<T, TPathextendsstring> = TPathextends`${infer A}.${infer Rest}`
? A extends keyof T
? { [K in A]: GetPath<T[A], Rest> }
: never
: TPathextends keyof T
? { [K inTPath]: T[TPath] }
: never