Recursively make all properties required.
Object type to transform
Removes optional property modifiers at all nesting levels. Will also remove undefined from union types within the object structure.
undefined
Function types and special types like Date are preserved unchanged.
type User = { id?: number; profile?: { name?: string; address?: { city?: string } } };type Required = DeepRequired< User >;// { id: number; profile: { name: string; address: { city: string } } } Copy
type User = { id?: number; profile?: { name?: string; address?: { city?: string } } };type Required = DeepRequired< User >;// { id: number; profile: { name: string; address: { city: string } } }
Recursively make all properties required.