is-type-of
Version:
complete type checking for node
55 lines (54 loc) • 1.84 kB
TypeScript
import type { Class } from './util.js';
/**
* returns true if val is array, it won't check items of array
*/
export declare function isArray<T = any>(val?: unknown): val is Array<T>;
/**
* returns true if val is function
*/
export declare function isFunction<T extends Function>(val?: unknown): val is T;
/**
* returns true if val is generator function
*/
export declare function isGeneratorFunction(val?: unknown): val is GeneratorFunction;
/**
* returns true if val is async function
*/
export declare function isAsyncFunction(val?: unknown): val is Function;
/**
* returns true if val is async generator function
*/
export declare function isAsyncGeneratorFunction(val?: unknown): val is AsyncGeneratorFunction;
/**
* returns true if val is object
*/
export declare function isObject(val?: unknown): val is object;
/**
* returns true if val is class
* *Note:* "class" is supported in ECMAScript 6, and if the code is using some compiler or transpiler, the checking might fail
*/
export declare function isClass<T extends Class>(val?: unknown): val is T;
/**
* returns true if val is regular expression
*/
export declare function isRegExp(val?: unknown): val is RegExp;
/**
* returns true if val is instance of Date
*/
export declare function isDate(val?: unknown): val is Date;
/**
* returns true if val is instance of Error
*/
export declare function isError(val?: unknown): val is Error;
/**
* returns true if val is generator
*/
export declare function isGenerator(val?: unknown): val is Generator;
/**
* returns true if val is promise
*/
export declare function isPromise<T = any>(val?: unknown): val is Promise<T>;
/**
* returns true if val is like promise, if the object has `then` property, the checking will pass.
*/
export declare function isPromiseLike<T = any>(val?: unknown): val is PromiseLike<T>;