npm install --save-dev ts-wiz
Or using yarn:
yarn add -D ts-wiz
All the utility types are exported with their name and you can import them like below:
import type { XXX } from "ts-wiz";
Gets the union type of all the values in an object, tuple, array or array-like type T.
type Result = ValueOf<{ a: string; b: number }>;
// type Result will be `string | number`
type Result = ValueOf<[string, number]>;
// type Result will be `string | number`
Injects undefined
to a type
type Result = Maybe<string>;
// type Result will be `string | undefined`
Excludes undefined
from a type
type Result = NonUndefined<string | undefined>;
// type Result will be `string`
Injects null
to a type
type Result = Nullable<string>;
// type Result will be `string | null`
Union of null
and undefined
types
type Result = Nullish;
// type Result will be `null | undefined`
Injects null
and undefined
to a type
type Result = Nullishable<string>;
// type Result will be `string | null | undefined`
Union of falsy values in TypeScript: false
| ""
| 0
| null
| undefined
Represents all the Falsy values of TypeScript except for falsy ones
Union of primitive types in TypeScript: string | number | bigint | boolean | symbol | null | undefined
Represents an object with certain value types(unknown
by default)
type Result = Dictionary<boolean>;
// type Result will be a dictionary with boolean values
Merges two object types
type ObjectType1 = { a: string; b: number; c: boolean };
type ObjectType2 = { a: number; b: string; d: boolean };
type Merged = MergeBy<ObjectType1, ObjectType2>;
// type Merged will be of type { a: number; b: string; c: boolean; d: boolean }
Subtracts two object types(Remove shared properties of two object types from the first one)
type ObjectType1 = { a: string; b: number; c: boolean };
type ObjectType2 = { a: number; b: string; d: boolean };
type Subtracted = Subtract<ObjectType1, ObjectType2>;
// type Subtracted will be of type { c: boolean; }
Obtains Promise resolve type
type Result = UnPromise<Promise<string>>;
// type Result will be of type string
Represents a function that doesn't accept any arguments and returns void
type Result = NonToVoidFunction;
// type Result will be of type () => void
Generates a tuple of numbers from 0 to N-1
type Result = Enumerate<5>;
// type Result will be 0 | 1 | 2 | 3 | 4 | 5
Generates a tuple of numbers from N to M-1
type Result = IntRange<2, 6>;
// type Result will be 2 | 3 | 4 | 5