Implement a `IsNever` Generic, which allows you to check if a type is never. Learn type distribution in TypeScript in this medium-level challenge on TypeScriptPro.
In this medium-level challenge, you'll implement a IsNever Generic, which allows you to check if a type is never.
Implement a type IsNever, which takes input type T.
If the type of resolves to never, return true, otherwise false.
For example:
type A = IsNever<never> // expected to be true
type B = IsNever<undefined> // expected to be false
type C = IsNever<null> // expected to be false
type D = IsNever<[]> // expected to be false
type E = IsNever<number> // expected to be falseChange the following code to make the test cases pass (no type check errors).
type IsNever<T> = [T] extends [never] ? true : falseHow it works:
T is never. By wrapping T in an array, we prevent the type from being distributed over the union. This way we can check the entire union against never.true, otherwise we return falseThis challenge helps you understand union type manipulation and how to apply this concept in real-world scenarios.
This challenge is originally from here.
Be the first to access the course, unlock exclusive launch bonuses, and get special early-bird pricing before anyone else.
Only 27 Spots left
Get 1 month early access
Pre-Launch discount