Type Alias Flat<T, P>

Flat<T, P>: {
    [K in keyof T as T[K] extends string
        ? K extends string
            ? P extends ""
                ? K
                : `${P}.${K}`
            : never
        : K extends string
            ? keyof Flat<T[K], P extends ""
                ? K
                : `${P}.${K}`>
            : never]: never
}

Type Parameters

  • T extends Record<string, any>
  • P extends string = ""