UNPKG

2.46 kBTypeScriptView Raw
1/**
2 * @description 工具函数集合
3 * @author wangfupeng
4 */
5declare class NavUA {
6 _ua: string;
7 isOldEdge: boolean;
8 isFirefox: boolean;
9 constructor();
10 isIE(): boolean;
11 isWebkit(): boolean;
12}
13export declare const UA: NavUA;
14/**
15 * 获取随机字符
16 * @param prefix 前缀
17 */
18export declare function getRandom(prefix?: string): string;
19/**
20 * 替换 html 特殊字符
21 * @param html html 字符串
22 */
23export declare function replaceHtmlSymbol(html: string): string;
24export declare function replaceSpecialSymbol(value: string): string;
25interface Obj {
26 [key: string]: unknown;
27 [key: number]: unknown;
28}
29interface ArrObj {
30 length: number;
31 [key: number]: unknown;
32}
33/**
34 * 遍历对象或数组,执行回调函数
35 * @param obj 对象或数组
36 * @param fn 回调函数 (key, val) => {...}
37 */
38export declare function forEach<T extends ArrObj, V = T[Extract<keyof T, number>]>(obj: T, fn: (key: string, value: V) => boolean | void): void;
39export declare function forEach<T extends Obj>(obj: T, fn: (key: string, value: T[Extract<keyof T, string | number>]) => boolean | void): void;
40export declare function forEach<T extends unknown[]>(obj: T, fn: (key: string, value: T[Extract<keyof T, number>]) => boolean | void): void;
41/**
42 * 遍历类数组
43 * @param fakeArr 类数组
44 * @param fn 回调函数
45 */
46export declare function arrForEach<T extends {
47 length: number;
48 [key: number]: unknown;
49}>(fakeArr: T, fn: (this: T, item: T[number], index: number) => boolean | unknown): void;
50/**
51 * 节流
52 * @param fn 函数
53 * @param interval 间隔时间,毫秒
54 */
55export declare function throttle<C, T extends unknown[]>(fn: (this: C, ...args: T) => unknown, interval?: number): (this: C, ...args: T) => void;
56/**
57 * 防抖
58 * @param fn 函数
59 * @param delay 间隔时间,毫秒
60 */
61export declare function debounce<C, T extends unknown[]>(fn: (this: C, ...args: T) => void, delay?: number): (this: C, ...args: T) => void;
62/**
63 * isFunction 是否是函数
64 * @param fn 函数
65 */
66export declare function isFunction(fn: any): fn is Function;
67/**
68 * 引用与非引用值 深拷贝方法
69 * @param data
70 */
71export declare function deepClone<T>(data: T): T;
72/**
73 * 将可遍历的对象转换为数组
74 * @param data 可遍历的对象
75 */
76export declare function toArray<T>(data: T): any[];
77/**
78 * 唯一id生成
79 * @param length 随机数长度
80 */
81export declare function getRandomCode(): string;
82export {};