DeepPartial
DeepPartial
@example
// Expect: {
// first?: {
// second?: {
// name?: string;
// };
// };
// }
type NestedProps = {
first: {
second: {
name: string;
};
};
};
type PartialNestedProps = DeepPartial<NestedProps>;
type DeepPartial<T> = T extends Function ? T : T extends Array<infer U> ? _DeepPartialArray<U> : T extends object ? _DeepPartialObject<T> : T | undefined;