Returns Exclude<keyof R, keyof T> extends infer K ? [K] extends [never] ? { [P in keyof T]: P extends keyof R ? T[P] | Exclude<R[P], undefined> : T[P] } : { [P in keyof T]: P extends keyof R ? T[P] | Exclude<R[P], undefined> : T[P] } & Pick<R, K> : never
unpartial<T, R, S>(parent, base, partial): T & R & S
Unpartial a partial type with two base values.
This is useful when you are extending value from another package or code.
That means you have a parent value from the original code,
a base value where you add additional defaults or override existing one,
and partial value from input.
Unpartial a partial type.