UNPKG

toolset.io

Version:

前端开发常用工具集。

267 lines (266 loc) 7.04 kB
/** 当前环境是否为客户端 */ 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>;