Too Long; Didn't Read
Typescript allows developers to create new custom types as necessary during development. Typesript provides some globally available utility types. These utility types allows the developer to carry out type transformations. The utility type Partial creates a new type where all the properties of the input type T are set to optional. The utility type Required creates a new type where all the properties of the input type `T` are set to required. It is the opposite of Partial. The utility type Readonly creates a new type where all the properties of the input type T are set to readonly.