util.d.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /**
  2. * @description 工具函数集合
  3. * @author wangfupeng
  4. */
  5. declare class NavUA {
  6. _ua: string;
  7. isOldEdge: boolean;
  8. isFirefox: boolean;
  9. constructor();
  10. isIE(): boolean;
  11. isWebkit(): boolean;
  12. }
  13. export declare const UA: NavUA;
  14. /**
  15. * 获取随机字符
  16. * @param prefix 前缀
  17. */
  18. export declare function getRandom(prefix?: string): string;
  19. /**
  20. * 替换 html 特殊字符
  21. * @param html html 字符串
  22. */
  23. export declare function replaceHtmlSymbol(html: string): string;
  24. export declare function replaceSpecialSymbol(value: string): string;
  25. interface Obj {
  26. [key: string]: unknown;
  27. [key: number]: unknown;
  28. }
  29. interface ArrObj {
  30. length: number;
  31. [key: number]: unknown;
  32. }
  33. /**
  34. * 遍历对象或数组,执行回调函数
  35. * @param obj 对象或数组
  36. * @param fn 回调函数 (key, val) => {...}
  37. */
  38. export declare function forEach<T extends ArrObj, V = T[Extract<keyof T, number>]>(obj: T, fn: (key: string, value: V) => boolean | void): void;
  39. export declare function forEach<T extends Obj>(obj: T, fn: (key: string, value: T[Extract<keyof T, string | number>]) => boolean | void): void;
  40. export 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. */
  46. export 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. */
  55. export 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. */
  61. export 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. */
  66. export declare function isFunction(fn: any): fn is Function;
  67. /**
  68. * 引用与非引用值 深拷贝方法
  69. * @param data
  70. */
  71. export declare function deepClone<T>(data: T): T;
  72. /**
  73. * 将可遍历的对象转换为数组
  74. * @param data 可遍历的对象
  75. */
  76. export declare function toArray<T>(data: T): any[];
  77. /**
  78. * 唯一id生成
  79. * @param length 随机数长度
  80. */
  81. export declare function getRandomCode(): string;
  82. /**
  83. * hex color 转换成 rgb
  84. * @param hex string
  85. */
  86. export declare function hexToRgb(hex: string): string | null;
  87. export {};