Flatten: {
    [P in keyof T]: T[P] extends object
        ? Flatten<T[P], `${K}${P & string}.`>
        : { [key in `${K}${P & string}`]: T[P] }
}[keyof T]

Type Parameters

  • T
  • K extends string = ""