import { SelectableColumnTypes } from "./SelectableColumnTypes"; export type NestedKeysOf = // Make sure it won't try to go on an endless recursive loop Level extends '11111' ? never : Key extends string ? T[Key] extends SelectableColumnTypes ? Key : `${Key}.${NestedKeysOf}` : never; export type NestedForeignKeyKeysOf = // Make sure it won't try to go on an endless recursive loop Level extends '11111' ? never : Key extends string ? T[Key] extends SelectableColumnTypes ? never : `${Key}` | `${Key}.${NestedForeignKeyKeysOf}` : never;