/** * Requires the fields K on T: makes a field non-optional and removes null and undefined. */ export type Require = { [P in K]-?: NonNullable; } & T; export type RequireAll = { [P in keyof T]-?: NonNullable; } & T; export type Replace = { [P in K]: U; } & T;