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

Create a union of flattened keys from an object.

Type Parameters

  • T

  • P extends string | number | symbol = ""

  • Delimiter extends string = "."

Generated using TypeDoc