Skip to content

Assert

Helper functions that have to do with asserting.

function assertArray<T>(
value,
...__namedParameters
): asserts value is T & unknown[];

Defined in: functions/assert.ts:17

Helper function to throw an error if the provided value is not an array.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [readonly unknown[]] ? ["The assertion is useless because the provided value is already an array."] : [string]

asserts value is T & unknown[]


function assertArrayBoolean<T>(
value,
...__namedParameters
): asserts value is T & boolean[];

Defined in: functions/assert.ts:34

Helper function to throw an error if the provided value is not an array with every element being a boolean.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [readonly boolean[]] ? ["The assertion is useless because the provided value is already a boolean array."] : [string]

asserts value is T & boolean[]


function assertArrayLength<E, N>(
value,
length,
msg,
): asserts value is Tuple<E, N>;

Defined in: functions/assert.ts:55

Helper function to throw an error if the provided array does not have the specified length. Will also type narrow the array into a tuple of the specified length.

Type Parameter
E
N extends number
Parameter Type
value E[]
length N
msg string

asserts value is Tuple<E, N>

function assertArrayLength<E, N>(
value,
length,
msg,
): asserts value is Readonly<Tuple<E, N>>;

Defined in: functions/assert.ts:60

Helper function to throw an error if the provided array does not have the specified length. Will also type narrow the array into a tuple of the specified length.

Type Parameter
E
N extends number
Parameter Type
value readonly E[]
length N
msg string

asserts value is Readonly<Tuple<E, N>>


function assertArrayNonEmpty<T>(
value,
...__namedParameters
): asserts value is T
& (T extends readonly E[] ? [E, ...E[]] : [unknown, ...unknown[]]);

Defined in: functions/assert.ts:76

Helper function to throw an error if the provided value is not an array or is an empty array.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [readonly [unknown, unknown]] ? ["The assertion is useless because the provided value is already a non-empty array."] : [string]

asserts value is T & (T extends readonly E[] ? [E, ...E[]] : [unknown, ...unknown[]])


function assertArrayNumber<T>(
value,
...__namedParameters
): asserts value is T & number[];

Defined in: functions/assert.ts:98

Helper function to throw an error if the provided value is not an array with every element being a number.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [readonly number[]] ? ["The assertion is useless because the provided value is already a number array."] : [string]

asserts value is T & number[]


function assertArrayObject<T>(
value,
...__namedParameters
): asserts value is T & Record<string, unknown>[];

Defined in: functions/assert.ts:119

Helper function to throw an error if the provided value is not an array with every element being an object (i.e., a TypeScript record).

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [readonly Record<string, unknown>[]] ? ["The assertion is useless because the provided value is already an object array."] : [string]

asserts value is T & Record<string, unknown>[]


function assertArrayString<T>(
value,
...__namedParameters
): asserts value is T & string[];

Defined in: functions/assert.ts:140

Helper function to throw an error if the provided value is not an array with every element being a string.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [readonly string[]] ? ["The assertion is useless because the provided value is already a string array."] : [string]

asserts value is T & string[]


function assertBoolean<T>(
value,
...__namedParameters
): asserts value is T & boolean;

Defined in: functions/assert.ts:158

Helper function to throw an error if the provided value is not a boolean.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [boolean] ? ["The assertion is useless because the provided value is already a boolean."] : [string]

asserts value is T & boolean


function assertDefined<T>(
value,
...__namedParameters
): asserts value is Exclude<T, undefined>;

Defined in: functions/assert.ts:176

Helper function to throw an error if the provided value is equal to undefined.

This is useful to have TypeScript narrow a T | undefined value to T in a concise way.

Type Parameter
T
Parameter Type
value T
__namedParameters [undefined] extends [T] ? [string] : ["The assertion is useless because the provided value does not contain undefined."]

asserts value is Exclude<T, undefined>


function assertEnumValue<T>(
value,
transpiledEnum,
msg,
set?,
): asserts value is T[keyof T];

Defined in: functions/assert.ts:199

Helper function to throw an error if the provided value is not contained within an enum.

Type Parameter
T extends TranspiledEnum
Parameter Type Description
value string | number The value to check.
transpiledEnum T The enum to check against.
msg string The error message to throw if the check fails.
set? ReadonlySet<string | number> Optional. A set that contains all of the values of an enum. If provided, this function will check for existence using the set (instead of the enum itself). Using a set should be more performant for enums with around 52 or more elements.

asserts value is T[keyof T]


function assertInteger(value, msg): asserts value is number;

Defined in: functions/assert.ts:211

Helper function to throw an error if the provided value is not an integer.

Parameter Type
value unknown
msg string

asserts value is number


function assertIs<T>(value, constructor, msg): asserts value is InstanceType<T>;

Defined in: functions/assert.ts:227

Helper function to throw an error if the provided value is not an instance of the expected class.

This is useful to have TypeScript narrow a value to a specific type in a concise way.

Type Parameter
T extends (…args) => unknown
Parameter Type
value unknown
constructor T
msg string

asserts value is InstanceType<T>


function assertNotNull<T>(
value,
...__namedParameters
): asserts value is Exclude<T, null>;

Defined in: functions/assert.ts:244

Helper function to throw an error if the provided value is equal to null.

This is useful to have TypeScript narrow a T | null value to T in a concise way.

Type Parameter
T
Parameter Type
value T
__namedParameters [null] extends [T] ? [string] : ["The assertion is useless because the provided value does not contain null."]

asserts value is Exclude<T, null>


function assertNumber<T>(
value,
...__namedParameters
): asserts value is T & number;

Defined in: functions/assert.ts:258

Helper function to throw an error if the provided value is not a number.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [number] ? ["The assertion is useless because the provided value is already a number."] : [string]

asserts value is T & number


function assertObject<T>(
value,
...__namedParameters
): asserts value is T & Record<string, unknown>;

Defined in: functions/assert.ts:280

Helper function to throw an error if the provided value is not an object (i.e., a TypeScript record).

This is useful to have TypeScript narrow a Record<string, unknown> | undefined value to Record<string, unknown> in a concise way.

Under the hood, this function uses the isObject helper function.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [Record<string, unknown>] ? ["The assertion is useless because the provided value is already an object."] : [string]

asserts value is T & Record<string, unknown>


function assertPositiveInteger(value, msg): asserts value is number;

Defined in: functions/assert.ts:294

Helper function to throw an error if the provided value is not a positive integer.

Parameter Type
value unknown
msg string

asserts value is number


function assertString<T>(
value,
...__namedParameters
): asserts value is T & string;

Defined in: functions/assert.ts:306

Helper function to throw an error if the provided value is not a string.

Type Parameter
T
Parameter Type
value T
__namedParameters [T] extends [string] ? ["The assertion is useless because the provided value is already a string."] : [string]

asserts value is T & string


function assertStringNotEmpty(value, msg): asserts value is string;

Defined in: functions/assert.ts:320

Helper function to throw an error if the provided value is not a string or an empty string.

Parameter Type
value unknown
msg string

asserts value is string