WithUndefinedAsOptionalRecursive

type WithUndefinedAsOptionalRecursive<T>: T extends object ? { [key in DefinedKeys<T>]-?: WithUndefinedAsOptionalRecursive<T[key]> } & { [key in UndefinedKeys<T>]?: WithUndefinedAsOptionalRecursive<T[key]> } : T;

Type parameters

Type parameter
T