toolset.io
Version:
267 lines (266 loc) • 7.04 kB
TypeScript
/** 当前环境是否为客户端 */
export declare const isClient: boolean;
/** 当前环境是否为 IOS */
export declare const isIOS: boolean | "";
/**
* 判断一个值是否为指定的类型
*
* @param value 需判断的值
* @param type 指定的类型,注意大小写
*
* @returns 类型是否匹配
*/
export declare function is(value: unknown, type: string): boolean;
/**
* 判断一个对象是否包含指定的键值
*
* @param value 需判断的对象
* @param key 指定的键值
*
* @returns 是否包含键值
*/
export declare function has(value: Record<string, any>, key: string | symbol): key is keyof typeof value;
/**
* 判断一个值是否已定义
*
* @param value 需判断的值
*
* @returns 是否已定义
*/
export declare function isDefined<T = unknown>(value: T | undefined | null): value is Exclude<T, undefined | null>;
/**
* 判断一个值是否未被定义
*
* @param value 需判断的值
*
* @returns 是否未定义
*/
export declare function isNull(value: unknown): value is null | undefined;
/**
* 判断一个值是否为数字
*
* @param value 需判断的值
*
* @returns 是否为数字
*/
export declare function isNumber(value: unknown): value is number;
/**
* 判断一个值是否为 `NaN`
*
* @param value 需判断的值
*
* @returns 是否为 `NaN`
*/
export declare function isNaN(value: unknown): value is number;
/**
* 判断一个值是否为字符串
*
* @param value 需判断的值
*
* @returns 是否为字符串
*/
export declare function isString(value: unknown): value is string;
/**
* 判断一个值是否为布尔值
*
* @param value 需判断的值
*
* @returns 是否为布尔值
*/
export declare function isBoolean(value: unknown): value is boolean;
/**
* 判断一个值是否为 `true`
*
* @param value 需判断的值
*
* @returns 是否为 `true`
*/
export declare function isTrue(value: unknown): value is true;
/**
* 判断一个值是否为 `false`
*
* @param value 需判断的值
*
* @returns 是否为 `false`
*/
export declare function isFalse(value: unknown): value is false;
/**
* 判断一个值是否为 `Symbol`
*
* @param value 需判断的值
*
* @returns 是否为 `Symbol`
*/
export declare function isSymbol(value: unknown): value is symbol;
/**
* 判断一个值是否为 `BigInt`
*
* @param value 需判断的值
*
* @returns 是否为 `BigInt`
*/
export declare function isBigInt(value: unknown): value is bigint;
/**
* 判断一个值是否为数组
*
* @param value 需判断的值
*
* @returns 是否为数组
*/
export declare function isArray<T = any>(value: unknown): value is T[];
/**
* 判断一个值是否为对象
*
* 注意,`null` 与原生的特殊对象不被包含
*
* @param value 需判断的值
*
* @returns 是否为对象
*/
export declare function isObject<T extends Record<any, any> = Record<any, any>>(value: unknown): value is T;
/**
* 判断一个值是否为 `Promise`
*
* 如果一个对象包含 `then` 和 `catch` 方法,则被认为是一个 `Promise`
*
* @param value 需判断的值
*
* @returns 是否为 `Promise`
*/
export declare function isPromise<T = any>(value: unknown): value is Promise<T>;
/**
* 判断一个值是否为函数
*
* @param value 需判断的值
*
* @returns 是否为函数
*/
export declare function isFunction(value: unknown): value is (...any: any[]) => any;
/**
* 判断一个值是否为 `Set`
*
* @param value 需判断的值
*
* @returns 是否为 `Set`
*/
export declare function isSet<T = any>(value: unknown): value is Set<T>;
/**
* 判断一个值是否为 `Map`
*
* @param value 需判断的值
*
* @returns 是否为 `Map`
*/
export declare function isMap<K = any, V = any>(value: unknown): value is Map<K, V>;
/**
* 判断一个值是否为 `Date`
*
* @param value 需判断的值
*
* @returns 是否为 `Date`
*/
export declare function isDate(value: unknown): value is Date;
/**
* 判断一个值是否为正则
*
* @param value 需判断的值
*
* @returns 是否为正则
*/
export declare function isRegExp(value: unknown): value is RegExp;
/**
* 判断一个值是否为空
*
* - 如果这是一个数组或字符串,则 `length` 为 `0` 时为空
* - 如果这是一个 `Set` 或 `Map`,则 `size` 为 `0` 时为空
* - 如果这是一个对象,则无任何键值时为空
* - 如果这是一个数字,则为 `NaN` 时为空
* - 其余情况下,未定义时为空
*
* @param value 需判断的值
*
* @returns 是否为空
*/
export declare function isEmpty(value: unknown): boolean;
/**
* 是否为空对象
* @param obj
*/
export declare function isEmptyObject(obj: any): boolean;
/**
* 判断一个值是否为 `Element`
*
* @param value 需判断的值
* @param ssr 是否考虑服务端渲染
*
* @returns 是否为 `Element`
*/
export declare function isElement<T extends Element = Element>(value: unknown, ssr?: boolean): value is T;
/**
* 判断一个值能否被迭代
*
* @param value 需判断的值
*
* @returns 能否被迭代
*/
export declare function isIterable(value: unknown): boolean;
/**
* 一个空的占位函数
*/
export declare function noop(...args: any[]): any;
/**
* 一个返回 `true` 的占位函数
*
* @returns `true`
*/
export declare function toTrue(...args: any[]): true;
/**
* 一个返回 `false` 的占位函数
*
* @returns `false`
*/
export declare function toFalse(...args: any[]): false;
/**
* 生成一个值递进的数组
*
* @param size 大小
* @param start 开始的数值,默认为 1
* @param step 跨度,默认为 1
*
* @returns 生成的数组
*/
export declare function range(size: number, start?: number, step?: number): number[];
/**
* 获取变量的类型
*
* @param value 任意变量
*
* @returns 变量的类型
*/
export declare function getType(value: unknown): string;
/**
* 根据长度生成一串随机的字符串
*
* @param length 字符串的长度
*
* @returns 生成的字符串
*/
export declare function randomString(length?: number): string;
/**
* 根据一系列判断条件,执行第一个为 `true` 的条件所对应的回调函数
*
* @param conditions 判断条件及回调函数
* @param options 额外的选项
*
* @returns 是否匹配了任一条件
*/
export declare function decide(conditions: [boolean | (() => boolean), () => void | Promise<void>][], options?: {
/**
* 当匹配任意一个条件时,会在该条件对应的回调函数执行前执行
*/
beforeMatchAny?: () => void | Promise<void>;
/**
* 当匹配任意一个条件时,会在该条件对应的回调函数执行完后执行
*/
afterMatchAny?: () => void | Promise<void>;
}): Promise<boolean>;