Type Alias KeysOfInner<T>

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

Type Parameters

  • T