Type alias FlattenKeys<T, P, Delimiter>
FlattenKeys<T, P, Delimiter>: T extends object ? { [K in keyof T]-?: `${P extends string | number ? P : never}${P extends "" ? "" : Delimiter}${string & K}` extends infer E ? T[K] extends readonly any[] | null ? E : FlattenKeys<T[K], E extends string | number | symbol ? E : never, Delimiter> : never }[keyof T] : P
Type Parameters
-
T
-
P extends string | number | symbol = ""
-
Delimiter extends string = "."
Create a union of flattened keys from an object.