Type Alias KeysOf<T>

KeysOf<T>: T extends Record<string, unknown>
    ? {
        [K in keyof T]-?: K extends string
            ? `${K}` | (T[K] extends null | undefined
                ? never
                : `${K}.${KeysOf<NonNullable<(...)[(...)]>>}`)
            : never
    }[keyof T]
    : never

Type Parameters

  • T