Skip to main content

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 ParameterDefault type
T-
ArrayKeys extends booleanfalse