Slide 24
Slide 24 text
Exclude
Removes Values from a Union
type Exclude = T extends U ? never : T;
// Inferred Type: 1 | 3
type Result0 = Exclude<1 | 2 | 3, 2>;
// Inferred Type: "a" | "b"
type Result1 = Exclude<1 | "a" | 2 | "b", number>;
// Inferred Type: "a" | 2
type Result2 = Exclude<1 | "a" | 2 | "b", 1 | "b" | "c">;