sculp-js 1.13.1 → 1.13.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +10 -11
  2. package/dist/cjs/_virtual/_commonjsHelpers.js +13 -0
  3. package/{lib → dist}/cjs/array.js +1 -1
  4. package/{lib → dist}/cjs/async.js +1 -1
  5. package/{lib/cjs/we-decode.js → dist/cjs/base64.js} +53 -44
  6. package/{lib → dist}/cjs/clipboard.js +4 -2
  7. package/{lib → dist}/cjs/cloneDeep.js +1 -1
  8. package/{lib → dist}/cjs/cookie.js +1 -1
  9. package/{lib → dist}/cjs/date.js +1 -1
  10. package/{lib → dist}/cjs/dom.js +1 -1
  11. package/{lib → dist}/cjs/download.js +4 -2
  12. package/dist/cjs/easing.js +75 -0
  13. package/{lib → dist}/cjs/file.js +7 -3
  14. package/{lib → dist}/cjs/func.js +1 -1
  15. package/{lib → dist}/cjs/index.js +11 -8
  16. package/{lib → dist}/cjs/math.js +1 -1
  17. package/dist/cjs/node_modules/bezier-easing/src/index.js +123 -0
  18. package/{lib → dist}/cjs/number.js +1 -1
  19. package/{lib → dist}/cjs/object.js +1 -1
  20. package/{lib → dist}/cjs/path.js +1 -1
  21. package/{lib → dist}/cjs/qs.js +1 -1
  22. package/{lib → dist}/cjs/random.js +1 -1
  23. package/{lib → dist}/cjs/string.js +1 -1
  24. package/{lib → dist}/cjs/tooltip.js +5 -2
  25. package/{lib → dist}/cjs/tree.js +9 -23
  26. package/{lib → dist}/cjs/type.js +8 -1
  27. package/{lib → dist}/cjs/unique.js +1 -1
  28. package/{lib → dist}/cjs/url.js +1 -1
  29. package/{lib → dist}/cjs/validator.js +1 -1
  30. package/{lib → dist}/cjs/variable.js +1 -1
  31. package/{lib → dist}/cjs/watermark.js +4 -2
  32. package/{lib/es → dist/esm}/array.js +1 -1
  33. package/{lib/es → dist/esm}/async.js +1 -1
  34. package/{lib/es/we-decode.js → dist/esm/base64.js} +52 -45
  35. package/{lib/es → dist/esm}/clipboard.js +4 -2
  36. package/{lib/es → dist/esm}/cloneDeep.js +1 -1
  37. package/{lib/es → dist/esm}/cookie.js +1 -1
  38. package/{lib/es → dist/esm}/date.js +1 -1
  39. package/{lib/es → dist/esm}/dom.js +1 -1
  40. package/{lib/es → dist/esm}/download.js +4 -2
  41. package/{lib/es → dist/esm}/easing.js +34 -2
  42. package/{lib/es → dist/esm}/file.js +7 -3
  43. package/{lib/es → dist/esm}/func.js +1 -1
  44. package/{lib/es → dist/esm}/index.js +4 -5
  45. package/{lib/es → dist/esm}/math.js +1 -1
  46. package/{lib/es → dist/esm}/number.js +1 -1
  47. package/{lib/es → dist/esm}/object.js +1 -1
  48. package/{lib/es → dist/esm}/path.js +1 -1
  49. package/{lib/es → dist/esm}/qs.js +1 -1
  50. package/{lib/es → dist/esm}/random.js +1 -1
  51. package/{lib/es → dist/esm}/string.js +1 -1
  52. package/{lib/es → dist/esm}/tooltip.js +5 -2
  53. package/{lib/es → dist/esm}/tree.js +10 -24
  54. package/{lib/es → dist/esm}/type.js +8 -2
  55. package/{lib/es → dist/esm}/unique.js +1 -1
  56. package/{lib/es → dist/esm}/url.js +1 -1
  57. package/{lib/es → dist/esm}/validator.js +1 -1
  58. package/{lib/es → dist/esm}/variable.js +1 -1
  59. package/{lib/es → dist/esm}/watermark.js +4 -2
  60. package/dist/types/array.d.ts +50 -0
  61. package/dist/types/array.d.ts.map +1 -0
  62. package/dist/types/async.d.ts +37 -0
  63. package/dist/types/async.d.ts.map +1 -0
  64. package/dist/types/base64.d.ts +25 -0
  65. package/dist/types/base64.d.ts.map +1 -0
  66. package/dist/types/clipboard.d.ts +20 -0
  67. package/dist/types/clipboard.d.ts.map +1 -0
  68. package/dist/types/cloneDeep.d.ts +12 -0
  69. package/dist/types/cloneDeep.d.ts.map +1 -0
  70. package/dist/types/cookie.d.ts +19 -0
  71. package/dist/types/cookie.d.ts.map +1 -0
  72. package/dist/types/core-index.d.ts +17 -0
  73. package/dist/types/core-index.d.ts.map +1 -0
  74. package/dist/types/date.d.ts +74 -0
  75. package/dist/types/date.d.ts.map +1 -0
  76. package/dist/types/dom.d.ts +74 -0
  77. package/dist/types/dom.d.ts.map +1 -0
  78. package/dist/types/download.d.ts +47 -0
  79. package/dist/types/download.d.ts.map +1 -0
  80. package/dist/types/easing.d.ts +32 -0
  81. package/dist/types/easing.d.ts.map +1 -0
  82. package/dist/types/file.d.ts +44 -0
  83. package/dist/types/file.d.ts.map +1 -0
  84. package/dist/types/func.d.ts +50 -0
  85. package/dist/types/func.d.ts.map +1 -0
  86. package/dist/types/index.d.ts +28 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/index.js +3278 -0
  89. package/dist/types/math.d.ts +36 -0
  90. package/dist/types/math.d.ts.map +1 -0
  91. package/dist/types/number.d.ts +49 -0
  92. package/dist/types/number.d.ts.map +1 -0
  93. package/dist/types/object.d.ts +70 -0
  94. package/dist/types/object.d.ts.map +1 -0
  95. package/dist/types/path.d.ts +14 -0
  96. package/dist/types/path.d.ts.map +1 -0
  97. package/dist/types/qs.d.ts +22 -0
  98. package/dist/types/qs.d.ts.map +1 -0
  99. package/dist/types/random.d.ts +27 -0
  100. package/dist/types/random.d.ts.map +1 -0
  101. package/dist/types/string.d.ts +67 -0
  102. package/dist/types/string.d.ts.map +1 -0
  103. package/dist/types/tooltip.d.ts +36 -0
  104. package/dist/types/tooltip.d.ts.map +1 -0
  105. package/dist/types/tree.d.ts +99 -0
  106. package/dist/types/tree.d.ts.map +1 -0
  107. package/dist/types/type.d.ts +128 -0
  108. package/dist/types/type.d.ts.map +1 -0
  109. package/dist/types/unique.d.ts +21 -0
  110. package/dist/types/unique.d.ts.map +1 -0
  111. package/dist/types/url.d.ts +46 -0
  112. package/dist/types/url.d.ts.map +1 -0
  113. package/dist/types/validator.d.ts +67 -0
  114. package/dist/types/validator.d.ts.map +1 -0
  115. package/dist/types/variable.d.ts +71 -0
  116. package/dist/types/variable.d.ts.map +1 -0
  117. package/dist/types/watermark.d.ts +19 -0
  118. package/dist/types/watermark.d.ts.map +1 -0
  119. package/dist/umd/index.min.js +6 -0
  120. package/package.json +234 -17
  121. package/lib/cjs/base64.js +0 -62
  122. package/lib/cjs/easing.js +0 -40
  123. package/lib/cjs/isEqual.js +0 -133
  124. package/lib/es/base64.js +0 -59
  125. package/lib/es/isEqual.js +0 -131
  126. package/lib/index.d.ts +0 -1214
  127. package/lib/umd/index.js +0 -6
@@ -0,0 +1,36 @@
1
+ /**
2
+ * 数值安全乘法
3
+ * @param arg1 数值1
4
+ * @param arg2 数值2
5
+ */
6
+ export declare const multiply: (arg1: number, arg2: number) => number;
7
+ /**
8
+ * 数值安全加法
9
+ * @param arg1 数值1
10
+ * @param arg2 数值2
11
+ */
12
+ export declare const add: (arg1: number, arg2: number) => number;
13
+ /**
14
+ * 数值安全减法
15
+ * @param arg1 数值1
16
+ * @param arg2 数值2
17
+ */
18
+ export declare const subtract: (arg1: number, arg2: number) => number;
19
+ /**
20
+ * 数值安全除法
21
+ * @param arg1 数值1
22
+ * @param arg2 数值2
23
+ */
24
+ export declare const divide: (arg1: number, arg2: number) => number;
25
+ type NumberType = number | string;
26
+ /**
27
+ * Correct the given number to specifying significant digits.
28
+ *
29
+ * @param num The input number
30
+ * @param precision An integer specifying the number of significant digits
31
+ *
32
+ * @example strip(0.09999999999999998) === 0.1 // true
33
+ */
34
+ export declare function strip(num: NumberType, precision?: number): number;
35
+ export {};
36
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,QAAQ,MAAM,KAAG,MASrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,GAAG,SAAU,MAAM,QAAQ,MAAM,KAAG,MAoBhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,QAAQ,MAAM,KAAG,MAA0B,CAAC;AAEjF;;;;GAIG;AACH,eAAO,MAAM,MAAM,SAAU,MAAM,QAAQ,MAAM,KAAG,MAanD,CAAC;AAEF,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAElC;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,SAAK,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,49 @@
1
+ export declare const HEX_POOL: string;
2
+ /**
3
+ * 将十进制转换成任意进制
4
+ * @param {number | string} decimal 十进制数值或字符串,可以是任意长度,会使用大数进行计算
5
+ * @param {string} [hexPool] 进制池,默认 62 进制
6
+ * @returns {string}
7
+ */
8
+ export declare function numberToHex(decimal: number | string, hexPool?: string): string;
9
+ interface INumberAbbr {
10
+ ratio?: number;
11
+ decimals?: number;
12
+ separator?: string;
13
+ }
14
+ /**
15
+ * 将数字转换为携带单位的字符串
16
+ * @param {number | string} num
17
+ * @param {Array<string>} units
18
+ * @param {INumberAbbr} options default: { ratio: 1000, decimals: 0, separator: ' ' }
19
+ * @returns {string}
20
+ */
21
+ export declare const numberAbbr: (num: number | string, units: Array<string>, options?: INumberAbbr) => string;
22
+ interface IHumanFileSizeOptions {
23
+ decimals?: number;
24
+ si?: boolean;
25
+ separator?: string;
26
+ baseUnit?: string;
27
+ maxUnit?: string;
28
+ }
29
+ /**
30
+ * Converting file size in bytes to human-readable string
31
+ * reference: https://zh.wikipedia.org/wiki/%E5%8D%83%E5%AD%97%E8%8A%82
32
+ * @param {number | string} num bytes Number in Bytes
33
+ * @param {IHumanFileSizeOptions} options default: { decimals = 0, si = false, separator = ' ' }
34
+ * si: True to use metric (SI) units, aka powers of 1000, the units is
35
+ * ['B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'].
36
+ * False to use binary (IEC), aka powers of 1024, the units is
37
+ * ['Byte', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']
38
+ * @returns
39
+ */
40
+ export declare function humanFileSize(num: number | string, options?: IHumanFileSizeOptions): string;
41
+ /**
42
+ * 将数字格式化成千位分隔符显示的字符串
43
+ * @param {number|string} num 数字
44
+ * @param {number} decimals 格式化成指定小数位精度的参数
45
+ * @returns {string}
46
+ */
47
+ export declare function formatNumber(num: number | string, decimals?: number): string;
48
+ export { formatNumber as formatMoney };
49
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/number.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,QAAgF,CAAC;AAiBtG;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,GAAE,MAAiB,GAAG,MAAM,CA0BxF;AACD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,QAChB,MAAM,GAAG,MAAM,SACb,MAAM,MAAM,CAAC,YACX,WAAW,KACnB,MAgBF,CAAC;AACF,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,OAAO,GAAE,qBAAkE,GAC1E,MAAM,CAkBR;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAW5E;AACD,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { AnyArray, AnyObject, ArrayElements } from './type';
2
+ /**
3
+ * 判断对象是否为纯对象
4
+ * @param {object} obj
5
+ * @returns {boolean}
6
+ */
7
+ export declare const isPlainObject: (obj: unknown) => boolean;
8
+ /**
9
+ * 遍历对象,返回 false 中断遍历
10
+ * @param {O} obj
11
+ * @param {(val: O[keyof O], key: keyof O) => (boolean | void)} iterator
12
+ */
13
+ export declare function objectEach<O extends AnyObject>(obj: O, iterator: (val: O[keyof O], key: Extract<keyof O, string>) => any): void;
14
+ /**
15
+ * 异步遍历对象,返回 false 中断遍历
16
+ * @param {O} obj
17
+ * @param {(val: O[keyof O], key: keyof O) => (boolean | void)} iterator
18
+ */
19
+ export declare function objectEachAsync<O extends AnyObject>(obj: O, iterator: (val: O[keyof O], key: Extract<keyof O, string>) => Promise<any> | any): Promise<void>;
20
+ /**
21
+ * 对象映射
22
+ * @param {O} obj
23
+ * @param {(val: O[keyof O], key: Extract<keyof O, string>) => any} iterator
24
+ * @returns {Record<Extract<keyof O, string>, T>}
25
+ */
26
+ export declare function objectMap<O extends AnyObject, T>(obj: O, iterator: (val: O[keyof O], key: Extract<keyof O, string>) => any): Record<Extract<keyof O, string>, T>;
27
+ /**
28
+ * 对象提取
29
+ * @param {O} obj
30
+ * @param {K} keys
31
+ * @returns {Pick<O, ArrayElements<K>>}
32
+ */
33
+ export declare function objectPick<O extends AnyObject, K extends Extract<keyof O, string>[]>(obj: O, keys: K): Pick<O, ArrayElements<K>>;
34
+ /**
35
+ * 对象去除
36
+ * @param {O} obj
37
+ * @param {K} keys
38
+ * @returns {Pick<O, ArrayElements<K>>}
39
+ */
40
+ export declare function objectOmit<O extends AnyObject, K extends Extract<keyof O, string>[]>(obj: O, keys: K): Omit<O, ArrayElements<K>>;
41
+ export type ObjectAssignItem = AnyObject | AnyArray;
42
+ /**
43
+ * 对象合并,返回原始对象
44
+ * @param {ObjectAssignItem} source
45
+ * @param {ObjectAssignItem | undefined} targets
46
+ * @returns {R}
47
+ */
48
+ export declare function objectAssign<R = AnyObject | AnyArray>(source: ObjectAssignItem, ...targets: (ObjectAssignItem | undefined)[]): R;
49
+ export { objectAssign as objectMerge };
50
+ /**
51
+ * 对象填充
52
+ * @param {Partial<R>} source
53
+ * @param {Partial<R>} target
54
+ * @param {(s: Partial<R>, t: Partial<R>, key: keyof R) => boolean} fillable
55
+ * @returns {R}
56
+ */
57
+ export declare function objectFill<R extends AnyObject = AnyObject>(source: Partial<R>, target: Partial<R>, fillable?: (s: typeof source, t: typeof target, key: keyof R) => boolean): R;
58
+ /**
59
+ * 获取对象/数组指定层级下的属性值(现在可用ES6+的可选链?.来替代)
60
+ * @param {AnyObject} obj
61
+ * @param {string} path
62
+ * @param {boolean} strict
63
+ * @returns
64
+ */
65
+ export declare function objectGet(obj: AnyObject | AnyArray | undefined, path: string, strict?: boolean): {
66
+ p: any | undefined;
67
+ k: string | undefined;
68
+ v: any | undefined;
69
+ };
70
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/object.ts"],"names":[],"mappings":"AAAA,OAAe,EACb,QAAQ,EACR,SAAS,EACT,aAAa,EAMd,MAAM,QAAQ,CAAC;AAEhB;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAS,OAAO,KAAG,OAO5C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAC5C,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GAChE,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,EACvD,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAC/E,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EAC9C,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GAChE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAUrC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,EAClF,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,GACN,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAW3B;AACD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,EAClF,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,GACN,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAW3B;AA4CD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAMpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,EACnD,MAAM,EAAE,gBAAgB,EACxB,GAAG,OAAO,EAAE,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAAE,GAC3C,CAAC,CAWH;AACD,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACxD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,MAAM,EAAE,CAAC,EAAE,OAAO,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,OAAO,GACvE,CAAC,CASH;AACD;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,UAAQ,GACb;IACD,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IACnB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtB,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CACpB,CA4BA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 标准化路径
3
+ * @param {string} path
4
+ * @returns {string}
5
+ */
6
+ export declare const pathNormalize: (path: string) => string;
7
+ /**
8
+ * 路径合并
9
+ * @param {string} from
10
+ * @param {string} to
11
+ * @returns {string}
12
+ */
13
+ export declare const pathJoin: (from: string, ...to: string[]) => string;
14
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,MA8C5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,SAAS,MAAM,EAAE,KAAG,MAAgD,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface Params<T = string | number> {
2
+ [key: string]: T | Array<T>;
3
+ }
4
+ /**
5
+ * 解析查询参数,内部使用的是浏览器内置的 URLSearchParams 进行处理
6
+ * @param {string} queryString
7
+ * @returns {Params}
8
+ */
9
+ export declare function qsParse(queryString: string): Params;
10
+ export type LooseParamValue = string | number | boolean | Date | null | undefined;
11
+ export interface LooseParams<T = LooseParamValue> {
12
+ [key: string]: T | Array<T>;
13
+ }
14
+ export type Replacer = (value: LooseParamValue) => string | null;
15
+ /**
16
+ * 字符化查询对象,内部使用的是浏览器内置的 URLSearchParams 进行处理
17
+ * @param {LooseParams} query
18
+ * @param {Replacer} replacer
19
+ * @returns {string}
20
+ */
21
+ export declare function qsStringify(query: LooseParams, replacer?: Replacer): string;
22
+ //# sourceMappingURL=qs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qs.d.ts","sourceRoot":"","sources":["../../src/qs.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkBnD;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAClF,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,eAAe;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CAC7B;AACD,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,GAAG,IAAI,CAAC;AASjE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,GAAE,QAA0B,GAAG,MAAM,CAsB5F"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 随机整数
3
+ * @param {number} min
4
+ * @param {number} max
5
+ * @returns {number}
6
+ */
7
+ export declare const randomNumber: (min: number, max: number) => number;
8
+ export declare const STRING_POOL: string;
9
+ export interface RandomString {
10
+ (length: number, pool: string): string;
11
+ (length: number): string;
12
+ (pool: string): string;
13
+ (): string;
14
+ }
15
+ /**
16
+ * 随机字符串
17
+ * @param {number | string} length
18
+ * @param {string} pool
19
+ * @returns {string}
20
+ */
21
+ export declare const randomString: RandomString;
22
+ /**
23
+ * 优先浏览器原生能力获取 UUID v4
24
+ * @returns {string}
25
+ */
26
+ export declare function randomUuid(): string;
27
+ //# sourceMappingURL=random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/random.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,QAAS,MAAM,OAAO,MAAM,KAAG,MAA2D,CAAC;AAEpH,eAAO,MAAM,WAAW,QAAgF,CAAC;AAEzG,MAAM,WAAW,YAAY;IAC3B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,MAAM,CAAC;CACZ;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,YA0B1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAcnC"}
@@ -0,0 +1,67 @@
1
+ import { AnyObject } from './type';
2
+ /**
3
+ * 将字符串转换为驼峰格式
4
+ * @param {string} string
5
+ * @param {boolean} [bigger] 是否大写第一个字母
6
+ * @returns {string}
7
+ */
8
+ export declare function stringCamelCase(string: string, bigger?: boolean): string;
9
+ /**
10
+ * 将字符串转换为连字格式
11
+ * @param {string} string
12
+ * @param {string} [separator] 分隔符,默认是"-"(短横线)
13
+ * @returns {string}
14
+ */
15
+ export declare function stringKebabCase(string: string, separator?: string): string;
16
+ export declare const STRING_ARABIC_NUMERALS = "0123456789";
17
+ export declare const STRING_LOWERCASE_ALPHA = "abcdefghijklmnopqrstuvwxyz";
18
+ export declare const STRING_UPPERCASE_ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
19
+ /**
20
+ * 字符串格式化
21
+ * @example
22
+ * ```js
23
+ * stringFormat("My name is %s.", "zhangsan")
24
+ * // => "My name is zhangsan."
25
+ * ```
26
+ * @param {string} string 字符串模板,使用 %s 表示字符串,%d 表示数值,%o 表示对象,%% 表示百分号,参考 console.log
27
+ * @param args
28
+ * @returns {string}
29
+ */
30
+ export declare function stringFormat(string: string, ...args: Array<unknown>): string;
31
+ /**
32
+ * 字符串赋值
33
+ * @example
34
+ * ```js
35
+ * stringAssign('My name is ${user}.', { user: 'zhangsan' });
36
+ * // => "My name is zhangsan."
37
+ * ```
38
+ * @param {string} template
39
+ * @param {AnyObject} data
40
+ * @returns {string}
41
+ */
42
+ export declare const stringAssign: (template: string, data: AnyObject) => string;
43
+ /**
44
+ * 字符串编码 HTML
45
+ * @example
46
+ * ```js
47
+ * stringEscapeHtml('<b>You & Me speak "xixi"</b>')
48
+ * // => "&lt;b&gt;You &amp; Me speak &quot;xixi&quot;&lt;/b&gt;"
49
+ * ```
50
+ * @param {string} html
51
+ * @returns {string}
52
+ */
53
+ export declare const stringEscapeHtml: (html: string) => string;
54
+ /**
55
+ * 字符串填充
56
+ * @param {number} length
57
+ * @param {string} value
58
+ * @returns {string}
59
+ */
60
+ export declare const stringFill: (length: number, value?: string) => string;
61
+ /**
62
+ * 解析URL查询参数
63
+ * @param {string} searchStr
64
+ * @returns {Record<string, string | string[]>}
65
+ */
66
+ export declare function parseQueryParams(searchStr?: string): Record<string, string | string[]>;
67
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,QAAQ,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAUxE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAIvE;AAED,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AACnE,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AAGnE;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAoB5E;AAkBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,aAAc,MAAM,QAAQ,SAAS,KAAG,MAEhE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,MAa/C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,WAAY,MAAM,qBAAgB,MAAgD,CAAC;AAE1G;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAYvG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * 自定义的 tooltip, 支持鼠标移动动悬浮提示
3
+ * @Desc 自定义的tooltip方法, 支持拖动悬浮提示
4
+ * Created by chendeqiao on 2017/5/8.
5
+ * @example
6
+ * <span onmouseleave="handleMouseLeave('#root')"
7
+ * onmousemove="handleMouseEnter({rootContainer: '#root', title: 'title content', event: event})"
8
+ * onmouseenter="handleMouseEnter({rootContainer:'#root', title: 'title content', event: event})">
9
+ * title content
10
+ * </span>
11
+ */
12
+ interface ITooltipParams {
13
+ rootContainer: HTMLElement | string;
14
+ title: string;
15
+ event: PointerEvent | MouseEvent;
16
+ bgColor?: string;
17
+ color?: string;
18
+ }
19
+ /**
20
+ * 自定义title提示功能的mouseenter事件句柄
21
+ * @param {ITooltipParams} param
22
+ * @returns {*}
23
+ */
24
+ declare function handleMouseEnter({ rootContainer, title, event, bgColor, color }: ITooltipParams): void;
25
+ /**
26
+ * 移除提示文案dom的事件句柄
27
+ * @param {string} rootContainer
28
+ * @returns {*}
29
+ */
30
+ declare function handleMouseLeave(rootContainer?: HTMLElement | string): void;
31
+ declare const tooltipEvent: {
32
+ handleMouseEnter: typeof handleMouseEnter;
33
+ handleMouseLeave: typeof handleMouseLeave;
34
+ };
35
+ export { tooltipEvent };
36
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/tooltip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,UAAU,cAAc;IACtB,aAAa,EAAE,WAAW,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,GAAG,UAAU,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,EACxB,aAAuB,EACvB,KAAK,EACL,KAAK,EACL,OAAgB,EAChB,KAAc,EACf,EAAE,cAAc,GAAG,IAAI,CA8CvB;AAoCD;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,aAAa,GAAE,WAAW,GAAG,MAAgB,GAAG,IAAI,CAQ7E;AACD,QAAA,MAAM,YAAY;;;CAAyC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,99 @@
1
+ export interface IFieldOptions {
2
+ keyField: string;
3
+ childField: string;
4
+ pidField: string;
5
+ }
6
+ export interface ISearchTreeOpts {
7
+ childField: string;
8
+ nameField: string;
9
+ removeEmptyChild: boolean;
10
+ ignoreCase: boolean;
11
+ }
12
+ export interface IFilterCondition<V> {
13
+ keyword?: string;
14
+ filter?: (args: V) => boolean;
15
+ }
16
+ /**
17
+ * 树遍历函数(支持continue和break操作), 可用于遍历Array和NodeList类型的数据
18
+ * @param {ArrayLike<V>} tree 树形数据
19
+ * @param {Function} iterator 迭代函数, 返回值为true时continue, 返回值为false时break
20
+ * @param {options} options 支持定制子元素名称、反向遍历、广度优先遍历,默认{
21
+ childField: 'children',
22
+ reverse: false,
23
+ breadthFirst: false
24
+ }
25
+ * @returns {*}
26
+ */
27
+ export declare function forEachDeep<V>(tree: ArrayLike<V>, iterator: (val: V, index: number, currentArr: ArrayLike<V>, tree: ArrayLike<V>, parent: V | null, level: number) => boolean | void, options?: {
28
+ childField?: string;
29
+ reverse?: boolean;
30
+ breadthFirst?: boolean;
31
+ isDomNode?: boolean;
32
+ }): void;
33
+ /**
34
+ * 创建一个新数组, 深度优先遍历的Map函数(支持continue和break操作), 可用于insert tree item 和 remove tree item
35
+ *
36
+ * 可遍历任何带有 length 属性和数字键的类数组对象
37
+ * @param {ArrayLike<V>} tree 树形数据
38
+ * @param {Function} iterator 迭代函数, 返回值为true时continue, 返回值为false时break
39
+ * @param {options} options 支持定制子元素名称、反向遍历,默认{
40
+ childField: 'children',
41
+ reverse: false,
42
+ }
43
+ * @returns {any[]} 新的一棵树
44
+ */
45
+ export declare function mapDeep<T>(tree: T[], iterator: (val: T, index: number, currentArr: T[], tree: T[], parent: T | null, level: number) => {
46
+ [k: string | number]: any;
47
+ } | boolean, options?: {
48
+ childField?: string;
49
+ reverse?: boolean;
50
+ breadthFirst?: boolean;
51
+ }): any[];
52
+ export type IdLike = number | string;
53
+ export type ITreeConf = Omit<IFieldOptions, 'pidField'>;
54
+ /**
55
+ * 在树中找到 id 为某个值的节点,并返回上游的所有父级节点
56
+ *
57
+ * @param {ArrayLike<T>} tree - 树形数据
58
+ * @param {number | string} nodeId - 目标元素ID
59
+ * @param {ITreeConf} options - 迭代配置项, 默认:{ children = 'children', id = 'id' }
60
+ * @returns {[(number | string)[], V[]]} - 由parentId...childId, parentObject-childObject组成的二维数组
61
+ */
62
+ export declare function searchTreeById<V>(tree: ArrayLike<V>, nodeId: IdLike, options?: ITreeConf): [(number | string)[], ArrayLike<V>[]];
63
+ /**
64
+ * 扁平化数组转换成树
65
+ * @param {any[]} list
66
+ * @param {IFieldOptions} options 定制id字段名,子元素字段名,父元素字段名,默认
67
+ * { keyField: 'key', childField: 'children', pidField: 'pid' }
68
+ * @returns {any[]}
69
+ */
70
+ export declare function formatTree(list: any[], options?: IFieldOptions): any[];
71
+ /**
72
+ * 树形结构转扁平化
73
+ * @param {any[]} treeList
74
+ * @param {IFieldOptions} options 定制id字段名,子元素字段名,父元素字段名,默认
75
+ * { keyField: 'key', childField: 'children', pidField: 'pid' }
76
+ * @returns {any[]}
77
+ */
78
+ export declare function flatTree(treeList: any[], options?: IFieldOptions): any[];
79
+ /**
80
+ * 模糊搜索函数,返回包含搜索字符的节点及其祖先节点, 适用于树型组件的字符过滤功能
81
+ * 以下搜索条件二选一,按先后优先级处理:
82
+ * 1. 过滤函数filter, 返回true/false
83
+ * 2. 匹配关键词,支持是否启用忽略大小写来判断
84
+ *
85
+ * 有以下特性:
86
+ * 1. 可配置removeEmptyChild字段,来决定是否移除搜索结果中的空children字段
87
+ * 2. 若无任何过滤条件或keyword模式匹配且keyword为空串,返回原对象;其他情况返回新数组
88
+ * @param {V[]} nodes
89
+ * @param {IFilterCondition} filterCondition
90
+ * @param {ISearchTreeOpts} options 默认配置项 {
91
+ childField: 'children',
92
+ nameField: 'name',
93
+ removeEmptyChild: false,
94
+ ignoreCase: true
95
+ }
96
+ * @returns {V[]}
97
+ */
98
+ export declare function fuzzySearchTree<V>(nodes: V[], filterCondition: IFilterCondition<V>, options?: ISearchTreeOpts): V[];
99
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/tree.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAOD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,QAAQ,EAAE,CACR,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE,CAAC,GAAG,IAAI,EAChB,KAAK,EAAE,MAAM,KACV,OAAO,GAAG,IAAI,EACnB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAK7F,GACA,IAAI,CAwGN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,EAAE,EACT,QAAQ,EAAE,CACR,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,CAAC,EAAE,EACf,IAAI,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,CAAC,GAAG,IAAI,EAChB,KAAK,EAAE,MAAM,KACV;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,OAAO,EAC5C,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAGxE,GACA,GAAG,EAAE,CAyDP;AACD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACrC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACxD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,SAAsD,GAC9D,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CA0BvC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,GAAE,aAAmC,GAAG,GAAG,EAAE,CAuB3F;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,GAAE,aAAmC,GAAG,GAAG,EAAE,CAqB7F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,KAAK,EAAE,CAAC,EAAE,EACV,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACpC,OAAO,GAAE,eAA0C,GAClD,CAAC,EAAE,CAkDL"}
@@ -0,0 +1,128 @@
1
+ /** 任意函数 */
2
+ export type AnyFunc<R = any> = (...args: any[]) => R;
3
+ /** 任意数组 */
4
+ export type AnyArray = any[];
5
+ /** 取出数组元素 */
6
+ export type ArrayElements<A> = A extends Array<infer R> ? R : never;
7
+ /** 任意对象 */
8
+ export type AnyObject = Record<string | number, any>;
9
+ /** 异步回调函数 */
10
+ export type AsyncCallback = {
11
+ successCallback?: Function;
12
+ failCallback?: Function;
13
+ };
14
+ export interface Fn<T = any, R = T> {
15
+ (...arg: T[]): R;
16
+ }
17
+ export interface PromiseFn<T = any, R = T> {
18
+ (...arg: T[]): Promise<R>;
19
+ }
20
+ /**
21
+ * 将除指定属性外的所有属性变为必填
22
+ *
23
+ * Change all properties except the specified properties to required
24
+ */
25
+ export type ChangeRequiredExcept<T, K extends keyof T> = Required<Omit<T, K>> & Partial<Pick<T, K>>;
26
+ /**
27
+ * 将指定属性变为可选
28
+ *
29
+ * Change the specified properties to optional
30
+ */
31
+ export type ChangeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
32
+ /**
33
+ * 将指定属性变为必填
34
+ *
35
+ * Change the specified properties to required
36
+ */
37
+ export type ChangeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
38
+ export type PartialDeep<T> = {
39
+ [P in keyof T]?: PartialDeep<T[P]>;
40
+ };
41
+ /**
42
+ * 判断对象内是否有该静态属性
43
+ * @param {object} obj
44
+ * @param {string} key
45
+ * @returns {boolean}
46
+ */
47
+ export declare function objectHas<T extends AnyObject>(obj: T, key: keyof T): boolean;
48
+ /**
49
+ * 判断一个对象是否为类数组
50
+ *
51
+ * @param any
52
+ * @returns {boolean}
53
+ */
54
+ export declare function arrayLike(any: unknown): boolean;
55
+ /**
56
+ * 判断任意值的数据类型,检查非对象时不如typeof、instanceof的性能高
57
+ *
58
+ * 当检查类对象时是不可靠的,对象可以通过定义 Symbol.toStringTag 属性来更改检查结果
59
+ *
60
+ * 详见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString
61
+ * @param {unknown} any
62
+ * @returns
63
+ */
64
+ export declare function typeIs(any: unknown): 'Null' | 'Undefined' | 'Symbol' | 'Boolean' | 'Number' | 'String' | 'Function' | 'Date' | 'RegExp' | 'Map' | 'Set' | 'ArrayBuffer' | 'Object' | 'Array' | 'Error' | 'BigInt' | 'Promise' | 'AsyncFunction' | string;
65
+ export declare const isString: (any: unknown) => any is string;
66
+ export declare const isBoolean: (any: unknown) => any is boolean;
67
+ export declare const isSymbol: (any: unknown) => any is symbol;
68
+ export declare const isBigInt: (any: unknown) => any is bigint;
69
+ export declare const isNumber: (any: unknown) => any is number;
70
+ export declare const isUndefined: (any: unknown) => any is undefined;
71
+ export declare const isNull: (any: unknown) => any is null;
72
+ export declare const isPrimitive: (any: unknown) => boolean;
73
+ export declare function isNullOrUnDef(val: unknown): val is null | undefined;
74
+ export { isNullOrUnDef as isNullish };
75
+ export declare const isObject: (any: unknown) => any is Record<string, unknown>;
76
+ export declare const isArray: (any: unknown) => any is unknown[];
77
+ /**
78
+ * 判断是否为函数
79
+ * @param {unknown} any
80
+ * @returns {boolean}
81
+ */
82
+ export declare const isFunction: (any: unknown) => any is Function;
83
+ export declare const isNaN: (any: unknown) => any is number;
84
+ export declare const isDate: (any: unknown) => any is Date;
85
+ export declare const isError: (any: unknown) => any is Error;
86
+ export declare const isRegExp: (any: unknown) => any is RegExp;
87
+ /**
88
+ * 判断一个字符串是否为有效的 JSON, 若有效则返回有效的JSON对象,否则false
89
+ * @param {string} str
90
+ * @returns {Object | boolean}
91
+ */
92
+ export declare function isJsonString(str: string): Object | boolean;
93
+ /**
94
+ * Checks if `value` is an empty object, collection, map, or set.
95
+ *
96
+ * Objects are considered empty if they have no own enumerable string keyed
97
+ * properties.
98
+ *
99
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
100
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
101
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
102
+ *
103
+ * @param {*} value The value to check.
104
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
105
+ * @example
106
+ *
107
+ * isEmpty(null);
108
+ * // => true
109
+ *
110
+ * isEmpty(true);
111
+ * // => true
112
+ *
113
+ * isEmpty(1);
114
+ * // => true
115
+ *
116
+ * isEmpty([1, 2, 3]);
117
+ * // => false
118
+ *
119
+ * isEmpty({ 'a': 1 });
120
+ * // => false
121
+ */
122
+ export declare function isEmpty(value: any): boolean;
123
+ /**
124
+ * Checks if `value` is an NodeList object
125
+ */
126
+ export declare function isNodeList(value: any): boolean;
127
+ export default typeIs;
128
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare const UNIQUE_NUMBER_SAFE_LENGTH = 18;
2
+ /**
3
+ * 生成唯一不重复数值
4
+ * @param {number} length
5
+ * @returns {string}
6
+ */
7
+ export declare const uniqueNumber: (length?: number) => string;
8
+ export interface UniqueString {
9
+ (length: number, pool: string): string;
10
+ (length: number): string;
11
+ (pool: string): string;
12
+ (): string;
13
+ }
14
+ /**
15
+ * 生成唯一不重复字符串
16
+ * @param {number | string} length
17
+ * @param {string} pool
18
+ * @returns {string}
19
+ */
20
+ export declare const uniqueString: UniqueString;
21
+ //# sourceMappingURL=unique.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unique.d.ts","sourceRoot":"","sources":["../../src/unique.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAI5C;;;;GAIG;AACH,eAAO,MAAM,YAAY,YAAY,MAAM,KAA+B,MA0BzE,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,MAAM,CAAC;CACZ;AAQD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,YAuB1B,CAAC"}