Complete <T>
Complete<
T
>: { [P in keyof Required<T>]: Pick<T, P> extends Required<Pick<T, P>> ? T[P] : T[P] | undefined }
Makes optional keys required and add the the undefined type.
interface Test {
foo: number;
bar?: number;
baz: number | undefined;
}
Complete<Test> {
foo: number;
bar: number | undefined;
baz: number | undefined;
}
Type Parameters
Type Parameter |
---|
T
|