NestedFieldPath type
Nested field path support with type constraints for relationships
type NestedFieldPath<T> = T extends object
? {
[K in CleanEntityKeys<T>]: K extends string
? NonNullable<T[K]> extends U[]
? U extends object
? Object | K
: K
: NonNullable<T[K]> extends object
? Object | K
: K
: never
}[CleanEntityKeys<T>]
: never