Implement the built-in `ReturnType<T>` generic without using it. Learn conditional types with `infer` in this medium-level challenge on TypeScriptPro.
Implement the built-in ReturnType<T> generic without using it. 🔍
In this medium-level challenge, you'll implement the built-in returntype<t> generic without using it.. Learn conditional types with infer in this medium-level challenge on TypeScriptPro.
You'll learn about conditional types with infer, essential skills for advanced TypeScript development and type-level programming.
Implement the built-in ReturnType<T> generic without using it.
For example
const fn = (v: boolean) => {
if (v)
return 1
else
return 2
}
type a = MyReturnType<typeof fn> // should be "1 | 2"Change the following code to make the test cases pass (no type check errors).
To extract the return type from a function, we use conditional types with infer:
type MyReturnType<T> = T extends (...args: never) => infer ReturnType
? ReturnType
: neverHow it works:
never argumentsinfer ReturnType to capture the return typeReturnType if it's a function, otherwise neverThis challenge helps you understand conditional types with infer 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