UNPKG

@oxog/kindof

Version:

Zero-dependency advanced type detection library with TypeScript support, plugin system, and 100% test coverage

170 lines (159 loc) 9.01 kB
declare function isUndefined(value: unknown): value is undefined; declare function isNull(value: unknown): value is null; declare function isBoolean(value: unknown): value is boolean; declare function isNumber(value: unknown): value is number; declare function isString(value: unknown): value is string; declare function isSymbol(value: unknown): value is symbol; declare function isBigInt(value: unknown): value is bigint; declare function isPrimitive(value: unknown): value is undefined | null | boolean | number | string | symbol | bigint; declare function isNullish(value: unknown): value is undefined | null; declare function isFalsy(value: unknown): value is false | 0 | 0n | '' | null | undefined; declare function isTruthy<T>(value: T): value is Exclude<T, false | 0 | 0n | '' | null | undefined>; declare function isInteger(value: unknown): value is number; declare function isSafeInteger(value: unknown): value is number; declare function isFinite(value: unknown): value is number; declare function isNaN(value: unknown): value is number; declare function isInfinity(value: unknown): value is number; declare function isEmptyString(value: unknown): value is ''; declare function isNumericString(value: unknown): value is string; declare function isJsonString(value: unknown): value is string; declare function isObject(value: unknown): value is object; declare function isArray<T = unknown>(value: unknown): value is T[]; declare function isFunction(value: unknown): value is (...args: any[]) => any; declare function isDate(value: unknown): value is Date; declare function isRegExp(value: unknown): value is RegExp; declare function isError(value: unknown): value is Error; declare function isPromise<T = unknown>(value: unknown): value is Promise<T>; declare function isArguments(value: unknown): value is IArguments; declare function isBuffer(value: unknown): value is Buffer; declare function isPlainObject(value: unknown): value is Record<string, unknown>; declare function isEmpty(value: unknown): boolean; declare function isEmptyArray(value: unknown): value is []; declare function isEmptyObject(value: unknown): value is Record<string, never>; declare function hasLength(value: unknown): value is { length: number; }; declare function hasSize(value: unknown): value is { size: number; }; declare function isArrayLike<T = unknown>(value: unknown): value is ArrayLike<T>; declare function isIterable<T = unknown>(value: unknown): value is Iterable<T>; declare function isAsyncIterable<T = unknown>(value: unknown): value is AsyncIterable<T>; declare function isConstructor(value: unknown): value is new (...args: any[]) => any; declare function isThenable<T = unknown>(value: unknown): value is PromiseLike<T>; declare function isObservable(value: unknown): value is { subscribe: (...args: any[]) => any; }; declare function isGenerator(value: unknown): value is Generator; declare function isAsyncGenerator(value: unknown): value is AsyncGenerator; declare function isGeneratorFunction(value: unknown): value is GeneratorFunction; declare function isAsyncFunction(value: unknown): value is (...args: any[]) => Promise<unknown>; declare function isAsyncGeneratorFunction(value: unknown): value is (...args: any[]) => AsyncGenerator; declare function isProxy(value: unknown): value is object; declare function isTypeError(value: unknown): value is TypeError; declare function isRangeError(value: unknown): value is RangeError; declare function isSyntaxError(value: unknown): value is SyntaxError; declare function isReferenceError(value: unknown): value is ReferenceError; declare function isEvalError(value: unknown): value is EvalError; declare function isURIError(value: unknown): value is URIError; declare function isStream(value: unknown): value is NodeJS.ReadableStream | NodeJS.WritableStream; declare function isEventEmitter(value: unknown): value is NodeJS.EventEmitter; declare function isElement(value: unknown): value is Element; declare function isNode(value: unknown): value is Node; declare function isWindow(value: unknown): value is Window; declare function isDocument(value: unknown): value is Document; declare function isGlobal(value: unknown): value is typeof globalThis; declare function isMap<K = any, V = any>(value: unknown): value is Map<K, V>; declare function isSet<T = any>(value: unknown): value is Set<T>; declare function isWeakMap<K extends object = object, V = any>(value: unknown): value is WeakMap<K, V>; declare function isWeakSet<T extends object = object>(value: unknown): value is WeakSet<T>; declare function isDataView(value: unknown): value is DataView; declare function isArrayBuffer(value: unknown): value is ArrayBuffer; declare function isSharedArrayBuffer(value: unknown): value is SharedArrayBuffer; declare function isTypedArray(value: unknown): value is TypedArray; declare function isInt8Array(value: unknown): value is Int8Array; declare function isUint8Array(value: unknown): value is Uint8Array; declare function isUint8ClampedArray(value: unknown): value is Uint8ClampedArray; declare function isInt16Array(value: unknown): value is Int16Array; declare function isUint16Array(value: unknown): value is Uint16Array; declare function isInt32Array(value: unknown): value is Int32Array; declare function isUint32Array(value: unknown): value is Uint32Array; declare function isFloat32Array(value: unknown): value is Float32Array; declare function isFloat64Array(value: unknown): value is Float64Array; declare function isBigInt64Array(value: unknown): value is BigInt64Array; declare function isBigUint64Array(value: unknown): value is BigUint64Array; type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array; interface TypeMap { 'undefined': undefined; 'null': null; 'boolean': boolean; 'number': number; 'string': string; 'symbol': symbol; 'bigint': bigint; 'object': object; 'array': any[]; 'function': Function; 'date': Date; 'regexp': RegExp; 'error': Error; 'promise': Promise<any>; 'map': Map<any, any>; 'set': Set<any>; 'weakmap': WeakMap<any, any>; 'weakset': WeakSet<any>; 'int8array': Int8Array; 'uint8array': Uint8Array; 'uint8clampedarray': Uint8ClampedArray; 'int16array': Int16Array; 'uint16array': Uint16Array; 'int32array': Int32Array; 'uint32array': Uint32Array; 'float32array': Float32Array; 'float64array': Float64Array; 'bigint64array': BigInt64Array; 'biguint64array': BigUint64Array; 'generatorfunction': GeneratorFunction$1; 'asyncfunction': AsyncFunction; 'asyncgeneratorfunction': AsyncGeneratorFunction; 'proxy': any; 'dataview': DataView; 'arraybuffer': ArrayBuffer; 'sharedarraybuffer': SharedArrayBuffer; 'arguments': IArguments; 'buffer': Buffer; 'stream': NodeJS.ReadableStream | NodeJS.WritableStream; 'eventemitter': NodeJS.EventEmitter; 'element': Element; 'node': Node; 'window': Window; 'document': Document; 'global': typeof globalThis; } type TypeName = keyof TypeMap; // Function type helpers interface GeneratorFunction$1 { new(...args: any[]): Generator; (...args: any[]): Generator; } interface AsyncFunction { new(...args: any[]): Promise<any>; (...args: any[]): Promise<any>; } interface AsyncGeneratorFunction { new(...args: any[]): AsyncGenerator; (...args: any[]): AsyncGenerator; } // Node.js type helpers (will be undefined in browser) declare global { namespace NodeJS { interface ReadableStream {} interface WritableStream {} interface EventEmitter {} } interface Buffer {} } declare function isType<T extends TypeName>(value: unknown, type: T): value is TypeMap[T]; declare function assertType<T extends TypeName>(value: unknown, type: T): asserts value is TypeMap[T]; declare function ensureType<T extends TypeName>(value: unknown, type: T, defaultValue: TypeMap[T]): TypeMap[T]; export { assertType, ensureType, hasLength, hasSize, isArguments, isArray, isArrayBuffer, isArrayLike, isAsyncFunction, isAsyncGenerator, isAsyncGeneratorFunction, isAsyncIterable, isBigInt, isBigInt64Array, isBigUint64Array, isBoolean, isBuffer, isConstructor, isDataView, isDate, isDocument, isElement, isEmpty, isEmptyArray, isEmptyObject, isEmptyString, isError, isEvalError, isEventEmitter, isFalsy, isFinite, isFloat32Array, isFloat64Array, isFunction, isGenerator, isGeneratorFunction, isGlobal, isInfinity, isInt16Array, isInt32Array, isInt8Array, isInteger, isIterable, isJsonString, isMap, isNaN, isNode, isNull, isNullish, isNumber, isNumericString, isObject, isObservable, isPlainObject, isPrimitive, isPromise, isProxy, isRangeError, isReferenceError, isRegExp, isSafeInteger, isSet, isSharedArrayBuffer, isStream, isString, isSymbol, isSyntaxError, isThenable, isTruthy, isType, isTypeError, isTypedArray, isURIError, isUint16Array, isUint32Array, isUint8Array, isUint8ClampedArray, isUndefined, isWeakMap, isWeakSet, isWindow };