A type that extends Required that in addition to making fields not undefined, also makes them not nullable.
Required
type Foo = { a?: number | null };type Bar = RequiredAndNonNullable<Bar>; // { a: number } Copy
type Foo = { a?: number | null };type Bar = RequiredAndNonNullable<Bar>; // { a: number }
A type that extends
Requiredthat in addition to making fields not undefined, also makes them not nullable.