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 valuesMerges 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 stringRepresents a function that doesn't accept any arguments and returns void
type Result = NonToVoidFunction;
// type Result will be of type () => voidGenerates a tuple of numbers from 0 to N-1
type Result = Enumerate<5>;
// type Result will be 0 | 1 | 2 | 3 | 4 | 5Generates a tuple of numbers from N to M-1
type Result = IntRange<2, 6>;
// type Result will be 2 | 3 | 4 | 5