Custom Mapped Type

This lesson explains how to create your own mapped type.

Creating a “NonNullable” type

The first custom type shows how to use never to tell TypeScript to not compile if a custom map is not respected. The code map is a generic variable that is neither undefined nor null. In the case that the value is either one, TypeScript does not compile.

Press + to interact
type NoNullValue<T> = T extends null | undefined
? never
: T;
function print<T>(p: NoNullValue<T>): void {
console.log(p);
}
print("Test"); // Compile
// print(null); // Does not compile

Creating a custom mapping requires ...