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