Allow custom assertion messages
Unfortunately, the variadic functions `assertAll` & `assertAny` cannot have a custom assertion message without a breaking change.
This commit is contained in:
parent
664b9077e1
commit
d9619cdc01
2 changed files with 625 additions and 268 deletions
536
source/index.ts
536
source/index.ts
|
|
@ -824,116 +824,116 @@ function typeErrorMessageMultipleValues(expectedType: AssertionTypeDescription |
|
||||||
// Type assertions have to be declared with an explicit type.
|
// Type assertions have to be declared with an explicit type.
|
||||||
type Assert = {
|
type Assert = {
|
||||||
// Unknowns.
|
// Unknowns.
|
||||||
undefined: (value: unknown) => asserts value is undefined;
|
undefined: (value: unknown, message?: string) => asserts value is undefined;
|
||||||
string: (value: unknown) => asserts value is string;
|
string: (value: unknown, message?: string) => asserts value is string;
|
||||||
number: (value: unknown) => asserts value is number;
|
number: (value: unknown, message?: string) => asserts value is number;
|
||||||
positiveNumber: (value: unknown) => asserts value is number;
|
positiveNumber: (value: unknown, message?: string) => asserts value is number;
|
||||||
negativeNumber: (value: unknown) => asserts value is number;
|
negativeNumber: (value: unknown, message?: string) => asserts value is number;
|
||||||
bigint: (value: unknown) => asserts value is bigint;
|
bigint: (value: unknown, message?: string) => asserts value is bigint;
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
function: (value: unknown) => asserts value is Function;
|
function: (value: unknown, message?: string) => asserts value is Function;
|
||||||
/** @deprecated Renamed to `function`. */
|
/** @deprecated Renamed to `function`. */
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
function_: (value: unknown) => asserts value is Function;
|
function_: (value: unknown, message?: string) => asserts value is Function;
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
null: (value: unknown) => asserts value is null;
|
null: (value: unknown, message?: string) => asserts value is null;
|
||||||
/** @deprecated Renamed to `null`. */
|
/** @deprecated Renamed to `null`. */
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
null_: (value: unknown) => asserts value is null;
|
null_: (value: unknown, message?: string) => asserts value is null;
|
||||||
class: (value: unknown) => asserts value is Class;
|
class: (value: unknown, message?: string) => asserts value is Class;
|
||||||
/** @deprecated Renamed to `class`. */
|
/** @deprecated Renamed to `class`. */
|
||||||
class_: (value: unknown) => asserts value is Class;
|
class_: (value: unknown, message?: string) => asserts value is Class;
|
||||||
boolean: (value: unknown) => asserts value is boolean;
|
boolean: (value: unknown, message?: string) => asserts value is boolean;
|
||||||
symbol: (value: unknown) => asserts value is symbol;
|
symbol: (value: unknown, message?: string) => asserts value is symbol;
|
||||||
numericString: (value: unknown) => asserts value is `${number}`;
|
numericString: (value: unknown, message?: string) => asserts value is `${number}`;
|
||||||
array: <T = unknown>(value: unknown, assertion?: (element: unknown) => asserts element is T) => asserts value is T[];
|
array: <T = unknown>(value: unknown, assertion?: (element: unknown) => asserts element is T, message?: string) => asserts value is T[];
|
||||||
buffer: (value: unknown) => asserts value is Buffer;
|
buffer: (value: unknown, message?: string) => asserts value is Buffer;
|
||||||
blob: (value: unknown) => asserts value is Blob;
|
blob: (value: unknown, message?: string) => asserts value is Blob;
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
nullOrUndefined: (value: unknown) => asserts value is null | undefined;
|
nullOrUndefined: (value: unknown, message?: string) => asserts value is null | undefined;
|
||||||
object: <Key extends keyof any = string, Value = unknown>(value: unknown) => asserts value is Record<Key, Value>;
|
object: <Key extends keyof any = string, Value = unknown>(value: unknown, message?: string) => asserts value is Record<Key, Value>;
|
||||||
iterable: <T = unknown>(value: unknown) => asserts value is Iterable<T>;
|
iterable: <T = unknown>(value: unknown, message?: string) => asserts value is Iterable<T>;
|
||||||
asyncIterable: <T = unknown>(value: unknown) => asserts value is AsyncIterable<T>;
|
asyncIterable: <T = unknown>(value: unknown, message?: string) => asserts value is AsyncIterable<T>;
|
||||||
generator: (value: unknown) => asserts value is Generator;
|
generator: (value: unknown, message?: string) => asserts value is Generator;
|
||||||
asyncGenerator: (value: unknown) => asserts value is AsyncGenerator;
|
asyncGenerator: (value: unknown, message?: string) => asserts value is AsyncGenerator;
|
||||||
nativePromise: <T = unknown>(value: unknown) => asserts value is Promise<T>;
|
nativePromise: <T = unknown>(value: unknown, message?: string) => asserts value is Promise<T>;
|
||||||
promise: <T = unknown>(value: unknown) => asserts value is Promise<T>;
|
promise: <T = unknown>(value: unknown, message?: string) => asserts value is Promise<T>;
|
||||||
generatorFunction: (value: unknown) => asserts value is GeneratorFunction;
|
generatorFunction: (value: unknown, message?: string) => asserts value is GeneratorFunction;
|
||||||
asyncGeneratorFunction: (value: unknown) => asserts value is AsyncGeneratorFunction;
|
asyncGeneratorFunction: (value: unknown, message?: string) => asserts value is AsyncGeneratorFunction;
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
asyncFunction: (value: unknown) => asserts value is Function;
|
asyncFunction: (value: unknown, message?: string) => asserts value is Function;
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
boundFunction: (value: unknown) => asserts value is Function;
|
boundFunction: (value: unknown, message?: string) => asserts value is Function;
|
||||||
regExp: (value: unknown) => asserts value is RegExp;
|
regExp: (value: unknown, message?: string) => asserts value is RegExp;
|
||||||
date: (value: unknown) => asserts value is Date;
|
date: (value: unknown, message?: string) => asserts value is Date;
|
||||||
error: (value: unknown) => asserts value is Error;
|
error: (value: unknown, message?: string) => asserts value is Error;
|
||||||
map: <Key = unknown, Value = unknown>(value: unknown) => asserts value is Map<Key, Value>;
|
map: <Key = unknown, Value = unknown>(value: unknown, message?: string) => asserts value is Map<Key, Value>;
|
||||||
set: <T = unknown>(value: unknown) => asserts value is Set<T>;
|
set: <T = unknown>(value: unknown, message?: string) => asserts value is Set<T>;
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
weakMap: <Key extends object = object, Value = unknown>(value: unknown) => asserts value is WeakMap<Key, Value>;
|
weakMap: <Key extends object = object, Value = unknown>(value: unknown, message?: string) => asserts value is WeakMap<Key, Value>;
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
weakSet: <T extends object = object>(value: unknown) => asserts value is WeakSet<T>;
|
weakSet: <T extends object = object>(value: unknown, message?: string) => asserts value is WeakSet<T>;
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
weakRef: <T extends object = object>(value: unknown) => asserts value is WeakRef<T>;
|
weakRef: <T extends object = object>(value: unknown, message?: string) => asserts value is WeakRef<T>;
|
||||||
int8Array: (value: unknown) => asserts value is Int8Array;
|
int8Array: (value: unknown, message?: string) => asserts value is Int8Array;
|
||||||
uint8Array: (value: unknown) => asserts value is Uint8Array;
|
uint8Array: (value: unknown, message?: string) => asserts value is Uint8Array;
|
||||||
uint8ClampedArray: (value: unknown) => asserts value is Uint8ClampedArray;
|
uint8ClampedArray: (value: unknown, message?: string) => asserts value is Uint8ClampedArray;
|
||||||
int16Array: (value: unknown) => asserts value is Int16Array;
|
int16Array: (value: unknown, message?: string) => asserts value is Int16Array;
|
||||||
uint16Array: (value: unknown) => asserts value is Uint16Array;
|
uint16Array: (value: unknown, message?: string) => asserts value is Uint16Array;
|
||||||
int32Array: (value: unknown) => asserts value is Int32Array;
|
int32Array: (value: unknown, message?: string) => asserts value is Int32Array;
|
||||||
uint32Array: (value: unknown) => asserts value is Uint32Array;
|
uint32Array: (value: unknown, message?: string) => asserts value is Uint32Array;
|
||||||
float32Array: (value: unknown) => asserts value is Float32Array;
|
float32Array: (value: unknown, message?: string) => asserts value is Float32Array;
|
||||||
float64Array: (value: unknown) => asserts value is Float64Array;
|
float64Array: (value: unknown, message?: string) => asserts value is Float64Array;
|
||||||
bigInt64Array: (value: unknown) => asserts value is BigInt64Array;
|
bigInt64Array: (value: unknown, message?: string) => asserts value is BigInt64Array;
|
||||||
bigUint64Array: (value: unknown) => asserts value is BigUint64Array;
|
bigUint64Array: (value: unknown, message?: string) => asserts value is BigUint64Array;
|
||||||
arrayBuffer: (value: unknown) => asserts value is ArrayBuffer;
|
arrayBuffer: (value: unknown, message?: string) => asserts value is ArrayBuffer;
|
||||||
sharedArrayBuffer: (value: unknown) => asserts value is SharedArrayBuffer;
|
sharedArrayBuffer: (value: unknown, message?: string) => asserts value is SharedArrayBuffer;
|
||||||
dataView: (value: unknown) => asserts value is DataView;
|
dataView: (value: unknown, message?: string) => asserts value is DataView;
|
||||||
enumCase: <T = unknown>(value: unknown, targetEnum: T) => asserts value is T[keyof T];
|
enumCase: <T = unknown>(value: unknown, targetEnum: T, message?: string) => asserts value is T[keyof T];
|
||||||
urlInstance: (value: unknown) => asserts value is URL;
|
urlInstance: (value: unknown, message?: string) => asserts value is URL;
|
||||||
urlString: (value: unknown) => asserts value is string;
|
urlString: (value: unknown, message?: string) => asserts value is string;
|
||||||
truthy: <T>(value: T | Falsy) => asserts value is T;
|
truthy: <T>(value: T | Falsy, message?: string) => asserts value is T;
|
||||||
falsy: (value: unknown) => asserts value is Falsy;
|
falsy: (value: unknown, message?: string) => asserts value is Falsy;
|
||||||
nan: (value: unknown) => asserts value is number;
|
nan: (value: unknown, message?: string) => asserts value is number;
|
||||||
primitive: (value: unknown) => asserts value is Primitive;
|
primitive: (value: unknown, message?: string) => asserts value is Primitive;
|
||||||
integer: (value: unknown) => asserts value is number;
|
integer: (value: unknown, message?: string) => asserts value is number;
|
||||||
safeInteger: (value: unknown) => asserts value is number;
|
safeInteger: (value: unknown, message?: string) => asserts value is number;
|
||||||
plainObject: <Value = unknown>(value: unknown) => asserts value is Record<PropertyKey, Value>;
|
plainObject: <Value = unknown>(value: unknown, message?: string) => asserts value is Record<PropertyKey, Value>;
|
||||||
typedArray: (value: unknown) => asserts value is TypedArray;
|
typedArray: (value: unknown, message?: string) => asserts value is TypedArray;
|
||||||
arrayLike: <T = unknown>(value: unknown) => asserts value is ArrayLike<T>;
|
arrayLike: <T = unknown>(value: unknown, message?: string) => asserts value is ArrayLike<T>;
|
||||||
tupleLike: <T extends Array<TypeGuard<unknown>>>(value: unknown, guards: [...T]) => asserts value is ResolveTypesOfTypeGuardsTuple<T>;
|
tupleLike: <T extends Array<TypeGuard<unknown>>>(value: unknown, guards: [...T], message?: string) => asserts value is ResolveTypesOfTypeGuardsTuple<T>;
|
||||||
/** @deprecated Renamed to `htmlElement` */
|
/** @deprecated Renamed to `htmlElement` */
|
||||||
domElement: (value: unknown) => asserts value is HTMLElement;
|
domElement: (value: unknown, message?: string) => asserts value is HTMLElement;
|
||||||
htmlElement: (value: unknown) => asserts value is HTMLElement;
|
htmlElement: (value: unknown, message?: string) => asserts value is HTMLElement;
|
||||||
observable: (value: unknown) => asserts value is ObservableLike;
|
observable: (value: unknown, message?: string) => asserts value is ObservableLike;
|
||||||
nodeStream: (value: unknown) => asserts value is NodeStream;
|
nodeStream: (value: unknown, message?: string) => asserts value is NodeStream;
|
||||||
infinite: (value: unknown) => asserts value is number;
|
infinite: (value: unknown, message?: string) => asserts value is number;
|
||||||
emptyArray: (value: unknown) => asserts value is never[];
|
emptyArray: (value: unknown, message?: string) => asserts value is never[];
|
||||||
nonEmptyArray: <T = unknown, Item = unknown>(value: T | Item[]) => asserts value is [Item, ...Item[]];
|
nonEmptyArray: <T = unknown, Item = unknown>(value: T | Item[], message?: string) => asserts value is [Item, ...Item[]];
|
||||||
emptyString: (value: unknown) => asserts value is '';
|
emptyString: (value: unknown, message?: string) => asserts value is '';
|
||||||
emptyStringOrWhitespace: (value: unknown) => asserts value is string;
|
emptyStringOrWhitespace: (value: unknown, message?: string) => asserts value is string;
|
||||||
nonEmptyString: (value: unknown) => asserts value is string;
|
nonEmptyString: (value: unknown, message?: string) => asserts value is string;
|
||||||
nonEmptyStringAndNotWhitespace: (value: unknown) => asserts value is string;
|
nonEmptyStringAndNotWhitespace: (value: unknown, message?: string) => asserts value is string;
|
||||||
emptyObject: <Key extends keyof any = string>(value: unknown) => asserts value is Record<Key, never>;
|
emptyObject: <Key extends keyof any = string>(value: unknown, message?: string) => asserts value is Record<Key, never>;
|
||||||
nonEmptyObject: <Key extends keyof any = string, Value = unknown>(value: unknown) => asserts value is Record<Key, Value>;
|
nonEmptyObject: <Key extends keyof any = string, Value = unknown>(value: unknown, message?: string) => asserts value is Record<Key, Value>;
|
||||||
emptySet: (value: unknown) => asserts value is Set<never>;
|
emptySet: (value: unknown, message?: string) => asserts value is Set<never>;
|
||||||
nonEmptySet: <T = unknown>(value: unknown) => asserts value is Set<T>;
|
nonEmptySet: <T = unknown>(value: unknown, message?: string) => asserts value is Set<T>;
|
||||||
emptyMap: (value: unknown) => asserts value is Map<never, never>;
|
emptyMap: (value: unknown, message?: string) => asserts value is Map<never, never>;
|
||||||
nonEmptyMap: <Key = unknown, Value = unknown>(value: unknown) => asserts value is Map<Key, Value>;
|
nonEmptyMap: <Key = unknown, Value = unknown>(value: unknown, message?: string) => asserts value is Map<Key, Value>;
|
||||||
propertyKey: (value: unknown) => asserts value is PropertyKey;
|
propertyKey: (value: unknown, message?: string) => asserts value is PropertyKey;
|
||||||
formData: (value: unknown) => asserts value is FormData;
|
formData: (value: unknown, message?: string) => asserts value is FormData;
|
||||||
urlSearchParams: (value: unknown) => asserts value is URLSearchParams;
|
urlSearchParams: (value: unknown, message?: string) => asserts value is URLSearchParams;
|
||||||
validDate: (value: unknown) => asserts value is Date;
|
validDate: (value: unknown, message?: string) => asserts value is Date;
|
||||||
validLength: (value: unknown) => asserts value is number;
|
validLength: (value: unknown, message?: string) => asserts value is number;
|
||||||
whitespaceString: (value: unknown) => asserts value is string;
|
whitespaceString: (value: unknown, message?: string) => asserts value is string;
|
||||||
|
|
||||||
// Numbers.
|
// Numbers.
|
||||||
evenInteger: (value: number) => asserts value is number;
|
evenInteger: (value: number, message?: string) => asserts value is number;
|
||||||
oddInteger: (value: number) => asserts value is number;
|
oddInteger: (value: number, message?: string) => asserts value is number;
|
||||||
|
|
||||||
// Two arguments.
|
// Two arguments.
|
||||||
directInstanceOf: <T>(instance: unknown, class_: Class<T>) => asserts instance is T;
|
directInstanceOf: <T>(instance: unknown, class_: Class<T>, message?: string) => asserts instance is T;
|
||||||
inRange: (value: number, range: number | [number, number]) => asserts value is number;
|
inRange: (value: number, range: number | [number, number], message?: string) => asserts value is number;
|
||||||
|
|
||||||
// Variadic functions.
|
// Variadic functions.
|
||||||
any: (predicate: Predicate | Predicate[], ...values: unknown[]) => void | never;
|
any: (predicate: Predicate | Predicate[], ...values: unknown[]) => void | never;
|
||||||
|
|
@ -1156,9 +1156,9 @@ export function assertAny(predicate: Predicate | Predicate[], ...values: unknown
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertArray<T = unknown>(value: unknown, assertion?: (element: unknown) => asserts element is T): asserts value is T[] {
|
export function assertArray<T = unknown>(value: unknown, assertion?: (element: unknown) => asserts element is T, message?: string): asserts value is T[] {
|
||||||
if (!isArray(value)) {
|
if (!isArray(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Array', value));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (assertion) {
|
if (assertion) {
|
||||||
|
|
@ -1167,535 +1167,535 @@ export function assertArray<T = unknown>(value: unknown, assertion?: (element: u
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertArrayBuffer(value: unknown): asserts value is ArrayBuffer {
|
export function assertArrayBuffer(value: unknown, message?: string): asserts value is ArrayBuffer {
|
||||||
if (!isArrayBuffer(value)) {
|
if (!isArrayBuffer(value)) {
|
||||||
throw new TypeError(typeErrorMessage('ArrayBuffer', value));
|
throw new TypeError(message ?? typeErrorMessage('ArrayBuffer', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertArrayLike<T = unknown>(value: unknown): asserts value is ArrayLike<T> {
|
export function assertArrayLike<T = unknown>(value: unknown, message?: string): asserts value is ArrayLike<T> {
|
||||||
if (!isArrayLike(value)) {
|
if (!isArrayLike(value)) {
|
||||||
throw new TypeError(typeErrorMessage('array-like', value));
|
throw new TypeError(message ?? typeErrorMessage('array-like', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertAsyncFunction(value: unknown): asserts value is Function {
|
export function assertAsyncFunction(value: unknown, message?: string): asserts value is Function {
|
||||||
if (!isAsyncFunction(value)) {
|
if (!isAsyncFunction(value)) {
|
||||||
throw new TypeError(typeErrorMessage('AsyncFunction', value));
|
throw new TypeError(message ?? typeErrorMessage('AsyncFunction', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertAsyncGenerator(value: unknown): asserts value is AsyncGenerator {
|
export function assertAsyncGenerator(value: unknown, message?: string): asserts value is AsyncGenerator {
|
||||||
if (!isAsyncGenerator(value)) {
|
if (!isAsyncGenerator(value)) {
|
||||||
throw new TypeError(typeErrorMessage('AsyncGenerator', value));
|
throw new TypeError(message ?? typeErrorMessage('AsyncGenerator', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertAsyncGeneratorFunction(value: unknown): asserts value is AsyncGeneratorFunction {
|
export function assertAsyncGeneratorFunction(value: unknown, message?: string): asserts value is AsyncGeneratorFunction {
|
||||||
if (!isAsyncGeneratorFunction(value)) {
|
if (!isAsyncGeneratorFunction(value)) {
|
||||||
throw new TypeError(typeErrorMessage('AsyncGeneratorFunction', value));
|
throw new TypeError(message ?? typeErrorMessage('AsyncGeneratorFunction', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertAsyncIterable<T = unknown>(value: unknown): asserts value is AsyncIterable<T> {
|
export function assertAsyncIterable<T = unknown>(value: unknown, message?: string): asserts value is AsyncIterable<T> {
|
||||||
if (!isAsyncIterable(value)) {
|
if (!isAsyncIterable(value)) {
|
||||||
throw new TypeError(typeErrorMessage('AsyncIterable', value));
|
throw new TypeError(message ?? typeErrorMessage('AsyncIterable', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertBigint(value: unknown): asserts value is bigint {
|
export function assertBigint(value: unknown, message?: string): asserts value is bigint {
|
||||||
if (!isBigint(value)) {
|
if (!isBigint(value)) {
|
||||||
throw new TypeError(typeErrorMessage('bigint', value));
|
throw new TypeError(message ?? typeErrorMessage('bigint', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertBigInt64Array(value: unknown): asserts value is BigInt64Array {
|
export function assertBigInt64Array(value: unknown, message?: string): asserts value is BigInt64Array {
|
||||||
if (!isBigInt64Array(value)) {
|
if (!isBigInt64Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('BigInt64Array', value));
|
throw new TypeError(message ?? typeErrorMessage('BigInt64Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertBigUint64Array(value: unknown): asserts value is BigUint64Array {
|
export function assertBigUint64Array(value: unknown, message?: string): asserts value is BigUint64Array {
|
||||||
if (!isBigUint64Array(value)) {
|
if (!isBigUint64Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('BigUint64Array', value));
|
throw new TypeError(message ?? typeErrorMessage('BigUint64Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertBlob(value: unknown): asserts value is Blob {
|
export function assertBlob(value: unknown, message?: string): asserts value is Blob {
|
||||||
if (!isBlob(value)) {
|
if (!isBlob(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Blob', value));
|
throw new TypeError(message ?? typeErrorMessage('Blob', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertBoolean(value: unknown): asserts value is boolean {
|
export function assertBoolean(value: unknown, message?: string): asserts value is boolean {
|
||||||
if (!isBoolean(value)) {
|
if (!isBoolean(value)) {
|
||||||
throw new TypeError(typeErrorMessage('boolean', value));
|
throw new TypeError(message ?? typeErrorMessage('boolean', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertBoundFunction(value: unknown): asserts value is Function {
|
export function assertBoundFunction(value: unknown, message?: string): asserts value is Function {
|
||||||
if (!isBoundFunction(value)) {
|
if (!isBoundFunction(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Function', value));
|
throw new TypeError(message ?? typeErrorMessage('Function', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertBuffer(value: unknown): asserts value is Buffer {
|
export function assertBuffer(value: unknown, message?: string): asserts value is Buffer {
|
||||||
if (!isBuffer(value)) {
|
if (!isBuffer(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Buffer', value));
|
throw new TypeError(message ?? typeErrorMessage('Buffer', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertClass(value: unknown): asserts value is Class {
|
export function assertClass(value: unknown, message?: string): asserts value is Class {
|
||||||
if (!isClass(value)) {
|
if (!isClass(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Class', value));
|
throw new TypeError(message ?? typeErrorMessage('Class', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertDataView(value: unknown): asserts value is DataView {
|
export function assertDataView(value: unknown, message?: string): asserts value is DataView {
|
||||||
if (!isDataView(value)) {
|
if (!isDataView(value)) {
|
||||||
throw new TypeError(typeErrorMessage('DataView', value));
|
throw new TypeError(message ?? typeErrorMessage('DataView', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertDate(value: unknown): asserts value is Date {
|
export function assertDate(value: unknown, message?: string): asserts value is Date {
|
||||||
if (!isDate(value)) {
|
if (!isDate(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Date', value));
|
throw new TypeError(message ?? typeErrorMessage('Date', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertDirectInstanceOf<T>(instance: unknown, class_: Class<T>): asserts instance is T {
|
export function assertDirectInstanceOf<T>(instance: unknown, class_: Class<T>, message?: string): asserts instance is T {
|
||||||
if (!isDirectInstanceOf(instance, class_)) {
|
if (!isDirectInstanceOf(instance, class_)) {
|
||||||
throw new TypeError(typeErrorMessage('T', instance));
|
throw new TypeError(message ?? typeErrorMessage('T', instance));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertEmptyArray(value: unknown): asserts value is never[] {
|
export function assertEmptyArray(value: unknown, message?: string): asserts value is never[] {
|
||||||
if (!isEmptyArray(value)) {
|
if (!isEmptyArray(value)) {
|
||||||
throw new TypeError(typeErrorMessage('empty array', value));
|
throw new TypeError(message ?? typeErrorMessage('empty array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertEmptyMap(value: unknown): asserts value is Map<never, never> {
|
export function assertEmptyMap(value: unknown, message?: string): asserts value is Map<never, never> {
|
||||||
if (!isEmptyMap(value)) {
|
if (!isEmptyMap(value)) {
|
||||||
throw new TypeError(typeErrorMessage('empty map', value));
|
throw new TypeError(message ?? typeErrorMessage('empty map', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertEmptyObject<Key extends keyof any = string>(value: unknown): asserts value is Record<Key, never> {
|
export function assertEmptyObject<Key extends keyof any = string>(value: unknown, message?: string): asserts value is Record<Key, never> {
|
||||||
if (!isEmptyObject(value)) {
|
if (!isEmptyObject(value)) {
|
||||||
throw new TypeError(typeErrorMessage('empty object', value));
|
throw new TypeError(message ?? typeErrorMessage('empty object', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertEmptySet(value: unknown): asserts value is Set<never> {
|
export function assertEmptySet(value: unknown, message?: string): asserts value is Set<never> {
|
||||||
if (!isEmptySet(value)) {
|
if (!isEmptySet(value)) {
|
||||||
throw new TypeError(typeErrorMessage('empty set', value));
|
throw new TypeError(message ?? typeErrorMessage('empty set', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertEmptyString(value: unknown): asserts value is '' {
|
export function assertEmptyString(value: unknown, message?: string): asserts value is '' {
|
||||||
if (!isEmptyString(value)) {
|
if (!isEmptyString(value)) {
|
||||||
throw new TypeError(typeErrorMessage('empty string', value));
|
throw new TypeError(message ?? typeErrorMessage('empty string', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertEmptyStringOrWhitespace(value: unknown): asserts value is string {
|
export function assertEmptyStringOrWhitespace(value: unknown, message?: string): asserts value is string {
|
||||||
if (!isEmptyStringOrWhitespace(value)) {
|
if (!isEmptyStringOrWhitespace(value)) {
|
||||||
throw new TypeError(typeErrorMessage('empty string or whitespace', value));
|
throw new TypeError(message ?? typeErrorMessage('empty string or whitespace', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertEnumCase<T = unknown>(value: unknown, targetEnum: T): asserts value is T[keyof T] {
|
export function assertEnumCase<T = unknown>(value: unknown, targetEnum: T, message?: string): asserts value is T[keyof T] {
|
||||||
if (!isEnumCase(value, targetEnum)) {
|
if (!isEnumCase(value, targetEnum)) {
|
||||||
throw new TypeError(typeErrorMessage('EnumCase', value));
|
throw new TypeError(message ?? typeErrorMessage('EnumCase', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertError(value: unknown): asserts value is Error {
|
export function assertError(value: unknown, message?: string): asserts value is Error {
|
||||||
if (!isError(value)) {
|
if (!isError(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Error', value));
|
throw new TypeError(message ?? typeErrorMessage('Error', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertEvenInteger(value: number): asserts value is number {
|
export function assertEvenInteger(value: number, message?: string): asserts value is number {
|
||||||
if (!isEvenInteger(value)) {
|
if (!isEvenInteger(value)) {
|
||||||
throw new TypeError(typeErrorMessage('even integer', value));
|
throw new TypeError(message ?? typeErrorMessage('even integer', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertFalsy(value: unknown): asserts value is Falsy {
|
export function assertFalsy(value: unknown, message?: string): asserts value is Falsy {
|
||||||
if (!isFalsy(value)) {
|
if (!isFalsy(value)) {
|
||||||
throw new TypeError(typeErrorMessage('falsy', value));
|
throw new TypeError(message ?? typeErrorMessage('falsy', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertFloat32Array(value: unknown): asserts value is Float32Array {
|
export function assertFloat32Array(value: unknown, message?: string): asserts value is Float32Array {
|
||||||
if (!isFloat32Array(value)) {
|
if (!isFloat32Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Float32Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Float32Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertFloat64Array(value: unknown): asserts value is Float64Array {
|
export function assertFloat64Array(value: unknown, message?: string): asserts value is Float64Array {
|
||||||
if (!isFloat64Array(value)) {
|
if (!isFloat64Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Float64Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Float64Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertFormData(value: unknown): asserts value is FormData {
|
export function assertFormData(value: unknown, message?: string): asserts value is FormData {
|
||||||
if (!isFormData(value)) {
|
if (!isFormData(value)) {
|
||||||
throw new TypeError(typeErrorMessage('FormData', value));
|
throw new TypeError(message ?? typeErrorMessage('FormData', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertFunction(value: unknown): asserts value is Function {
|
export function assertFunction(value: unknown, message?: string): asserts value is Function {
|
||||||
if (!isFunction(value)) {
|
if (!isFunction(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Function', value));
|
throw new TypeError(message ?? typeErrorMessage('Function', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertGenerator(value: unknown): asserts value is Generator {
|
export function assertGenerator(value: unknown, message?: string): asserts value is Generator {
|
||||||
if (!isGenerator(value)) {
|
if (!isGenerator(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Generator', value));
|
throw new TypeError(message ?? typeErrorMessage('Generator', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertGeneratorFunction(value: unknown): asserts value is GeneratorFunction {
|
export function assertGeneratorFunction(value: unknown, message?: string): asserts value is GeneratorFunction {
|
||||||
if (!isGeneratorFunction(value)) {
|
if (!isGeneratorFunction(value)) {
|
||||||
throw new TypeError(typeErrorMessage('GeneratorFunction', value));
|
throw new TypeError(message ?? typeErrorMessage('GeneratorFunction', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertHtmlElement(value: unknown): asserts value is HTMLElement {
|
export function assertHtmlElement(value: unknown, message?: string): asserts value is HTMLElement {
|
||||||
if (!isHtmlElement(value)) {
|
if (!isHtmlElement(value)) {
|
||||||
throw new TypeError(typeErrorMessage('HTMLElement', value));
|
throw new TypeError(message ?? typeErrorMessage('HTMLElement', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertInfinite(value: unknown): asserts value is number {
|
export function assertInfinite(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isInfinite(value)) {
|
if (!isInfinite(value)) {
|
||||||
throw new TypeError(typeErrorMessage('infinite number', value));
|
throw new TypeError(message ?? typeErrorMessage('infinite number', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertInRange(value: number, range: number | [number, number]): asserts value is number {
|
export function assertInRange(value: number, range: number | [number, number], message?: string): asserts value is number {
|
||||||
if (!isInRange(value, range)) {
|
if (!isInRange(value, range)) {
|
||||||
throw new TypeError(typeErrorMessage('in range', value));
|
throw new TypeError(message ?? typeErrorMessage('in range', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertInt16Array(value: unknown): asserts value is Int16Array {
|
export function assertInt16Array(value: unknown, message?: string): asserts value is Int16Array {
|
||||||
if (!isInt16Array(value)) {
|
if (!isInt16Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Int16Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Int16Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertInt32Array(value: unknown): asserts value is Int32Array {
|
export function assertInt32Array(value: unknown, message?: string): asserts value is Int32Array {
|
||||||
if (!isInt32Array(value)) {
|
if (!isInt32Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Int32Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Int32Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertInt8Array(value: unknown): asserts value is Int8Array {
|
export function assertInt8Array(value: unknown, message?: string): asserts value is Int8Array {
|
||||||
if (!isInt8Array(value)) {
|
if (!isInt8Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Int8Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Int8Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertInteger(value: unknown): asserts value is number {
|
export function assertInteger(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isInteger(value)) {
|
if (!isInteger(value)) {
|
||||||
throw new TypeError(typeErrorMessage('integer', value));
|
throw new TypeError(message ?? typeErrorMessage('integer', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertIterable<T = unknown>(value: unknown): asserts value is Iterable<T> {
|
export function assertIterable<T = unknown>(value: unknown, message?: string): asserts value is Iterable<T> {
|
||||||
if (!isIterable(value)) {
|
if (!isIterable(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Iterable', value));
|
throw new TypeError(message ?? typeErrorMessage('Iterable', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertMap<Key = unknown, Value = unknown>(value: unknown): asserts value is Map<Key, Value> {
|
export function assertMap<Key = unknown, Value = unknown>(value: unknown, message?: string): asserts value is Map<Key, Value> {
|
||||||
if (!isMap(value)) {
|
if (!isMap(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Map', value));
|
throw new TypeError(message ?? typeErrorMessage('Map', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNan(value: unknown): asserts value is number {
|
export function assertNan(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isNan(value)) {
|
if (!isNan(value)) {
|
||||||
throw new TypeError(typeErrorMessage('NaN', value));
|
throw new TypeError(message ?? typeErrorMessage('NaN', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNativePromise<T = unknown>(value: unknown): asserts value is Promise<T> {
|
export function assertNativePromise<T = unknown>(value: unknown, message?: string): asserts value is Promise<T> {
|
||||||
if (!isNativePromise(value)) {
|
if (!isNativePromise(value)) {
|
||||||
throw new TypeError(typeErrorMessage('native Promise', value));
|
throw new TypeError(message ?? typeErrorMessage('native Promise', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNegativeNumber(value: unknown): asserts value is number {
|
export function assertNegativeNumber(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isNegativeNumber(value)) {
|
if (!isNegativeNumber(value)) {
|
||||||
throw new TypeError(typeErrorMessage('negative number', value));
|
throw new TypeError(message ?? typeErrorMessage('negative number', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNodeStream(value: unknown): asserts value is NodeStream {
|
export function assertNodeStream(value: unknown, message?: string): asserts value is NodeStream {
|
||||||
if (!isNodeStream(value)) {
|
if (!isNodeStream(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Node.js Stream', value));
|
throw new TypeError(message ?? typeErrorMessage('Node.js Stream', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNonEmptyArray<T = unknown, Item = unknown>(value: T | Item[]): asserts value is [Item, ...Item[]] {
|
export function assertNonEmptyArray<T = unknown, Item = unknown>(value: T | Item[], message?: string): asserts value is [Item, ...Item[]] {
|
||||||
if (!isNonEmptyArray(value)) {
|
if (!isNonEmptyArray(value)) {
|
||||||
throw new TypeError(typeErrorMessage('non-empty array', value));
|
throw new TypeError(message ?? typeErrorMessage('non-empty array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNonEmptyMap<Key = unknown, Value = unknown>(value: unknown): asserts value is Map<Key, Value> {
|
export function assertNonEmptyMap<Key = unknown, Value = unknown>(value: unknown, message?: string): asserts value is Map<Key, Value> {
|
||||||
if (!isNonEmptyMap(value)) {
|
if (!isNonEmptyMap(value)) {
|
||||||
throw new TypeError(typeErrorMessage('non-empty map', value));
|
throw new TypeError(message ?? typeErrorMessage('non-empty map', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNonEmptyObject<Key extends keyof any = string, Value = unknown>(value: unknown): asserts value is Record<Key, Value> {
|
export function assertNonEmptyObject<Key extends keyof any = string, Value = unknown>(value: unknown, message?: string): asserts value is Record<Key, Value> {
|
||||||
if (!isNonEmptyObject(value)) {
|
if (!isNonEmptyObject(value)) {
|
||||||
throw new TypeError(typeErrorMessage('non-empty object', value));
|
throw new TypeError(message ?? typeErrorMessage('non-empty object', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNonEmptySet<T = unknown>(value: unknown): asserts value is Set<T> {
|
export function assertNonEmptySet<T = unknown>(value: unknown, message?: string): asserts value is Set<T> {
|
||||||
if (!isNonEmptySet(value)) {
|
if (!isNonEmptySet(value)) {
|
||||||
throw new TypeError(typeErrorMessage('non-empty set', value));
|
throw new TypeError(message ?? typeErrorMessage('non-empty set', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNonEmptyString(value: unknown): asserts value is string {
|
export function assertNonEmptyString(value: unknown, message?: string): asserts value is string {
|
||||||
if (!isNonEmptyString(value)) {
|
if (!isNonEmptyString(value)) {
|
||||||
throw new TypeError(typeErrorMessage('non-empty string', value));
|
throw new TypeError(message ?? typeErrorMessage('non-empty string', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNonEmptyStringAndNotWhitespace(value: unknown): asserts value is string {
|
export function assertNonEmptyStringAndNotWhitespace(value: unknown, message?: string): asserts value is string {
|
||||||
if (!isNonEmptyStringAndNotWhitespace(value)) {
|
if (!isNonEmptyStringAndNotWhitespace(value)) {
|
||||||
throw new TypeError(typeErrorMessage('non-empty string and not whitespace', value));
|
throw new TypeError(message ?? typeErrorMessage('non-empty string and not whitespace', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertNull(value: unknown): asserts value is null {
|
export function assertNull(value: unknown, message?: string): asserts value is null {
|
||||||
if (!isNull(value)) {
|
if (!isNull(value)) {
|
||||||
throw new TypeError(typeErrorMessage('null', value));
|
throw new TypeError(message ?? typeErrorMessage('null', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertNullOrUndefined(value: unknown): asserts value is null | undefined {
|
export function assertNullOrUndefined(value: unknown, message?: string): asserts value is null | undefined {
|
||||||
if (!isNullOrUndefined(value)) {
|
if (!isNullOrUndefined(value)) {
|
||||||
throw new TypeError(typeErrorMessage('null or undefined', value));
|
throw new TypeError(message ?? typeErrorMessage('null or undefined', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNumber(value: unknown): asserts value is number {
|
export function assertNumber(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isNumber(value)) {
|
if (!isNumber(value)) {
|
||||||
throw new TypeError(typeErrorMessage('number', value));
|
throw new TypeError(message ?? typeErrorMessage('number', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertNumericString(value: unknown): asserts value is `${number}` {
|
export function assertNumericString(value: unknown, message?: string): asserts value is `${number}` {
|
||||||
if (!isNumericString(value)) {
|
if (!isNumericString(value)) {
|
||||||
throw new TypeError(typeErrorMessage('string with a number', value));
|
throw new TypeError(message ?? typeErrorMessage('string with a number', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertObject(value: unknown): asserts value is object {
|
export function assertObject(value: unknown, message?: string): asserts value is object {
|
||||||
if (!isObject(value)) {
|
if (!isObject(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Object', value));
|
throw new TypeError(message ?? typeErrorMessage('Object', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertObservable(value: unknown): asserts value is ObservableLike {
|
export function assertObservable(value: unknown, message?: string): asserts value is ObservableLike {
|
||||||
if (!isObservable(value)) {
|
if (!isObservable(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Observable', value));
|
throw new TypeError(message ?? typeErrorMessage('Observable', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertOddInteger(value: number): asserts value is number {
|
export function assertOddInteger(value: number, message?: string): asserts value is number {
|
||||||
if (!isOddInteger(value)) {
|
if (!isOddInteger(value)) {
|
||||||
throw new TypeError(typeErrorMessage('odd integer', value));
|
throw new TypeError(message ?? typeErrorMessage('odd integer', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertPlainObject<Value = unknown>(value: unknown): asserts value is Record<PropertyKey, Value> {
|
export function assertPlainObject<Value = unknown>(value: unknown, message?: string): asserts value is Record<PropertyKey, Value> {
|
||||||
if (!isPlainObject(value)) {
|
if (!isPlainObject(value)) {
|
||||||
throw new TypeError(typeErrorMessage('plain object', value));
|
throw new TypeError(message ?? typeErrorMessage('plain object', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertPositiveNumber(value: unknown): asserts value is number {
|
export function assertPositiveNumber(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isPositiveNumber(value)) {
|
if (!isPositiveNumber(value)) {
|
||||||
throw new TypeError(typeErrorMessage('positive number', value));
|
throw new TypeError(message ?? typeErrorMessage('positive number', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertPrimitive(value: unknown): asserts value is Primitive {
|
export function assertPrimitive(value: unknown, message?: string): asserts value is Primitive {
|
||||||
if (!isPrimitive(value)) {
|
if (!isPrimitive(value)) {
|
||||||
throw new TypeError(typeErrorMessage('primitive', value));
|
throw new TypeError(message ?? typeErrorMessage('primitive', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertPromise<T = unknown>(value: unknown): asserts value is Promise<T> {
|
export function assertPromise<T = unknown>(value: unknown, message?: string): asserts value is Promise<T> {
|
||||||
if (!isPromise(value)) {
|
if (!isPromise(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Promise', value));
|
throw new TypeError(message ?? typeErrorMessage('Promise', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertPropertyKey(value: unknown): asserts value is number {
|
export function assertPropertyKey(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isPropertyKey(value)) {
|
if (!isPropertyKey(value)) {
|
||||||
throw new TypeError(typeErrorMessage('PropertyKey', value));
|
throw new TypeError(message ?? typeErrorMessage('PropertyKey', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertRegExp(value: unknown): asserts value is RegExp {
|
export function assertRegExp(value: unknown, message?: string): asserts value is RegExp {
|
||||||
if (!isRegExp(value)) {
|
if (!isRegExp(value)) {
|
||||||
throw new TypeError(typeErrorMessage('RegExp', value));
|
throw new TypeError(message ?? typeErrorMessage('RegExp', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertSafeInteger(value: unknown): asserts value is number {
|
export function assertSafeInteger(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isSafeInteger(value)) {
|
if (!isSafeInteger(value)) {
|
||||||
throw new TypeError(typeErrorMessage('integer', value));
|
throw new TypeError(message ?? typeErrorMessage('integer', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertSet<T = unknown>(value: unknown): asserts value is Set<T> {
|
export function assertSet<T = unknown>(value: unknown, message?: string): asserts value is Set<T> {
|
||||||
if (!isSet(value)) {
|
if (!isSet(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Set', value));
|
throw new TypeError(message ?? typeErrorMessage('Set', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertSharedArrayBuffer(value: unknown): asserts value is SharedArrayBuffer {
|
export function assertSharedArrayBuffer(value: unknown, message?: string): asserts value is SharedArrayBuffer {
|
||||||
if (!isSharedArrayBuffer(value)) {
|
if (!isSharedArrayBuffer(value)) {
|
||||||
throw new TypeError(typeErrorMessage('SharedArrayBuffer', value));
|
throw new TypeError(message ?? typeErrorMessage('SharedArrayBuffer', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertString(value: unknown): asserts value is string {
|
export function assertString(value: unknown, message?: string): asserts value is string {
|
||||||
if (!isString(value)) {
|
if (!isString(value)) {
|
||||||
throw new TypeError(typeErrorMessage('string', value));
|
throw new TypeError(message ?? typeErrorMessage('string', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertSymbol(value: unknown): asserts value is symbol {
|
export function assertSymbol(value: unknown, message?: string): asserts value is symbol {
|
||||||
if (!isSymbol(value)) {
|
if (!isSymbol(value)) {
|
||||||
throw new TypeError(typeErrorMessage('symbol', value));
|
throw new TypeError(message ?? typeErrorMessage('symbol', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertTruthy<T>(value: T | Falsy): asserts value is T {
|
export function assertTruthy<T>(value: T | Falsy, message?: string): asserts value is T {
|
||||||
if (!isTruthy(value)) {
|
if (!isTruthy(value)) {
|
||||||
throw new TypeError(typeErrorMessage('truthy', value));
|
throw new TypeError(message ?? typeErrorMessage('truthy', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertTupleLike<T extends Array<TypeGuard<unknown>>>(value: unknown, guards: [...T]): asserts value is ResolveTypesOfTypeGuardsTuple<T> {
|
export function assertTupleLike<T extends Array<TypeGuard<unknown>>>(value: unknown, guards: [...T], message?: string): asserts value is ResolveTypesOfTypeGuardsTuple<T> {
|
||||||
if (!isTupleLike(value, guards)) {
|
if (!isTupleLike(value, guards)) {
|
||||||
throw new TypeError(typeErrorMessage('tuple-like', value));
|
throw new TypeError(message ?? typeErrorMessage('tuple-like', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertTypedArray(value: unknown): asserts value is TypedArray {
|
export function assertTypedArray(value: unknown, message?: string): asserts value is TypedArray {
|
||||||
if (!isTypedArray(value)) {
|
if (!isTypedArray(value)) {
|
||||||
throw new TypeError(typeErrorMessage('TypedArray', value));
|
throw new TypeError(message ?? typeErrorMessage('TypedArray', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertUint16Array(value: unknown): asserts value is Uint16Array {
|
export function assertUint16Array(value: unknown, message?: string): asserts value is Uint16Array {
|
||||||
if (!isUint16Array(value)) {
|
if (!isUint16Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Uint16Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Uint16Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertUint32Array(value: unknown): asserts value is Uint32Array {
|
export function assertUint32Array(value: unknown, message?: string): asserts value is Uint32Array {
|
||||||
if (!isUint32Array(value)) {
|
if (!isUint32Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Uint32Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Uint32Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertUint8Array(value: unknown): asserts value is Uint8Array {
|
export function assertUint8Array(value: unknown, message?: string): asserts value is Uint8Array {
|
||||||
if (!isUint8Array(value)) {
|
if (!isUint8Array(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Uint8Array', value));
|
throw new TypeError(message ?? typeErrorMessage('Uint8Array', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertUint8ClampedArray(value: unknown): asserts value is Uint8ClampedArray {
|
export function assertUint8ClampedArray(value: unknown, message?: string): asserts value is Uint8ClampedArray {
|
||||||
if (!isUint8ClampedArray(value)) {
|
if (!isUint8ClampedArray(value)) {
|
||||||
throw new TypeError(typeErrorMessage('Uint8ClampedArray', value));
|
throw new TypeError(message ?? typeErrorMessage('Uint8ClampedArray', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertUndefined(value: unknown): asserts value is undefined {
|
export function assertUndefined(value: unknown, message?: string): asserts value is undefined {
|
||||||
if (!isUndefined(value)) {
|
if (!isUndefined(value)) {
|
||||||
throw new TypeError(typeErrorMessage('undefined', value));
|
throw new TypeError(message ?? typeErrorMessage('undefined', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertUrlInstance(value: unknown): asserts value is URL {
|
export function assertUrlInstance(value: unknown, message?: string): asserts value is URL {
|
||||||
if (!isUrlInstance(value)) {
|
if (!isUrlInstance(value)) {
|
||||||
throw new TypeError(typeErrorMessage('URL', value));
|
throw new TypeError(message ?? typeErrorMessage('URL', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line unicorn/prevent-abbreviations
|
// eslint-disable-next-line unicorn/prevent-abbreviations
|
||||||
export function assertUrlSearchParams(value: unknown): asserts value is URLSearchParams {
|
export function assertUrlSearchParams(value: unknown, message?: string): asserts value is URLSearchParams {
|
||||||
if (!isUrlSearchParams(value)) {
|
if (!isUrlSearchParams(value)) {
|
||||||
throw new TypeError(typeErrorMessage('URLSearchParams', value));
|
throw new TypeError(message ?? typeErrorMessage('URLSearchParams', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertUrlString(value: unknown): asserts value is string {
|
export function assertUrlString(value: unknown, message?: string): asserts value is string {
|
||||||
if (!isUrlString(value)) {
|
if (!isUrlString(value)) {
|
||||||
throw new TypeError(typeErrorMessage('string with a URL', value));
|
throw new TypeError(message ?? typeErrorMessage('string with a URL', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertValidDate(value: unknown): asserts value is Date {
|
export function assertValidDate(value: unknown, message?: string): asserts value is Date {
|
||||||
if (!isValidDate(value)) {
|
if (!isValidDate(value)) {
|
||||||
throw new TypeError(typeErrorMessage('valid Date', value));
|
throw new TypeError(message ?? typeErrorMessage('valid Date', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertValidLength(value: unknown): asserts value is number {
|
export function assertValidLength(value: unknown, message?: string): asserts value is number {
|
||||||
if (!isValidLength(value)) {
|
if (!isValidLength(value)) {
|
||||||
throw new TypeError(typeErrorMessage('valid length', value));
|
throw new TypeError(message ?? typeErrorMessage('valid length', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertWeakMap<Key extends object = object, Value = unknown>(value: unknown): asserts value is WeakMap<Key, Value> {
|
export function assertWeakMap<Key extends object = object, Value = unknown>(value: unknown, message?: string): asserts value is WeakMap<Key, Value> {
|
||||||
if (!isWeakMap(value)) {
|
if (!isWeakMap(value)) {
|
||||||
throw new TypeError(typeErrorMessage('WeakMap', value));
|
throw new TypeError(message ?? typeErrorMessage('WeakMap', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertWeakRef<T extends object = object>(value: unknown): asserts value is WeakRef<T> {
|
export function assertWeakRef<T extends object = object>(value: unknown, message?: string): asserts value is WeakRef<T> {
|
||||||
if (!isWeakRef(value)) {
|
if (!isWeakRef(value)) {
|
||||||
throw new TypeError(typeErrorMessage('WeakRef', value));
|
throw new TypeError(message ?? typeErrorMessage('WeakRef', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
export function assertWeakSet<T extends object = object>(value: unknown): asserts value is WeakSet<T> {
|
export function assertWeakSet<T extends object = object>(value: unknown, message?: string): asserts value is WeakSet<T> {
|
||||||
if (!isWeakSet(value)) {
|
if (!isWeakSet(value)) {
|
||||||
throw new TypeError(typeErrorMessage('WeakSet', value));
|
throw new TypeError(message ?? typeErrorMessage('WeakSet', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function assertWhitespaceString(value: unknown): asserts value is string {
|
export function assertWhitespaceString(value: unknown, message?: string): asserts value is string {
|
||||||
if (!isWhitespaceString(value)) {
|
if (!isWhitespaceString(value)) {
|
||||||
throw new TypeError(typeErrorMessage('whitespace string', value));
|
throw new TypeError(message ?? typeErrorMessage('whitespace string', value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
357
test/test.ts
357
test/test.ts
|
|
@ -2174,3 +2174,360 @@ test('assert', t => {
|
||||||
t.true(is.string(badlyTypedVariable));
|
t.true(is.string(badlyTypedVariable));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('custom assertion message', t => {
|
||||||
|
const message = 'Custom error message';
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.array(undefined, undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.arrayBuffer(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.arrayLike(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.asyncFunction(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.asyncGenerator(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.asyncGeneratorFunction(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.asyncIterable(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.bigInt64Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.bigUint64Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.bigint(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.blob(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.boolean(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.boundFunction(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.buffer(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.class(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.dataView(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.date(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.directInstanceOf(undefined, Error, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.emptyArray(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.emptyMap(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.emptyObject(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.emptySet(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.emptyString(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.emptyStringOrWhitespace(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
enum Enum {}
|
||||||
|
assert.enumCase('invalid', Enum, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.error(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.evenInteger(33, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.falsy(true, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.float32Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.float64Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.formData(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.function(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.generator(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.generatorFunction(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.htmlElement(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.inRange(5, [1, 2], message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.infinite(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.int16Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.int32Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.int8Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.integer(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.iterable(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.map(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nan(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nativePromise(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.negativeNumber(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nodeStream(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nonEmptyArray(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nonEmptyMap(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nonEmptyObject(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nonEmptySet(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nonEmptyString(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nonEmptyStringAndNotWhitespace(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.null(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.nullOrUndefined(false, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.number(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.numericString(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.object(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.observable(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.oddInteger(42, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.plainObject(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.positiveNumber(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.primitive([], message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.promise(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.propertyKey(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.regExp(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.safeInteger(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.set(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.sharedArrayBuffer(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.string(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.symbol(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.truthy(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.tupleLike(undefined, [], message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.typedArray(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.uint16Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.uint32Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.uint8Array(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.uint8ClampedArray(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.undefined(false, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.urlInstance(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.urlSearchParams(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.urlString(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.validDate(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.validLength(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.weakMap(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.weakRef(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.weakSet(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
|
||||||
|
t.throws(() => {
|
||||||
|
assert.whitespaceString(undefined, message);
|
||||||
|
}, {instanceOf: TypeError, message});
|
||||||
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue