TypeAlias.ObjectPaths
type ObjectPaths<T, ArrayKeys> = T extends infer U[] ? ArrayKeys extends true ? Join<number, ObjectPaths<U, ArrayKeys>> : ObjectPaths<U> : T extends object ? { [K in keyof T]-?: K extends string | number ? `${K}` | Join<K, ObjectPaths<T[K], ArrayKeys>> : never }[keyof T] : never;
Type Parameters
| Type Parameter | Default type |
|---|---|
T | - |
ArrayKeys extends boolean | false |