devstar插件
This commit is contained in:
209
node_modules/is-what/dist/cjs/index.cjs
generated
vendored
Normal file
209
node_modules/is-what/dist/cjs/index.cjs
generated
vendored
Normal file
@@ -0,0 +1,209 @@
|
||||
'use strict';
|
||||
|
||||
function getType(payload) {
|
||||
return Object.prototype.toString.call(payload).slice(8, -1);
|
||||
}
|
||||
|
||||
function isAnyObject(payload) {
|
||||
return getType(payload) === "Object";
|
||||
}
|
||||
|
||||
function isArray(payload) {
|
||||
return getType(payload) === "Array";
|
||||
}
|
||||
|
||||
function isBlob(payload) {
|
||||
return getType(payload) === "Blob";
|
||||
}
|
||||
|
||||
function isBoolean(payload) {
|
||||
return getType(payload) === "Boolean";
|
||||
}
|
||||
|
||||
function isDate(payload) {
|
||||
return getType(payload) === "Date" && !isNaN(payload);
|
||||
}
|
||||
|
||||
function isEmptyArray(payload) {
|
||||
return isArray(payload) && payload.length === 0;
|
||||
}
|
||||
|
||||
function isPlainObject(payload) {
|
||||
if (getType(payload) !== "Object")
|
||||
return false;
|
||||
const prototype = Object.getPrototypeOf(payload);
|
||||
return !!prototype && prototype.constructor === Object && prototype === Object.prototype;
|
||||
}
|
||||
|
||||
function isEmptyObject(payload) {
|
||||
return isPlainObject(payload) && Object.keys(payload).length === 0;
|
||||
}
|
||||
|
||||
function isEmptyString(payload) {
|
||||
return payload === "";
|
||||
}
|
||||
|
||||
function isError(payload) {
|
||||
return getType(payload) === "Error" || payload instanceof Error;
|
||||
}
|
||||
|
||||
function isFile(payload) {
|
||||
return getType(payload) === "File";
|
||||
}
|
||||
|
||||
function isFullArray(payload) {
|
||||
return isArray(payload) && payload.length > 0;
|
||||
}
|
||||
|
||||
function isFullObject(payload) {
|
||||
return isPlainObject(payload) && Object.keys(payload).length > 0;
|
||||
}
|
||||
|
||||
function isString(payload) {
|
||||
return getType(payload) === "String";
|
||||
}
|
||||
|
||||
function isFullString(payload) {
|
||||
return isString(payload) && payload !== "";
|
||||
}
|
||||
|
||||
function isFunction(payload) {
|
||||
return typeof payload === "function";
|
||||
}
|
||||
|
||||
function isType(payload, type) {
|
||||
if (!(type instanceof Function)) {
|
||||
throw new TypeError("Type must be a function");
|
||||
}
|
||||
if (!Object.prototype.hasOwnProperty.call(type, "prototype")) {
|
||||
throw new TypeError("Type is not a class");
|
||||
}
|
||||
const name = type.name;
|
||||
return getType(payload) === name || Boolean(payload && payload.constructor === type);
|
||||
}
|
||||
|
||||
function isInstanceOf(value, classOrClassName) {
|
||||
if (typeof classOrClassName === "function") {
|
||||
for (let p = value; p; p = Object.getPrototypeOf(p)) {
|
||||
if (isType(p, classOrClassName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
} else {
|
||||
for (let p = value; p; p = Object.getPrototypeOf(p)) {
|
||||
if (getType(p) === classOrClassName) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function isMap(payload) {
|
||||
return getType(payload) === "Map";
|
||||
}
|
||||
|
||||
function isNaNValue(payload) {
|
||||
return getType(payload) === "Number" && isNaN(payload);
|
||||
}
|
||||
|
||||
function isNumber(payload) {
|
||||
return getType(payload) === "Number" && !isNaN(payload);
|
||||
}
|
||||
|
||||
function isNegativeNumber(payload) {
|
||||
return isNumber(payload) && payload < 0;
|
||||
}
|
||||
|
||||
function isNull(payload) {
|
||||
return getType(payload) === "Null";
|
||||
}
|
||||
|
||||
function isOneOf(a, b, c, d, e) {
|
||||
return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);
|
||||
}
|
||||
|
||||
function isUndefined(payload) {
|
||||
return getType(payload) === "Undefined";
|
||||
}
|
||||
|
||||
const isNullOrUndefined = isOneOf(isNull, isUndefined);
|
||||
|
||||
function isObject(payload) {
|
||||
return isPlainObject(payload);
|
||||
}
|
||||
|
||||
function isObjectLike(payload) {
|
||||
return isAnyObject(payload);
|
||||
}
|
||||
|
||||
function isPositiveNumber(payload) {
|
||||
return isNumber(payload) && payload > 0;
|
||||
}
|
||||
|
||||
function isSymbol(payload) {
|
||||
return getType(payload) === "Symbol";
|
||||
}
|
||||
|
||||
function isPrimitive(payload) {
|
||||
return isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);
|
||||
}
|
||||
|
||||
function isPromise(payload) {
|
||||
return getType(payload) === "Promise";
|
||||
}
|
||||
|
||||
function isRegExp(payload) {
|
||||
return getType(payload) === "RegExp";
|
||||
}
|
||||
|
||||
function isSet(payload) {
|
||||
return getType(payload) === "Set";
|
||||
}
|
||||
|
||||
function isWeakMap(payload) {
|
||||
return getType(payload) === "WeakMap";
|
||||
}
|
||||
|
||||
function isWeakSet(payload) {
|
||||
return getType(payload) === "WeakSet";
|
||||
}
|
||||
|
||||
exports.getType = getType;
|
||||
exports.isAnyObject = isAnyObject;
|
||||
exports.isArray = isArray;
|
||||
exports.isBlob = isBlob;
|
||||
exports.isBoolean = isBoolean;
|
||||
exports.isDate = isDate;
|
||||
exports.isEmptyArray = isEmptyArray;
|
||||
exports.isEmptyObject = isEmptyObject;
|
||||
exports.isEmptyString = isEmptyString;
|
||||
exports.isError = isError;
|
||||
exports.isFile = isFile;
|
||||
exports.isFullArray = isFullArray;
|
||||
exports.isFullObject = isFullObject;
|
||||
exports.isFullString = isFullString;
|
||||
exports.isFunction = isFunction;
|
||||
exports.isInstanceOf = isInstanceOf;
|
||||
exports.isMap = isMap;
|
||||
exports.isNaNValue = isNaNValue;
|
||||
exports.isNegativeNumber = isNegativeNumber;
|
||||
exports.isNull = isNull;
|
||||
exports.isNullOrUndefined = isNullOrUndefined;
|
||||
exports.isNumber = isNumber;
|
||||
exports.isObject = isObject;
|
||||
exports.isObjectLike = isObjectLike;
|
||||
exports.isOneOf = isOneOf;
|
||||
exports.isPlainObject = isPlainObject;
|
||||
exports.isPositiveNumber = isPositiveNumber;
|
||||
exports.isPrimitive = isPrimitive;
|
||||
exports.isPromise = isPromise;
|
||||
exports.isRegExp = isRegExp;
|
||||
exports.isSet = isSet;
|
||||
exports.isString = isString;
|
||||
exports.isSymbol = isSymbol;
|
||||
exports.isType = isType;
|
||||
exports.isUndefined = isUndefined;
|
||||
exports.isWeakMap = isWeakMap;
|
||||
exports.isWeakSet = isWeakSet;
|
380
node_modules/is-what/dist/cjs/index.d.cts
generated
vendored
Normal file
380
node_modules/is-what/dist/cjs/index.d.cts
generated
vendored
Normal file
@@ -0,0 +1,380 @@
|
||||
/**
|
||||
* Returns the object type of the given payload
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {string}
|
||||
*/
|
||||
declare function getType(payload: any): string;
|
||||
|
||||
type PlainObject = Record<string | number | symbol, any>;
|
||||
/**
|
||||
* Returns whether the payload is a plain JavaScript object (excluding special classes or objects
|
||||
* with other prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is PlainObject}
|
||||
*/
|
||||
declare function isPlainObject(payload: any): payload is PlainObject;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is an any kind of object (including special classes or objects with
|
||||
* different prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is PlainObject}
|
||||
*/
|
||||
declare function isAnyObject(payload: any): payload is PlainObject;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is an array
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is any[]}
|
||||
*/
|
||||
declare function isArray(payload: any): payload is any[];
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Blob
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Blob}
|
||||
*/
|
||||
declare function isBlob(payload: any): payload is Blob;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a boolean
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is boolean}
|
||||
*/
|
||||
declare function isBoolean(payload: any): payload is boolean;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Date, and that the date is valid
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Date}
|
||||
*/
|
||||
declare function isDate(payload: any): payload is Date;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a an empty array
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is []}
|
||||
*/
|
||||
declare function isEmptyArray(payload: any): payload is [];
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a an empty object (excluding special classes or objects with other
|
||||
* prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is { [K in any]: never }}
|
||||
*/
|
||||
declare function isEmptyObject(payload: any): payload is {
|
||||
[K in any]: never;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns whether the payload is ''
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is string}
|
||||
*/
|
||||
declare function isEmptyString(payload: any): payload is string;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is an Error
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Error}
|
||||
*/
|
||||
declare function isError(payload: any): payload is Error;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a File
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is File}
|
||||
*/
|
||||
declare function isFile(payload: any): payload is File;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a an array with at least 1 item
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is any[]}
|
||||
*/
|
||||
declare function isFullArray(payload: any): payload is any[];
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a an empty object (excluding special classes or objects with other
|
||||
* prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is PlainObject}
|
||||
*/
|
||||
declare function isFullObject(payload: any): payload is PlainObject;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a string, BUT returns false for ''
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is string}
|
||||
*/
|
||||
declare function isFullString(payload: any): payload is string;
|
||||
|
||||
type AnyFunction = (...args: any[]) => any;
|
||||
/**
|
||||
* Returns whether the payload is a function (regular or async)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is AnyFunction}
|
||||
*/
|
||||
declare function isFunction(payload: any): payload is AnyFunction;
|
||||
|
||||
type AnyClass = new (...args: any[]) => any;
|
||||
/**
|
||||
* Does a generic check to check that the given payload is of a given type. In cases like Number, it
|
||||
* will return true for NaN as NaN is a Number (thanks javascript!); It will, however, differentiate
|
||||
* between object and null
|
||||
*
|
||||
* @template T
|
||||
* @param {any} payload
|
||||
* @param {T} type
|
||||
* @returns {payload is T}
|
||||
* @throws {TypeError} Will throw type error if type is an invalid type
|
||||
*/
|
||||
declare function isType<T extends AnyFunction | AnyClass>(payload: any, type: T): payload is T;
|
||||
|
||||
type GlobalClassName = {
|
||||
[K in keyof typeof globalThis]: (typeof globalThis)[K] extends AnyClass ? K : never;
|
||||
}[keyof typeof globalThis];
|
||||
/**
|
||||
* Checks if a value is an instance of a class or a class name. Useful when you want to check if a
|
||||
* value is an instance of a class that may not be defined in the current scope. For example, if you
|
||||
* want to check if a value is an `OffscreenCanvas` instance, you might not want to do the song and
|
||||
* dance of using `typeof OffscreenCanvas !== 'undefined'` and then shimming `OffscreenCanvas` if
|
||||
* the types aren't around.
|
||||
*
|
||||
* @example
|
||||
* if (isInstanceOf(value, 'OffscreenCanvas')) {
|
||||
* // value is an OffscreenCanvas
|
||||
* }
|
||||
*
|
||||
* @param value The value to recursively check
|
||||
* @param class_ A string or class that the value should be an instance of
|
||||
*/
|
||||
declare function isInstanceOf<T extends AnyClass>(value: unknown, class_: T): value is T;
|
||||
declare function isInstanceOf<K extends GlobalClassName>(value: unknown, className: K): value is (typeof globalThis)[K];
|
||||
declare function isInstanceOf(value: unknown, className: string): value is object;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Map
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Map<any, any>}
|
||||
*/
|
||||
declare function isMap(payload: any): payload is Map<any, any>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is literally the value `NaN` (it's `NaN` and also a `number`)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is typeof NaN}
|
||||
*/
|
||||
declare function isNaNValue(payload: any): payload is typeof NaN;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a negative number (but not 0)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is number}
|
||||
*/
|
||||
declare function isNegativeNumber(payload: any): payload is number;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is null
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is null}
|
||||
*/
|
||||
declare function isNull(payload: any): payload is null;
|
||||
|
||||
/**
|
||||
* Returns true whether the payload is null or undefined
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {(payload is null | undefined)}
|
||||
*/
|
||||
declare const isNullOrUndefined: (payload: any) => payload is null | undefined;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a number (but not NaN)
|
||||
*
|
||||
* This will return `false` for `NaN`!!
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is number}
|
||||
*/
|
||||
declare function isNumber(payload: any): payload is number;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a plain JavaScript object (excluding special classes or objects
|
||||
* with other prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is PlainObject}
|
||||
*/
|
||||
declare function isObject(payload: any): payload is PlainObject;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is an object like a type passed in < >
|
||||
*
|
||||
* Usage: isObjectLike<{id: any}>(payload) // will make sure it's an object and has an `id` prop.
|
||||
*
|
||||
* @template T This must be passed in < >
|
||||
* @param {any} payload
|
||||
* @returns {payload is T}
|
||||
*/
|
||||
declare function isObjectLike<T extends PlainObject>(payload: any): payload is T;
|
||||
|
||||
type TypeGuard<A, B extends A> = (payload: A) => payload is B;
|
||||
/**
|
||||
* A factory function that creates a function to check if the payload is one of the given types.
|
||||
*
|
||||
* @example
|
||||
* import { isOneOf, isNull, isUndefined } from 'is-what'
|
||||
*
|
||||
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
|
||||
*
|
||||
* isNullOrUndefined(null) // true
|
||||
* isNullOrUndefined(undefined) // true
|
||||
* isNullOrUndefined(123) // false
|
||||
*/
|
||||
declare function isOneOf<A, B extends A, C extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>): TypeGuard<A, B | C>;
|
||||
/**
|
||||
* A factory function that creates a function to check if the payload is one of the given types.
|
||||
*
|
||||
* @example
|
||||
* import { isOneOf, isNull, isUndefined } from 'is-what'
|
||||
*
|
||||
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
|
||||
*
|
||||
* isNullOrUndefined(null) // true
|
||||
* isNullOrUndefined(undefined) // true
|
||||
* isNullOrUndefined(123) // false
|
||||
*/
|
||||
declare function isOneOf<A, B extends A, C extends A, D extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>): TypeGuard<A, B | C | D>;
|
||||
/**
|
||||
* A factory function that creates a function to check if the payload is one of the given types.
|
||||
*
|
||||
* @example
|
||||
* import { isOneOf, isNull, isUndefined } from 'is-what'
|
||||
*
|
||||
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
|
||||
*
|
||||
* isNullOrUndefined(null) // true
|
||||
* isNullOrUndefined(undefined) // true
|
||||
* isNullOrUndefined(123) // false
|
||||
*/
|
||||
declare function isOneOf<A, B extends A, C extends A, D extends A, E extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>, d: TypeGuard<A, E>): TypeGuard<A, B | C | D | E>;
|
||||
/**
|
||||
* A factory function that creates a function to check if the payload is one of the given types.
|
||||
*
|
||||
* @example
|
||||
* import { isOneOf, isNull, isUndefined } from 'is-what'
|
||||
*
|
||||
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
|
||||
*
|
||||
* isNullOrUndefined(null) // true
|
||||
* isNullOrUndefined(undefined) // true
|
||||
* isNullOrUndefined(123) // false
|
||||
*/
|
||||
declare function isOneOf<A, B extends A, C extends A, D extends A, E extends A, F extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>, d: TypeGuard<A, E>, e: TypeGuard<A, F>): TypeGuard<A, B | C | D | E | F>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a positive number (but not 0)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is number}
|
||||
*/
|
||||
declare function isPositiveNumber(payload: any): payload is number;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a primitive type (eg. Boolean | Null | Undefined | Number | String
|
||||
* | Symbol)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {(payload is boolean | null | undefined | number | string | symbol)}
|
||||
*/
|
||||
declare function isPrimitive(payload: any): payload is boolean | null | undefined | number | string | symbol;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Promise
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Promise<any>}
|
||||
*/
|
||||
declare function isPromise(payload: any): payload is Promise<any>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a regular expression (RegExp)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is RegExp}
|
||||
*/
|
||||
declare function isRegExp(payload: any): payload is RegExp;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Set
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Set<any>}
|
||||
*/
|
||||
declare function isSet(payload: any): payload is Set<any>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a string
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is string}
|
||||
*/
|
||||
declare function isString(payload: any): payload is string;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Symbol
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is symbol}
|
||||
*/
|
||||
declare function isSymbol(payload: any): payload is symbol;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is undefined
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is undefined}
|
||||
*/
|
||||
declare function isUndefined(payload: any): payload is undefined;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a WeakMap
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is WeakMap<any, any>}
|
||||
*/
|
||||
declare function isWeakMap(payload: any): payload is WeakMap<any, any>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a WeakSet
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is WeakSet<any>}
|
||||
*/
|
||||
declare function isWeakSet(payload: any): payload is WeakSet<any>;
|
||||
|
||||
type AnyAsyncFunction = (...args: any[]) => Promise<any>;
|
||||
|
||||
export { AnyAsyncFunction, AnyClass, AnyFunction, PlainObject, getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullArray, isFullObject, isFullString, isFunction, isInstanceOf, isMap, isNaNValue, isNegativeNumber, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isOneOf, isPlainObject, isPositiveNumber, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };
|
380
node_modules/is-what/dist/index.d.ts
generated
vendored
Normal file
380
node_modules/is-what/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,380 @@
|
||||
/**
|
||||
* Returns the object type of the given payload
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {string}
|
||||
*/
|
||||
declare function getType(payload: any): string;
|
||||
|
||||
type PlainObject = Record<string | number | symbol, any>;
|
||||
/**
|
||||
* Returns whether the payload is a plain JavaScript object (excluding special classes or objects
|
||||
* with other prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is PlainObject}
|
||||
*/
|
||||
declare function isPlainObject(payload: any): payload is PlainObject;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is an any kind of object (including special classes or objects with
|
||||
* different prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is PlainObject}
|
||||
*/
|
||||
declare function isAnyObject(payload: any): payload is PlainObject;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is an array
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is any[]}
|
||||
*/
|
||||
declare function isArray(payload: any): payload is any[];
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Blob
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Blob}
|
||||
*/
|
||||
declare function isBlob(payload: any): payload is Blob;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a boolean
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is boolean}
|
||||
*/
|
||||
declare function isBoolean(payload: any): payload is boolean;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Date, and that the date is valid
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Date}
|
||||
*/
|
||||
declare function isDate(payload: any): payload is Date;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a an empty array
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is []}
|
||||
*/
|
||||
declare function isEmptyArray(payload: any): payload is [];
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a an empty object (excluding special classes or objects with other
|
||||
* prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is { [K in any]: never }}
|
||||
*/
|
||||
declare function isEmptyObject(payload: any): payload is {
|
||||
[K in any]: never;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns whether the payload is ''
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is string}
|
||||
*/
|
||||
declare function isEmptyString(payload: any): payload is string;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is an Error
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Error}
|
||||
*/
|
||||
declare function isError(payload: any): payload is Error;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a File
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is File}
|
||||
*/
|
||||
declare function isFile(payload: any): payload is File;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a an array with at least 1 item
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is any[]}
|
||||
*/
|
||||
declare function isFullArray(payload: any): payload is any[];
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a an empty object (excluding special classes or objects with other
|
||||
* prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is PlainObject}
|
||||
*/
|
||||
declare function isFullObject(payload: any): payload is PlainObject;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a string, BUT returns false for ''
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is string}
|
||||
*/
|
||||
declare function isFullString(payload: any): payload is string;
|
||||
|
||||
type AnyFunction = (...args: any[]) => any;
|
||||
/**
|
||||
* Returns whether the payload is a function (regular or async)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is AnyFunction}
|
||||
*/
|
||||
declare function isFunction(payload: any): payload is AnyFunction;
|
||||
|
||||
type AnyClass = new (...args: any[]) => any;
|
||||
/**
|
||||
* Does a generic check to check that the given payload is of a given type. In cases like Number, it
|
||||
* will return true for NaN as NaN is a Number (thanks javascript!); It will, however, differentiate
|
||||
* between object and null
|
||||
*
|
||||
* @template T
|
||||
* @param {any} payload
|
||||
* @param {T} type
|
||||
* @returns {payload is T}
|
||||
* @throws {TypeError} Will throw type error if type is an invalid type
|
||||
*/
|
||||
declare function isType<T extends AnyFunction | AnyClass>(payload: any, type: T): payload is T;
|
||||
|
||||
type GlobalClassName = {
|
||||
[K in keyof typeof globalThis]: (typeof globalThis)[K] extends AnyClass ? K : never;
|
||||
}[keyof typeof globalThis];
|
||||
/**
|
||||
* Checks if a value is an instance of a class or a class name. Useful when you want to check if a
|
||||
* value is an instance of a class that may not be defined in the current scope. For example, if you
|
||||
* want to check if a value is an `OffscreenCanvas` instance, you might not want to do the song and
|
||||
* dance of using `typeof OffscreenCanvas !== 'undefined'` and then shimming `OffscreenCanvas` if
|
||||
* the types aren't around.
|
||||
*
|
||||
* @example
|
||||
* if (isInstanceOf(value, 'OffscreenCanvas')) {
|
||||
* // value is an OffscreenCanvas
|
||||
* }
|
||||
*
|
||||
* @param value The value to recursively check
|
||||
* @param class_ A string or class that the value should be an instance of
|
||||
*/
|
||||
declare function isInstanceOf<T extends AnyClass>(value: unknown, class_: T): value is T;
|
||||
declare function isInstanceOf<K extends GlobalClassName>(value: unknown, className: K): value is (typeof globalThis)[K];
|
||||
declare function isInstanceOf(value: unknown, className: string): value is object;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Map
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Map<any, any>}
|
||||
*/
|
||||
declare function isMap(payload: any): payload is Map<any, any>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is literally the value `NaN` (it's `NaN` and also a `number`)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is typeof NaN}
|
||||
*/
|
||||
declare function isNaNValue(payload: any): payload is typeof NaN;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a negative number (but not 0)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is number}
|
||||
*/
|
||||
declare function isNegativeNumber(payload: any): payload is number;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is null
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is null}
|
||||
*/
|
||||
declare function isNull(payload: any): payload is null;
|
||||
|
||||
/**
|
||||
* Returns true whether the payload is null or undefined
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {(payload is null | undefined)}
|
||||
*/
|
||||
declare const isNullOrUndefined: (payload: any) => payload is null | undefined;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a number (but not NaN)
|
||||
*
|
||||
* This will return `false` for `NaN`!!
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is number}
|
||||
*/
|
||||
declare function isNumber(payload: any): payload is number;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a plain JavaScript object (excluding special classes or objects
|
||||
* with other prototypes)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is PlainObject}
|
||||
*/
|
||||
declare function isObject(payload: any): payload is PlainObject;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is an object like a type passed in < >
|
||||
*
|
||||
* Usage: isObjectLike<{id: any}>(payload) // will make sure it's an object and has an `id` prop.
|
||||
*
|
||||
* @template T This must be passed in < >
|
||||
* @param {any} payload
|
||||
* @returns {payload is T}
|
||||
*/
|
||||
declare function isObjectLike<T extends PlainObject>(payload: any): payload is T;
|
||||
|
||||
type TypeGuard<A, B extends A> = (payload: A) => payload is B;
|
||||
/**
|
||||
* A factory function that creates a function to check if the payload is one of the given types.
|
||||
*
|
||||
* @example
|
||||
* import { isOneOf, isNull, isUndefined } from 'is-what'
|
||||
*
|
||||
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
|
||||
*
|
||||
* isNullOrUndefined(null) // true
|
||||
* isNullOrUndefined(undefined) // true
|
||||
* isNullOrUndefined(123) // false
|
||||
*/
|
||||
declare function isOneOf<A, B extends A, C extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>): TypeGuard<A, B | C>;
|
||||
/**
|
||||
* A factory function that creates a function to check if the payload is one of the given types.
|
||||
*
|
||||
* @example
|
||||
* import { isOneOf, isNull, isUndefined } from 'is-what'
|
||||
*
|
||||
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
|
||||
*
|
||||
* isNullOrUndefined(null) // true
|
||||
* isNullOrUndefined(undefined) // true
|
||||
* isNullOrUndefined(123) // false
|
||||
*/
|
||||
declare function isOneOf<A, B extends A, C extends A, D extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>): TypeGuard<A, B | C | D>;
|
||||
/**
|
||||
* A factory function that creates a function to check if the payload is one of the given types.
|
||||
*
|
||||
* @example
|
||||
* import { isOneOf, isNull, isUndefined } from 'is-what'
|
||||
*
|
||||
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
|
||||
*
|
||||
* isNullOrUndefined(null) // true
|
||||
* isNullOrUndefined(undefined) // true
|
||||
* isNullOrUndefined(123) // false
|
||||
*/
|
||||
declare function isOneOf<A, B extends A, C extends A, D extends A, E extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>, d: TypeGuard<A, E>): TypeGuard<A, B | C | D | E>;
|
||||
/**
|
||||
* A factory function that creates a function to check if the payload is one of the given types.
|
||||
*
|
||||
* @example
|
||||
* import { isOneOf, isNull, isUndefined } from 'is-what'
|
||||
*
|
||||
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
|
||||
*
|
||||
* isNullOrUndefined(null) // true
|
||||
* isNullOrUndefined(undefined) // true
|
||||
* isNullOrUndefined(123) // false
|
||||
*/
|
||||
declare function isOneOf<A, B extends A, C extends A, D extends A, E extends A, F extends A>(a: TypeGuard<A, B>, b: TypeGuard<A, C>, c: TypeGuard<A, D>, d: TypeGuard<A, E>, e: TypeGuard<A, F>): TypeGuard<A, B | C | D | E | F>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a positive number (but not 0)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is number}
|
||||
*/
|
||||
declare function isPositiveNumber(payload: any): payload is number;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a primitive type (eg. Boolean | Null | Undefined | Number | String
|
||||
* | Symbol)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {(payload is boolean | null | undefined | number | string | symbol)}
|
||||
*/
|
||||
declare function isPrimitive(payload: any): payload is boolean | null | undefined | number | string | symbol;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Promise
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Promise<any>}
|
||||
*/
|
||||
declare function isPromise(payload: any): payload is Promise<any>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a regular expression (RegExp)
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is RegExp}
|
||||
*/
|
||||
declare function isRegExp(payload: any): payload is RegExp;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Set
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is Set<any>}
|
||||
*/
|
||||
declare function isSet(payload: any): payload is Set<any>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a string
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is string}
|
||||
*/
|
||||
declare function isString(payload: any): payload is string;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a Symbol
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is symbol}
|
||||
*/
|
||||
declare function isSymbol(payload: any): payload is symbol;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is undefined
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is undefined}
|
||||
*/
|
||||
declare function isUndefined(payload: any): payload is undefined;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a WeakMap
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is WeakMap<any, any>}
|
||||
*/
|
||||
declare function isWeakMap(payload: any): payload is WeakMap<any, any>;
|
||||
|
||||
/**
|
||||
* Returns whether the payload is a WeakSet
|
||||
*
|
||||
* @param {any} payload
|
||||
* @returns {payload is WeakSet<any>}
|
||||
*/
|
||||
declare function isWeakSet(payload: any): payload is WeakSet<any>;
|
||||
|
||||
type AnyAsyncFunction = (...args: any[]) => Promise<any>;
|
||||
|
||||
export { AnyAsyncFunction, AnyClass, AnyFunction, PlainObject, getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullArray, isFullObject, isFullString, isFunction, isInstanceOf, isMap, isNaNValue, isNegativeNumber, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isOneOf, isPlainObject, isPositiveNumber, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };
|
171
node_modules/is-what/dist/index.js
generated
vendored
Normal file
171
node_modules/is-what/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,171 @@
|
||||
function getType(payload) {
|
||||
return Object.prototype.toString.call(payload).slice(8, -1);
|
||||
}
|
||||
|
||||
function isAnyObject(payload) {
|
||||
return getType(payload) === "Object";
|
||||
}
|
||||
|
||||
function isArray(payload) {
|
||||
return getType(payload) === "Array";
|
||||
}
|
||||
|
||||
function isBlob(payload) {
|
||||
return getType(payload) === "Blob";
|
||||
}
|
||||
|
||||
function isBoolean(payload) {
|
||||
return getType(payload) === "Boolean";
|
||||
}
|
||||
|
||||
function isDate(payload) {
|
||||
return getType(payload) === "Date" && !isNaN(payload);
|
||||
}
|
||||
|
||||
function isEmptyArray(payload) {
|
||||
return isArray(payload) && payload.length === 0;
|
||||
}
|
||||
|
||||
function isPlainObject(payload) {
|
||||
if (getType(payload) !== "Object")
|
||||
return false;
|
||||
const prototype = Object.getPrototypeOf(payload);
|
||||
return !!prototype && prototype.constructor === Object && prototype === Object.prototype;
|
||||
}
|
||||
|
||||
function isEmptyObject(payload) {
|
||||
return isPlainObject(payload) && Object.keys(payload).length === 0;
|
||||
}
|
||||
|
||||
function isEmptyString(payload) {
|
||||
return payload === "";
|
||||
}
|
||||
|
||||
function isError(payload) {
|
||||
return getType(payload) === "Error" || payload instanceof Error;
|
||||
}
|
||||
|
||||
function isFile(payload) {
|
||||
return getType(payload) === "File";
|
||||
}
|
||||
|
||||
function isFullArray(payload) {
|
||||
return isArray(payload) && payload.length > 0;
|
||||
}
|
||||
|
||||
function isFullObject(payload) {
|
||||
return isPlainObject(payload) && Object.keys(payload).length > 0;
|
||||
}
|
||||
|
||||
function isString(payload) {
|
||||
return getType(payload) === "String";
|
||||
}
|
||||
|
||||
function isFullString(payload) {
|
||||
return isString(payload) && payload !== "";
|
||||
}
|
||||
|
||||
function isFunction(payload) {
|
||||
return typeof payload === "function";
|
||||
}
|
||||
|
||||
function isType(payload, type) {
|
||||
if (!(type instanceof Function)) {
|
||||
throw new TypeError("Type must be a function");
|
||||
}
|
||||
if (!Object.prototype.hasOwnProperty.call(type, "prototype")) {
|
||||
throw new TypeError("Type is not a class");
|
||||
}
|
||||
const name = type.name;
|
||||
return getType(payload) === name || Boolean(payload && payload.constructor === type);
|
||||
}
|
||||
|
||||
function isInstanceOf(value, classOrClassName) {
|
||||
if (typeof classOrClassName === "function") {
|
||||
for (let p = value; p; p = Object.getPrototypeOf(p)) {
|
||||
if (isType(p, classOrClassName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
} else {
|
||||
for (let p = value; p; p = Object.getPrototypeOf(p)) {
|
||||
if (getType(p) === classOrClassName) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function isMap(payload) {
|
||||
return getType(payload) === "Map";
|
||||
}
|
||||
|
||||
function isNaNValue(payload) {
|
||||
return getType(payload) === "Number" && isNaN(payload);
|
||||
}
|
||||
|
||||
function isNumber(payload) {
|
||||
return getType(payload) === "Number" && !isNaN(payload);
|
||||
}
|
||||
|
||||
function isNegativeNumber(payload) {
|
||||
return isNumber(payload) && payload < 0;
|
||||
}
|
||||
|
||||
function isNull(payload) {
|
||||
return getType(payload) === "Null";
|
||||
}
|
||||
|
||||
function isOneOf(a, b, c, d, e) {
|
||||
return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);
|
||||
}
|
||||
|
||||
function isUndefined(payload) {
|
||||
return getType(payload) === "Undefined";
|
||||
}
|
||||
|
||||
const isNullOrUndefined = isOneOf(isNull, isUndefined);
|
||||
|
||||
function isObject(payload) {
|
||||
return isPlainObject(payload);
|
||||
}
|
||||
|
||||
function isObjectLike(payload) {
|
||||
return isAnyObject(payload);
|
||||
}
|
||||
|
||||
function isPositiveNumber(payload) {
|
||||
return isNumber(payload) && payload > 0;
|
||||
}
|
||||
|
||||
function isSymbol(payload) {
|
||||
return getType(payload) === "Symbol";
|
||||
}
|
||||
|
||||
function isPrimitive(payload) {
|
||||
return isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);
|
||||
}
|
||||
|
||||
function isPromise(payload) {
|
||||
return getType(payload) === "Promise";
|
||||
}
|
||||
|
||||
function isRegExp(payload) {
|
||||
return getType(payload) === "RegExp";
|
||||
}
|
||||
|
||||
function isSet(payload) {
|
||||
return getType(payload) === "Set";
|
||||
}
|
||||
|
||||
function isWeakMap(payload) {
|
||||
return getType(payload) === "WeakMap";
|
||||
}
|
||||
|
||||
function isWeakSet(payload) {
|
||||
return getType(payload) === "WeakSet";
|
||||
}
|
||||
|
||||
export { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullArray, isFullObject, isFullString, isFunction, isInstanceOf, isMap, isNaNValue, isNegativeNumber, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isOneOf, isPlainObject, isPositiveNumber, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };
|
Reference in New Issue
Block a user