Awesome
typescript-conditional-types
Helpers for typescript generic types
Table of Contents
Motivation
Creating complex types with conditional types ( T extends U ? X : Y
) could be a little verbose. This package aims to simplify code and make it more readable.
Install
$ npm install typescript-conditional-types
You'll probably want to save it in the devDependencies
Type Helper List
- If<Condition, Then, Else>: If Condition is
true
resulting type is Then else Else - And<A, B>:
true
if A and B are bothtrue
elsefalse
- Or<A, B>:
true
if A or B aretrue
elsefalse
- Not<A>: Negate A
- Extends<A, B>:
true
if A extends B like inA extends B ? true : false
- Extends<A, B, Then, Else: Equivalent to
If<Extends<A, B>, Then, Else>
Usage Example
import { If } from "typescript-conditional-types";
type BooleanToString<T extends boolean> = If<T, "true", "false">
BooleanToString<true> // "true"
BooleanToString<false> // "false"