DeepPartial: T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T

Mutates the type by making all properties optional and allowing for deep partials.

Type Parameters

  • T

    The type to mutate.

type Original = { name: string; age: number }
type Mutated = DeepPartial<Original>; // { name?: string; age?: number }