type Binding.BoundPath
Type definition for a property path.
type BoundPath<T> = T extends object
? {
[K in Extract<keyof T, string>]: T[K] extends object | undefined
? K | `${K}.${BoundPath2<T[K]>}`
: K;
}[Extract<keyof T, string>]
: never;
type BoundPath2<T> = T extends object
? {
[K in Extract<keyof T, string>]: T[K] extends object | undefined
? K | `${K}.${BoundPath3<T[K]>}`
: K;
}[Extract<keyof T, string>]
: never;
type BoundPath3<T> = T extends object
? {
[K in Extract<keyof T, string>]: T[K] extends object | undefined
? K | `${K}.${string}`
: K;
}[Extract<keyof T, string>]
: never;
Related
class Binding
A class that represents a property binding.
