utilium
    Preparing search index...

    Type Alias FlattenKeys<O>

    FlattenKeys: {
        [K in keyof O & (string | number)]: O[K] extends Record<any, any>
            ? K | `${K}.${$drain<FlattenKeys<O[K]>>}`
            : K
    }[O extends readonly unknown[]
        ? keyof O & `${number}`
        : keyof O & (string | number)]

    Flatten an object structure into a set of "keys".

    Type Parameters

    • O
    type example = FlattenKeys<{ h: { s: { l: 1; v: 2 } } }>;
    type result = "h" | "h.s" | "h.s.l" | "h.s.v";