1 |
|
2 |
|
3 |
|
4 | import type { Buffer } from 'node:buffer';
|
5 | import type { Class, Falsy, TypedArray, ObservableLike, Primitive, WeakRef } from './types.js';
|
6 | declare const objectTypeNames: readonly ["Function", "Generator", "AsyncGenerator", "GeneratorFunction", "AsyncGeneratorFunction", "AsyncFunction", "Observable", "Array", "Buffer", "Blob", "Object", "RegExp", "Date", "Error", "Map", "Set", "WeakMap", "WeakSet", "WeakRef", "ArrayBuffer", "SharedArrayBuffer", "DataView", "Promise", "URL", "FormData", "URLSearchParams", "HTMLElement", "NaN", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "BigInt64Array", "BigUint64Array"];
|
7 | type ObjectTypeName = typeof objectTypeNames[number];
|
8 | declare const primitiveTypeNames: readonly ["null", "undefined", "string", "number", "bigint", "boolean", "symbol"];
|
9 | type PrimitiveTypeName = typeof primitiveTypeNames[number];
|
10 | export type TypeName = ObjectTypeName | PrimitiveTypeName;
|
11 | declare function is(value: unknown): TypeName;
|
12 | declare namespace is {
|
13 | var undefined: (value: unknown) => value is undefined;
|
14 | var string: (value: unknown) => value is string;
|
15 | var number: (value: unknown) => value is number;
|
16 | var bigint: (value: unknown) => value is bigint;
|
17 | var function_: (value: unknown) => value is Function;
|
18 | var null_: (value: unknown) => value is null;
|
19 | var class_: (value: unknown) => value is Class;
|
20 | var boolean: (value: unknown) => value is boolean;
|
21 | var symbol: (value: unknown) => value is symbol;
|
22 | var numericString: (value: unknown) => value is `${number}`;
|
23 | var array: <T = unknown>(value: unknown, assertion?: ((value: T) => value is T) | undefined) => value is T[];
|
24 | var buffer: (value: unknown) => value is Buffer;
|
25 | var blob: (value: unknown) => value is Blob;
|
26 | var nullOrUndefined: (value: unknown) => value is null | undefined;
|
27 | var object: (value: unknown) => value is object;
|
28 | var iterable: <T = unknown>(value: unknown) => value is Iterable<T>;
|
29 | var asyncIterable: <T = unknown>(value: unknown) => value is AsyncIterable<T>;
|
30 | var generator: (value: unknown) => value is Generator<unknown, any, unknown>;
|
31 | var asyncGenerator: (value: unknown) => value is AsyncGenerator<unknown, any, unknown>;
|
32 | var nativePromise: <T = unknown>(value: unknown) => value is Promise<T>;
|
33 | var promise: <T = unknown>(value: unknown) => value is Promise<T>;
|
34 | var generatorFunction: (value: unknown) => value is GeneratorFunction;
|
35 | var asyncGeneratorFunction: (value: unknown) => value is (...args: any[]) => Promise<unknown>;
|
36 | var asyncFunction: <T = unknown>(value: unknown) => value is (...args: any[]) => Promise<T>;
|
37 | var boundFunction: (value: unknown) => value is Function;
|
38 | var regExp: (value: unknown) => value is RegExp;
|
39 | var date: (value: unknown) => value is Date;
|
40 | var error: (value: unknown) => value is Error;
|
41 | var map: <Key = unknown, Value = unknown>(value: unknown) => value is Map<Key, Value>;
|
42 | var set: <T = unknown>(value: unknown) => value is Set<T>;
|
43 | var weakMap: <Key extends object = object, Value = unknown>(value: unknown) => value is WeakMap<Key, Value>;
|
44 | var weakSet: (value: unknown) => value is WeakSet<object>;
|
45 | var weakRef: (value: unknown) => value is WeakRef<object>;
|
46 | var int8Array: (value: unknown) => value is Int8Array;
|
47 | var uint8Array: (value: unknown) => value is Uint8Array;
|
48 | var uint8ClampedArray: (value: unknown) => value is Uint8ClampedArray;
|
49 | var int16Array: (value: unknown) => value is Int16Array;
|
50 | var uint16Array: (value: unknown) => value is Uint16Array;
|
51 | var int32Array: (value: unknown) => value is Int32Array;
|
52 | var uint32Array: (value: unknown) => value is Uint32Array;
|
53 | var float32Array: (value: unknown) => value is Float32Array;
|
54 | var float64Array: (value: unknown) => value is Float64Array;
|
55 | var bigInt64Array: (value: unknown) => value is BigInt64Array;
|
56 | var bigUint64Array: (value: unknown) => value is BigUint64Array;
|
57 | var arrayBuffer: (value: unknown) => value is ArrayBuffer;
|
58 | var sharedArrayBuffer: (value: unknown) => value is SharedArrayBuffer;
|
59 | var dataView: (value: unknown) => value is DataView;
|
60 | var enumCase: <T = unknown>(value: unknown, targetEnum: T) => boolean;
|
61 | var directInstanceOf: <T>(instance: unknown, class_: Class<T>) => instance is T;
|
62 | var urlInstance: (value: unknown) => value is URL;
|
63 | var urlString: (value: unknown) => value is string;
|
64 | var truthy: <T>(value: Falsy | T) => value is T;
|
65 | var falsy: <T>(value: Falsy | T) => value is Falsy;
|
66 | var nan: (value: unknown) => boolean;
|
67 | var primitive: (value: unknown) => value is Primitive;
|
68 | var integer: (value: unknown) => value is number;
|
69 | var safeInteger: (value: unknown) => value is number;
|
70 | var plainObject: <Value = unknown>(value: unknown) => value is Record<PropertyKey, Value>;
|
71 | var typedArray: (value: unknown) => value is TypedArray;
|
72 | var arrayLike: <T = unknown>(value: unknown) => value is ArrayLike<T>;
|
73 | var inRange: (value: number, range: number | number[]) => value is number;
|
74 | var domElement: (value: unknown) => value is HTMLElement;
|
75 | var observable: (value: unknown) => value is ObservableLike;
|
76 | var nodeStream: (value: unknown) => value is NodeStream;
|
77 | var infinite: (value: unknown) => value is number;
|
78 | var evenInteger: (value: number) => value is number;
|
79 | var oddInteger: (value: number) => value is number;
|
80 | var emptyArray: (value: unknown) => value is never[];
|
81 | var nonEmptyArray: (value: unknown) => value is [unknown, ...unknown[]];
|
82 | var emptyString: (value: unknown) => value is "";
|
83 | var emptyStringOrWhitespace: (value: unknown) => value is string;
|
84 | var nonEmptyString: (value: unknown) => value is string;
|
85 | var nonEmptyStringAndNotWhitespace: (value: unknown) => value is string;
|
86 | var emptyObject: <Key extends string | number | symbol = string>(value: unknown) => value is Record<Key, never>;
|
87 | var nonEmptyObject: <Key extends string | number | symbol = string, Value = unknown>(value: unknown) => value is Record<Key, Value>;
|
88 | var emptySet: (value: unknown) => value is Set<never>;
|
89 | var nonEmptySet: <T = unknown>(value: unknown) => value is Set<T>;
|
90 | var emptyMap: (value: unknown) => value is Map<never, never>;
|
91 | var nonEmptyMap: <Key = unknown, Value = unknown>(value: unknown) => value is Map<Key, Value>;
|
92 | var propertyKey: (value: unknown) => value is PropertyKey;
|
93 | var formData: (value: unknown) => value is FormData;
|
94 | var urlSearchParams: (value: unknown) => value is URLSearchParams;
|
95 | var any: (predicate: Predicate | Predicate[], ...values: unknown[]) => boolean;
|
96 | var all: (predicate: Predicate, ...values: unknown[]) => boolean;
|
97 | }
|
98 | export type ArrayLike<T> = {
|
99 | readonly [index: number]: T;
|
100 | readonly length: number;
|
101 | };
|
102 | export type NodeStream = {
|
103 | pipe<T extends NodeJS.WritableStream>(destination: T, options?: {
|
104 | end?: boolean;
|
105 | }): T;
|
106 | } & NodeJS.EventEmitter;
|
107 | export type Predicate = (value: unknown) => boolean;
|
108 | export declare const enum AssertionTypeDescription {
|
109 | class_ = "Class",
|
110 | numericString = "string with a number",
|
111 | nullOrUndefined = "null or undefined",
|
112 | iterable = "Iterable",
|
113 | asyncIterable = "AsyncIterable",
|
114 | nativePromise = "native Promise",
|
115 | urlString = "string with a URL",
|
116 | truthy = "truthy",
|
117 | falsy = "falsy",
|
118 | nan = "NaN",
|
119 | primitive = "primitive",
|
120 | integer = "integer",
|
121 | safeInteger = "integer",
|
122 | plainObject = "plain object",
|
123 | arrayLike = "array-like",
|
124 | typedArray = "TypedArray",
|
125 | domElement = "HTMLElement",
|
126 | nodeStream = "Node.js Stream",
|
127 | infinite = "infinite number",
|
128 | emptyArray = "empty array",
|
129 | nonEmptyArray = "non-empty array",
|
130 | emptyString = "empty string",
|
131 | emptyStringOrWhitespace = "empty string or whitespace",
|
132 | nonEmptyString = "non-empty string",
|
133 | nonEmptyStringAndNotWhitespace = "non-empty string and not whitespace",
|
134 | emptyObject = "empty object",
|
135 | nonEmptyObject = "non-empty object",
|
136 | emptySet = "empty set",
|
137 | nonEmptySet = "non-empty set",
|
138 | emptyMap = "empty map",
|
139 | nonEmptyMap = "non-empty map",
|
140 | evenInteger = "even integer",
|
141 | oddInteger = "odd integer",
|
142 | directInstanceOf = "T",
|
143 | inRange = "in range",
|
144 | any = "predicate returns truthy for any value",
|
145 | all = "predicate returns truthy for all values"
|
146 | }
|
147 | type Assert = {
|
148 | undefined: (value: unknown) => asserts value is undefined;
|
149 | string: (value: unknown) => asserts value is string;
|
150 | number: (value: unknown) => asserts value is number;
|
151 | bigint: (value: unknown) => asserts value is bigint;
|
152 | function_: (value: unknown) => asserts value is Function;
|
153 | null_: (value: unknown) => asserts value is null;
|
154 | class_: (value: unknown) => asserts value is Class;
|
155 | boolean: (value: unknown) => asserts value is boolean;
|
156 | symbol: (value: unknown) => asserts value is symbol;
|
157 | numericString: (value: unknown) => asserts value is `${number}`;
|
158 | array: <T = unknown>(value: unknown, assertion?: (element: unknown) => asserts element is T) => asserts value is T[];
|
159 | buffer: (value: unknown) => asserts value is Buffer;
|
160 | blob: (value: unknown) => asserts value is Blob;
|
161 | nullOrUndefined: (value: unknown) => asserts value is null | undefined;
|
162 | object: <Key extends keyof any = string, Value = unknown>(value: unknown) => asserts value is Record<Key, Value>;
|
163 | iterable: <T = unknown>(value: unknown) => asserts value is Iterable<T>;
|
164 | asyncIterable: <T = unknown>(value: unknown) => asserts value is AsyncIterable<T>;
|
165 | generator: (value: unknown) => asserts value is Generator;
|
166 | asyncGenerator: (value: unknown) => asserts value is AsyncGenerator;
|
167 | nativePromise: <T = unknown>(value: unknown) => asserts value is Promise<T>;
|
168 | promise: <T = unknown>(value: unknown) => asserts value is Promise<T>;
|
169 | generatorFunction: (value: unknown) => asserts value is GeneratorFunction;
|
170 | asyncGeneratorFunction: (value: unknown) => asserts value is AsyncGeneratorFunction;
|
171 | asyncFunction: (value: unknown) => asserts value is Function;
|
172 | boundFunction: (value: unknown) => asserts value is Function;
|
173 | regExp: (value: unknown) => asserts value is RegExp;
|
174 | date: (value: unknown) => asserts value is Date;
|
175 | error: (value: unknown) => asserts value is Error;
|
176 | map: <Key = unknown, Value = unknown>(value: unknown) => asserts value is Map<Key, Value>;
|
177 | set: <T = unknown>(value: unknown) => asserts value is Set<T>;
|
178 | weakMap: <Key extends object = object, Value = unknown>(value: unknown) => asserts value is WeakMap<Key, Value>;
|
179 | weakSet: <T extends object = object>(value: unknown) => asserts value is WeakSet<T>;
|
180 | weakRef: <T extends object = object>(value: unknown) => asserts value is WeakRef<T>;
|
181 | int8Array: (value: unknown) => asserts value is Int8Array;
|
182 | uint8Array: (value: unknown) => asserts value is Uint8Array;
|
183 | uint8ClampedArray: (value: unknown) => asserts value is Uint8ClampedArray;
|
184 | int16Array: (value: unknown) => asserts value is Int16Array;
|
185 | uint16Array: (value: unknown) => asserts value is Uint16Array;
|
186 | int32Array: (value: unknown) => asserts value is Int32Array;
|
187 | uint32Array: (value: unknown) => asserts value is Uint32Array;
|
188 | float32Array: (value: unknown) => asserts value is Float32Array;
|
189 | float64Array: (value: unknown) => asserts value is Float64Array;
|
190 | bigInt64Array: (value: unknown) => asserts value is BigInt64Array;
|
191 | bigUint64Array: (value: unknown) => asserts value is BigUint64Array;
|
192 | arrayBuffer: (value: unknown) => asserts value is ArrayBuffer;
|
193 | sharedArrayBuffer: (value: unknown) => asserts value is SharedArrayBuffer;
|
194 | dataView: (value: unknown) => asserts value is DataView;
|
195 | enumCase: <T = unknown>(value: unknown, targetEnum: T) => asserts value is T[keyof T];
|
196 | urlInstance: (value: unknown) => asserts value is URL;
|
197 | urlString: (value: unknown) => asserts value is string;
|
198 | truthy: (value: unknown) => asserts value is unknown;
|
199 | falsy: (value: unknown) => asserts value is unknown;
|
200 | nan: (value: unknown) => asserts value is unknown;
|
201 | primitive: (value: unknown) => asserts value is Primitive;
|
202 | integer: (value: unknown) => asserts value is number;
|
203 | safeInteger: (value: unknown) => asserts value is number;
|
204 | plainObject: <Value = unknown>(value: unknown) => asserts value is Record<PropertyKey, Value>;
|
205 | typedArray: (value: unknown) => asserts value is TypedArray;
|
206 | arrayLike: <T = unknown>(value: unknown) => asserts value is ArrayLike<T>;
|
207 | domElement: (value: unknown) => asserts value is HTMLElement;
|
208 | observable: (value: unknown) => asserts value is ObservableLike;
|
209 | nodeStream: (value: unknown) => asserts value is NodeStream;
|
210 | infinite: (value: unknown) => asserts value is number;
|
211 | emptyArray: (value: unknown) => asserts value is never[];
|
212 | nonEmptyArray: (value: unknown) => asserts value is [unknown, ...unknown[]];
|
213 | emptyString: (value: unknown) => asserts value is '';
|
214 | emptyStringOrWhitespace: (value: unknown) => asserts value is string;
|
215 | nonEmptyString: (value: unknown) => asserts value is string;
|
216 | nonEmptyStringAndNotWhitespace: (value: unknown) => asserts value is string;
|
217 | emptyObject: <Key extends keyof any = string>(value: unknown) => asserts value is Record<Key, never>;
|
218 | nonEmptyObject: <Key extends keyof any = string, Value = unknown>(value: unknown) => asserts value is Record<Key, Value>;
|
219 | emptySet: (value: unknown) => asserts value is Set<never>;
|
220 | nonEmptySet: <T = unknown>(value: unknown) => asserts value is Set<T>;
|
221 | emptyMap: (value: unknown) => asserts value is Map<never, never>;
|
222 | nonEmptyMap: <Key = unknown, Value = unknown>(value: unknown) => asserts value is Map<Key, Value>;
|
223 | propertyKey: (value: unknown) => asserts value is PropertyKey;
|
224 | formData: (value: unknown) => asserts value is FormData;
|
225 | urlSearchParams: (value: unknown) => asserts value is URLSearchParams;
|
226 | evenInteger: (value: number) => asserts value is number;
|
227 | oddInteger: (value: number) => asserts value is number;
|
228 | directInstanceOf: <T>(instance: unknown, class_: Class<T>) => asserts instance is T;
|
229 | inRange: (value: number, range: number | number[]) => asserts value is number;
|
230 | any: (predicate: Predicate | Predicate[], ...values: unknown[]) => void | never;
|
231 | all: (predicate: Predicate, ...values: unknown[]) => void | never;
|
232 | };
|
233 | export declare const assert: Assert;
|
234 | export default is;
|
235 | export type { Class, TypedArray, ObservableLike, Primitive } from './types.js';
|