@allahjs/utils 0.0.1
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.
- package/LICENSE +21 -0
- package/README.md +244 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/browser/cookieUtils/index.cjs +100 -0
- package/dist/browser/cookieUtils/index.cjs.map +1 -0
- package/dist/browser/cookieUtils/index.d.ts +55 -0
- package/dist/browser/domUtils/index.cjs +237 -0
- package/dist/browser/domUtils/index.cjs.map +1 -0
- package/dist/browser/domUtils/index.d.ts +116 -0
- package/dist/browser/index.cjs +12 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/urlUtils/index.cjs +262 -0
- package/dist/browser/urlUtils/index.cjs.map +1 -0
- package/dist/browser/urlUtils/index.d.ts +72 -0
- package/dist/core/arrayUtils/index.cjs +109 -0
- package/dist/core/arrayUtils/index.cjs.map +1 -0
- package/dist/core/arrayUtils/index.d.ts +67 -0
- package/dist/core/asyncUtils/index.cjs +180 -0
- package/dist/core/asyncUtils/index.cjs.map +1 -0
- package/dist/core/asyncUtils/index.d.ts +80 -0
- package/dist/core/colorUtils/index.cjs +38 -0
- package/dist/core/colorUtils/index.cjs.map +1 -0
- package/dist/core/colorUtils/index.d.ts +10 -0
- package/dist/core/cryptoUtils/index.cjs +428 -0
- package/dist/core/cryptoUtils/index.cjs.map +1 -0
- package/dist/core/cryptoUtils/index.d.ts +132 -0
- package/dist/core/dateUtils/index.cjs +245 -0
- package/dist/core/dateUtils/index.cjs.map +1 -0
- package/dist/core/dateUtils/index.d.ts +117 -0
- package/dist/core/index.cjs +34 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.ts +118 -0
- package/dist/core/numberUtils/index.cjs +126 -0
- package/dist/core/numberUtils/index.cjs.map +1 -0
- package/dist/core/numberUtils/index.d.ts +91 -0
- package/dist/core/objectUtils/index.cjs +249 -0
- package/dist/core/objectUtils/index.cjs.map +1 -0
- package/dist/core/objectUtils/index.d.ts +91 -0
- package/dist/core/pageUtils/index.cjs +74 -0
- package/dist/core/pageUtils/index.cjs.map +1 -0
- package/dist/core/pageUtils/index.d.ts +52 -0
- package/dist/core/stringUtils/index.cjs +163 -0
- package/dist/core/stringUtils/index.cjs.map +1 -0
- package/dist/core/stringUtils/index.d.ts +69 -0
- package/dist/core/validationUtils/index.cjs +154 -0
- package/dist/core/validationUtils/index.cjs.map +1 -0
- package/dist/core/validationUtils/index.d.ts +87 -0
- package/dist/esm/browser/cookieUtils/index.d.ts +55 -0
- package/dist/esm/browser/cookieUtils/index.js +96 -0
- package/dist/esm/browser/cookieUtils/index.js.map +1 -0
- package/dist/esm/browser/domUtils/index.d.ts +116 -0
- package/dist/esm/browser/domUtils/index.js +233 -0
- package/dist/esm/browser/domUtils/index.js.map +1 -0
- package/dist/esm/browser/index.d.ts +3 -0
- package/dist/esm/browser/index.js +4 -0
- package/dist/esm/browser/index.js.map +1 -0
- package/dist/esm/browser/urlUtils/index.d.ts +72 -0
- package/dist/esm/browser/urlUtils/index.js +248 -0
- package/dist/esm/browser/urlUtils/index.js.map +1 -0
- package/dist/esm/core/arrayUtils/index.d.ts +67 -0
- package/dist/esm/core/arrayUtils/index.js +105 -0
- package/dist/esm/core/arrayUtils/index.js.map +1 -0
- package/dist/esm/core/asyncUtils/index.d.ts +80 -0
- package/dist/esm/core/asyncUtils/index.js +175 -0
- package/dist/esm/core/asyncUtils/index.js.map +1 -0
- package/dist/esm/core/colorUtils/index.d.ts +10 -0
- package/dist/esm/core/colorUtils/index.js +34 -0
- package/dist/esm/core/colorUtils/index.js.map +1 -0
- package/dist/esm/core/cryptoUtils/index.d.ts +132 -0
- package/dist/esm/core/cryptoUtils/index.js +424 -0
- package/dist/esm/core/cryptoUtils/index.js.map +1 -0
- package/dist/esm/core/dateUtils/index.d.ts +117 -0
- package/dist/esm/core/dateUtils/index.js +241 -0
- package/dist/esm/core/dateUtils/index.js.map +1 -0
- package/dist/esm/core/index.d.ts +118 -0
- package/dist/esm/core/index.js +30 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/numberUtils/index.d.ts +91 -0
- package/dist/esm/core/numberUtils/index.js +122 -0
- package/dist/esm/core/numberUtils/index.js.map +1 -0
- package/dist/esm/core/objectUtils/index.d.ts +91 -0
- package/dist/esm/core/objectUtils/index.js +245 -0
- package/dist/esm/core/objectUtils/index.js.map +1 -0
- package/dist/esm/core/pageUtils/index.d.ts +52 -0
- package/dist/esm/core/pageUtils/index.js +66 -0
- package/dist/esm/core/pageUtils/index.js.map +1 -0
- package/dist/esm/core/stringUtils/index.d.ts +69 -0
- package/dist/esm/core/stringUtils/index.js +159 -0
- package/dist/esm/core/stringUtils/index.js.map +1 -0
- package/dist/esm/core/validationUtils/index.d.ts +87 -0
- package/dist/esm/core/validationUtils/index.js +150 -0
- package/dist/esm/core/validationUtils/index.js.map +1 -0
- package/dist/esm/index.d.ts +22 -0
- package/dist/esm/index.js +26 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/request/ReqQueue/index.js +59 -0
- package/dist/esm/request/ReqQueue/index.js.map +1 -0
- package/dist/esm/request/httpCode/index.js +49 -0
- package/dist/esm/request/httpCode/index.js.map +1 -0
- package/dist/esm/request/httpUtils/index.js +359 -0
- package/dist/esm/request/httpUtils/index.js.map +1 -0
- package/dist/esm/request/index.d.ts +15 -0
- package/dist/esm/request/index.js +166 -0
- package/dist/esm/request/index.js.map +1 -0
- package/dist/esm/request/typings/index.d.ts +184 -0
- package/dist/esm/request/uniRequest/index.js +62 -0
- package/dist/esm/request/uniRequest/index.js.map +1 -0
- package/dist/esm/types/data/index.d.ts +188 -0
- package/dist/esm/types/data/index.js +13 -0
- package/dist/esm/types/data/index.js.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/uniapp/Tips/index.d.ts +295 -0
- package/dist/esm/uniapp/Tips/index.js +498 -0
- package/dist/esm/uniapp/Tips/index.js.map +1 -0
- package/dist/esm/uniapp/cloudUtils/index.d.ts +56 -0
- package/dist/esm/uniapp/cloudUtils/index.js +90 -0
- package/dist/esm/uniapp/cloudUtils/index.js.map +1 -0
- package/dist/esm/uniapp/index.d.ts +3 -0
- package/dist/esm/uniapp/index.js +4 -0
- package/dist/esm/uniapp/index.js.map +1 -0
- package/dist/esm/uniapp/uniUtils/index.d.ts +113 -0
- package/dist/esm/uniapp/uniUtils/index.js +199 -0
- package/dist/esm/uniapp/uniUtils/index.js.map +1 -0
- package/dist/index.cjs +88 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/request/ReqQueue/index.cjs +63 -0
- package/dist/request/ReqQueue/index.cjs.map +1 -0
- package/dist/request/httpCode/index.cjs +52 -0
- package/dist/request/httpCode/index.cjs.map +1 -0
- package/dist/request/httpUtils/index.cjs +365 -0
- package/dist/request/httpUtils/index.cjs.map +1 -0
- package/dist/request/index.cjs +170 -0
- package/dist/request/index.cjs.map +1 -0
- package/dist/request/index.d.ts +15 -0
- package/dist/request/typings/index.d.ts +184 -0
- package/dist/request/uniRequest/index.cjs +66 -0
- package/dist/request/uniRequest/index.cjs.map +1 -0
- package/dist/types/data/index.cjs +15 -0
- package/dist/types/data/index.cjs.map +1 -0
- package/dist/types/data/index.d.ts +188 -0
- package/dist/types/index.cjs +8 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/uniapp/Tips/index.cjs +521 -0
- package/dist/uniapp/Tips/index.cjs.map +1 -0
- package/dist/uniapp/Tips/index.d.ts +295 -0
- package/dist/uniapp/cloudUtils/index.cjs +92 -0
- package/dist/uniapp/cloudUtils/index.cjs.map +1 -0
- package/dist/uniapp/cloudUtils/index.d.ts +56 -0
- package/dist/uniapp/index.cjs +53 -0
- package/dist/uniapp/index.cjs.map +1 -0
- package/dist/uniapp/index.d.ts +3 -0
- package/dist/uniapp/uniUtils/index.cjs +213 -0
- package/dist/uniapp/uniUtils/index.cjs.map +1 -0
- package/dist/uniapp/uniUtils/index.d.ts +113 -0
- package/package.json +129 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/browser/urlUtils/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { IOptions2 } from '../../types/data/index.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 数组工具函数
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 数组工具对象
|
|
9
|
+
*/
|
|
10
|
+
declare const arrayUtils: {
|
|
11
|
+
/**
|
|
12
|
+
* 数组去重
|
|
13
|
+
* @param arr 输入数组
|
|
14
|
+
* @returns 去重后的数组
|
|
15
|
+
*/
|
|
16
|
+
unique<T>(arr: T[]): T[];
|
|
17
|
+
/**
|
|
18
|
+
* 数组分块
|
|
19
|
+
* @param arr 输入数组
|
|
20
|
+
* @param size 每块大小
|
|
21
|
+
* @returns 分块后的二维数组
|
|
22
|
+
*/
|
|
23
|
+
chunk<T>(arr: T[], size: number): T[][];
|
|
24
|
+
/**
|
|
25
|
+
* 数组扁平化
|
|
26
|
+
* @param arr 输入数组
|
|
27
|
+
* @param depth 扁平化深度,默认为 1
|
|
28
|
+
* @returns 扁平化后的数组
|
|
29
|
+
*/
|
|
30
|
+
flatten<T>(arr: any[], depth?: number): T[];
|
|
31
|
+
/**
|
|
32
|
+
* 数组洗牌
|
|
33
|
+
* @param arr 输入数组
|
|
34
|
+
* @returns 洗牌后的新数组
|
|
35
|
+
*/
|
|
36
|
+
shuffle<T>(arr: T[]): T[];
|
|
37
|
+
/**
|
|
38
|
+
* 数组求交集
|
|
39
|
+
* @param arr1 数组1
|
|
40
|
+
* @param arr2 数组2
|
|
41
|
+
* @returns 交集数组
|
|
42
|
+
*/
|
|
43
|
+
intersection<T>(arr1: T[], arr2: T[]): T[];
|
|
44
|
+
/**
|
|
45
|
+
* 数组求差集
|
|
46
|
+
* @param arr1 数组1
|
|
47
|
+
* @param arr2 数组2
|
|
48
|
+
* @returns 差集数组
|
|
49
|
+
*/
|
|
50
|
+
difference<T>(arr1: T[], arr2: T[]): T[];
|
|
51
|
+
/**
|
|
52
|
+
* 数组分组
|
|
53
|
+
* @param arr 输入数组
|
|
54
|
+
* @param keyFn 分组键函数
|
|
55
|
+
* @returns 分组后的对象
|
|
56
|
+
*/
|
|
57
|
+
groupBy<T, K extends string | number | symbol>(arr: T[], keyFn: (item: T) => K): Record<K, T[]>;
|
|
58
|
+
/**
|
|
59
|
+
* 从optList中筛选出目标对象
|
|
60
|
+
* @param s 需要筛选的目标字符串
|
|
61
|
+
* @param optList 目标数组
|
|
62
|
+
* @param key 数据的下标
|
|
63
|
+
*/
|
|
64
|
+
getListId(s: string, optList: IOptions2[], key: string): any;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export { arrayUtils as default };
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 数组工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 数组工具对象
|
|
6
|
+
*/
|
|
7
|
+
const arrayUtils = {
|
|
8
|
+
/**
|
|
9
|
+
* 数组去重
|
|
10
|
+
* @param arr 输入数组
|
|
11
|
+
* @returns 去重后的数组
|
|
12
|
+
*/
|
|
13
|
+
unique(arr) {
|
|
14
|
+
return [...new Set(arr)];
|
|
15
|
+
},
|
|
16
|
+
/**
|
|
17
|
+
* 数组分块
|
|
18
|
+
* @param arr 输入数组
|
|
19
|
+
* @param size 每块大小
|
|
20
|
+
* @returns 分块后的二维数组
|
|
21
|
+
*/
|
|
22
|
+
chunk(arr, size) {
|
|
23
|
+
const result = [];
|
|
24
|
+
for (let i = 0; i < arr.length; i += size) {
|
|
25
|
+
result.push(arr.slice(i, i + size));
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
},
|
|
29
|
+
/**
|
|
30
|
+
* 数组扁平化
|
|
31
|
+
* @param arr 输入数组
|
|
32
|
+
* @param depth 扁平化深度,默认为 1
|
|
33
|
+
* @returns 扁平化后的数组
|
|
34
|
+
*/
|
|
35
|
+
flatten(arr, depth = 1) {
|
|
36
|
+
return depth > 0
|
|
37
|
+
? arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? arrayUtils.flatten(val, depth - 1) : val), [])
|
|
38
|
+
: arr.slice();
|
|
39
|
+
},
|
|
40
|
+
/**
|
|
41
|
+
* 数组洗牌
|
|
42
|
+
* @param arr 输入数组
|
|
43
|
+
* @returns 洗牌后的新数组
|
|
44
|
+
*/
|
|
45
|
+
shuffle(arr) {
|
|
46
|
+
const result = [...arr];
|
|
47
|
+
for (let i = result.length - 1; i > 0; i--) {
|
|
48
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
49
|
+
[result[i], result[j]] = [result[j], result[i]];
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* 数组求交集
|
|
55
|
+
* @param arr1 数组1
|
|
56
|
+
* @param arr2 数组2
|
|
57
|
+
* @returns 交集数组
|
|
58
|
+
*/
|
|
59
|
+
intersection(arr1, arr2) {
|
|
60
|
+
return arr1.filter(item => arr2.includes(item));
|
|
61
|
+
},
|
|
62
|
+
/**
|
|
63
|
+
* 数组求差集
|
|
64
|
+
* @param arr1 数组1
|
|
65
|
+
* @param arr2 数组2
|
|
66
|
+
* @returns 差集数组
|
|
67
|
+
*/
|
|
68
|
+
difference(arr1, arr2) {
|
|
69
|
+
return arr1.filter(item => !arr2.includes(item));
|
|
70
|
+
},
|
|
71
|
+
/**
|
|
72
|
+
* 数组分组
|
|
73
|
+
* @param arr 输入数组
|
|
74
|
+
* @param keyFn 分组键函数
|
|
75
|
+
* @returns 分组后的对象
|
|
76
|
+
*/
|
|
77
|
+
groupBy(arr, keyFn) {
|
|
78
|
+
return arr.reduce((groups, item) => {
|
|
79
|
+
const key = keyFn(item);
|
|
80
|
+
if (!groups[key]) {
|
|
81
|
+
groups[key] = [];
|
|
82
|
+
}
|
|
83
|
+
groups[key].push(item);
|
|
84
|
+
return groups;
|
|
85
|
+
}, {});
|
|
86
|
+
},
|
|
87
|
+
/**
|
|
88
|
+
* 从optList中筛选出目标对象
|
|
89
|
+
* @param s 需要筛选的目标字符串
|
|
90
|
+
* @param optList 目标数组
|
|
91
|
+
* @param key 数据的下标
|
|
92
|
+
*/
|
|
93
|
+
getListId(s, optList, key) {
|
|
94
|
+
if (optList.length === 0 || !s)
|
|
95
|
+
return null;
|
|
96
|
+
const classList = optList.filter(item => item.text === s);
|
|
97
|
+
if (classList.length > 0) {
|
|
98
|
+
return classList[0][key];
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export { arrayUtils as default };
|
|
105
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/core/arrayUtils/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 异步工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 异步队列类
|
|
6
|
+
*/
|
|
7
|
+
declare class AsyncQueue {
|
|
8
|
+
private queue;
|
|
9
|
+
private running;
|
|
10
|
+
/**
|
|
11
|
+
* 添加任务到队列
|
|
12
|
+
* @param task 异步任务
|
|
13
|
+
* @returns Promise
|
|
14
|
+
*/
|
|
15
|
+
add<T>(task: () => Promise<T>): Promise<T>;
|
|
16
|
+
private process;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 异步工具对象
|
|
20
|
+
*/
|
|
21
|
+
declare const asyncUtils: {
|
|
22
|
+
/**
|
|
23
|
+
* 延迟执行
|
|
24
|
+
* @param ms 延迟毫秒数
|
|
25
|
+
* @returns Promise
|
|
26
|
+
*/
|
|
27
|
+
delay(ms: number): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* 超时控制
|
|
30
|
+
* @param promise Promise对象
|
|
31
|
+
* @param timeout 超时时间(毫秒)
|
|
32
|
+
* @param timeoutMessage 超时错误信息
|
|
33
|
+
* @returns 带超时控制的Promise
|
|
34
|
+
*/
|
|
35
|
+
withTimeout<T>(promise: Promise<T>, timeout: number, timeoutMessage?: string): Promise<T>;
|
|
36
|
+
/**
|
|
37
|
+
* 重试机制
|
|
38
|
+
* @param fn 要重试的函数
|
|
39
|
+
* @param maxRetries 最大重试次数
|
|
40
|
+
* @param delayMs 重试间隔(毫秒)
|
|
41
|
+
* @returns Promise
|
|
42
|
+
*/
|
|
43
|
+
retry<T>(fn: () => Promise<T>, maxRetries?: number, delayMs?: number): Promise<T>;
|
|
44
|
+
/**
|
|
45
|
+
* 并发控制
|
|
46
|
+
* @param tasks 任务数组
|
|
47
|
+
* @param concurrency 并发数
|
|
48
|
+
* @returns Promise数组结果
|
|
49
|
+
*/
|
|
50
|
+
concurrent<T>(tasks: (() => Promise<T>)[], concurrency?: number): Promise<T[]>;
|
|
51
|
+
/**
|
|
52
|
+
* 防抖函数
|
|
53
|
+
* @param fn 要防抖的函数
|
|
54
|
+
* @param delay 延迟时间(毫秒)
|
|
55
|
+
* @returns 防抖后的函数
|
|
56
|
+
*/
|
|
57
|
+
debounce<T extends (...args: any[]) => any>(fn: T, delay: number): (...args: Parameters<T>) => void;
|
|
58
|
+
/**
|
|
59
|
+
* 节流函数
|
|
60
|
+
* @param fn 要节流的函数
|
|
61
|
+
* @param interval 间隔时间(毫秒)
|
|
62
|
+
* @returns 节流后的函数
|
|
63
|
+
*/
|
|
64
|
+
throttle<T extends (...args: any[]) => any>(fn: T, interval: number): (...args: Parameters<T>) => void;
|
|
65
|
+
/**
|
|
66
|
+
* 创建异步队列实例
|
|
67
|
+
* @returns AsyncQueue实例
|
|
68
|
+
*/
|
|
69
|
+
createQueue(): AsyncQueue;
|
|
70
|
+
/**
|
|
71
|
+
* 缓存装饰器(基于Promise)
|
|
72
|
+
* @param fn 要缓存的异步函数
|
|
73
|
+
* @param keyFn 生成缓存键的函数
|
|
74
|
+
* @param ttl 缓存时间(毫秒),0表示永不过期
|
|
75
|
+
* @returns 带缓存的函数
|
|
76
|
+
*/
|
|
77
|
+
memoizeAsync<T extends (...args: any[]) => Promise<any>>(fn: T, keyFn?: (...args: Parameters<T>) => string, ttl?: number): T;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { AsyncQueue, asyncUtils as default };
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 异步工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 异步队列类
|
|
6
|
+
*/
|
|
7
|
+
class AsyncQueue {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.queue = [];
|
|
10
|
+
this.running = false;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 添加任务到队列
|
|
14
|
+
* @param task 异步任务
|
|
15
|
+
* @returns Promise
|
|
16
|
+
*/
|
|
17
|
+
add(task) {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
this.queue.push(async () => {
|
|
20
|
+
try {
|
|
21
|
+
const result = await task();
|
|
22
|
+
resolve(result);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
reject(error);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
this.process();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async process() {
|
|
32
|
+
if (this.running || this.queue.length === 0)
|
|
33
|
+
return;
|
|
34
|
+
this.running = true;
|
|
35
|
+
while (this.queue.length > 0) {
|
|
36
|
+
const task = this.queue.shift();
|
|
37
|
+
await task();
|
|
38
|
+
}
|
|
39
|
+
this.running = false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 异步工具对象
|
|
44
|
+
*/
|
|
45
|
+
const asyncUtils = {
|
|
46
|
+
/**
|
|
47
|
+
* 延迟执行
|
|
48
|
+
* @param ms 延迟毫秒数
|
|
49
|
+
* @returns Promise
|
|
50
|
+
*/
|
|
51
|
+
delay(ms) {
|
|
52
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
53
|
+
},
|
|
54
|
+
/**
|
|
55
|
+
* 超时控制
|
|
56
|
+
* @param promise Promise对象
|
|
57
|
+
* @param timeout 超时时间(毫秒)
|
|
58
|
+
* @param timeoutMessage 超时错误信息
|
|
59
|
+
* @returns 带超时控制的Promise
|
|
60
|
+
*/
|
|
61
|
+
withTimeout(promise, timeout, timeoutMessage = 'Operation timed out') {
|
|
62
|
+
return Promise.race([
|
|
63
|
+
promise,
|
|
64
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error(timeoutMessage)), timeout))
|
|
65
|
+
]);
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* 重试机制
|
|
69
|
+
* @param fn 要重试的函数
|
|
70
|
+
* @param maxRetries 最大重试次数
|
|
71
|
+
* @param delayMs 重试间隔(毫秒)
|
|
72
|
+
* @returns Promise
|
|
73
|
+
*/
|
|
74
|
+
async retry(fn, maxRetries = 3, delayMs = 1000) {
|
|
75
|
+
let lastError;
|
|
76
|
+
for (let i = 0; i <= maxRetries; i++) {
|
|
77
|
+
try {
|
|
78
|
+
return await fn();
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
lastError = error;
|
|
82
|
+
if (i < maxRetries) {
|
|
83
|
+
await this.delay(delayMs);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
throw lastError;
|
|
88
|
+
},
|
|
89
|
+
/**
|
|
90
|
+
* 并发控制
|
|
91
|
+
* @param tasks 任务数组
|
|
92
|
+
* @param concurrency 并发数
|
|
93
|
+
* @returns Promise数组结果
|
|
94
|
+
*/
|
|
95
|
+
async concurrent(tasks, concurrency = 3) {
|
|
96
|
+
const results = [];
|
|
97
|
+
const executing = [];
|
|
98
|
+
for (const [index, task] of tasks.entries()) {
|
|
99
|
+
const promise = task().then(result => {
|
|
100
|
+
results[index] = result;
|
|
101
|
+
});
|
|
102
|
+
executing.push(promise);
|
|
103
|
+
if (executing.length >= concurrency) {
|
|
104
|
+
await Promise.race(executing);
|
|
105
|
+
executing.splice(executing.findIndex(p => p === promise), 1);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
await Promise.all(executing);
|
|
109
|
+
return results;
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* 防抖函数
|
|
113
|
+
* @param fn 要防抖的函数
|
|
114
|
+
* @param delay 延迟时间(毫秒)
|
|
115
|
+
* @returns 防抖后的函数
|
|
116
|
+
*/
|
|
117
|
+
debounce(fn, delay) {
|
|
118
|
+
let timeoutId;
|
|
119
|
+
return (...args) => {
|
|
120
|
+
clearTimeout(timeoutId);
|
|
121
|
+
timeoutId = setTimeout(() => fn(...args), delay);
|
|
122
|
+
};
|
|
123
|
+
},
|
|
124
|
+
/**
|
|
125
|
+
* 节流函数
|
|
126
|
+
* @param fn 要节流的函数
|
|
127
|
+
* @param interval 间隔时间(毫秒)
|
|
128
|
+
* @returns 节流后的函数
|
|
129
|
+
*/
|
|
130
|
+
throttle(fn, interval) {
|
|
131
|
+
let lastTime = 0;
|
|
132
|
+
return (...args) => {
|
|
133
|
+
const now = Date.now();
|
|
134
|
+
if (now - lastTime >= interval) {
|
|
135
|
+
lastTime = now;
|
|
136
|
+
fn(...args);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
},
|
|
140
|
+
/**
|
|
141
|
+
* 创建异步队列实例
|
|
142
|
+
* @returns AsyncQueue实例
|
|
143
|
+
*/
|
|
144
|
+
createQueue() {
|
|
145
|
+
return new AsyncQueue();
|
|
146
|
+
},
|
|
147
|
+
/**
|
|
148
|
+
* 缓存装饰器(基于Promise)
|
|
149
|
+
* @param fn 要缓存的异步函数
|
|
150
|
+
* @param keyFn 生成缓存键的函数
|
|
151
|
+
* @param ttl 缓存时间(毫秒),0表示永不过期
|
|
152
|
+
* @returns 带缓存的函数
|
|
153
|
+
*/
|
|
154
|
+
memoizeAsync(fn, keyFn = (...args) => JSON.stringify(args), ttl = 0) {
|
|
155
|
+
const cache = new Map();
|
|
156
|
+
return ((...args) => {
|
|
157
|
+
const key = keyFn(...args);
|
|
158
|
+
const cached = cache.get(key);
|
|
159
|
+
if (cached && (ttl === 0 || Date.now() < cached.expiry)) {
|
|
160
|
+
return Promise.resolve(cached.value);
|
|
161
|
+
}
|
|
162
|
+
const promise = fn(...args);
|
|
163
|
+
promise.then(result => {
|
|
164
|
+
cache.set(key, {
|
|
165
|
+
value: result,
|
|
166
|
+
expiry: ttl > 0 ? Date.now() + ttl : Infinity
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
return promise;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
export { AsyncQueue, asyncUtils as default };
|
|
175
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/core/asyncUtils/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 常用颜色
|
|
3
|
+
*/
|
|
4
|
+
const binColor = [
|
|
5
|
+
'#5470c6',
|
|
6
|
+
'#fd6f6f',
|
|
7
|
+
'#7aad62',
|
|
8
|
+
'#7ed3f4',
|
|
9
|
+
'#91c7ae',
|
|
10
|
+
'#ff915a',
|
|
11
|
+
'#a868c5',
|
|
12
|
+
'#fa541c',
|
|
13
|
+
'#ffa940',
|
|
14
|
+
'#ffc53d',
|
|
15
|
+
'#d4b106',
|
|
16
|
+
'#7cb305',
|
|
17
|
+
'#08979c',
|
|
18
|
+
'#1d39c4',
|
|
19
|
+
'#eb2f96',
|
|
20
|
+
'#ffdc60'
|
|
21
|
+
];
|
|
22
|
+
const colorUtils = {
|
|
23
|
+
/**
|
|
24
|
+
* 从颜色数组中获取颜色
|
|
25
|
+
* @param index 颜色数组下标
|
|
26
|
+
* @returns 颜色值
|
|
27
|
+
*/
|
|
28
|
+
getColor(index) {
|
|
29
|
+
return binColor[index % binColor.length];
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { colorUtils as default };
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/core/colorUtils/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;AAEG;AACH,MAAM,QAAQ,GAAG;IACf,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT;CACD;AAED,MAAM,UAAU,GAAG;AACjB;;;;AAIG;AACH,IAAA,QAAQ,CAAC,KAAa,EAAA;QACpB,OAAO,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1C;;;;;"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 加密工具类
|
|
3
|
+
* 提供 UUID 生成、MD5 哈希、RSA 加密解密、AES 对称加密等功能
|
|
4
|
+
*/
|
|
5
|
+
declare const cryptoUtils: {
|
|
6
|
+
/**
|
|
7
|
+
* 生成 UUID v4
|
|
8
|
+
* @returns {Promise<string>} 返回一个随机生成的 UUID v4 字符串
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const uuid = await cryptoUtils.uuid();
|
|
12
|
+
* console.log(uuid); // "550e8400e29b41d4a716446655440000"
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
uuid(): Promise<string>;
|
|
16
|
+
/**
|
|
17
|
+
* 生成字符串的 MD5 哈希值
|
|
18
|
+
* @param {string} input - 需要进行 MD5 加密的输入字符串
|
|
19
|
+
* @param {string} [salt] - 可选的盐值,用于增强安全性
|
|
20
|
+
* @returns {string} 返回 MD5 哈希值的十六进制字符串
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* // 基础 MD5
|
|
24
|
+
* const hash1 = cryptoUtils.md5('hello world');
|
|
25
|
+
* console.log(hash1); // "5d41402abc4b2a76b9719d911017c592"
|
|
26
|
+
*
|
|
27
|
+
* // 带盐值的 MD5
|
|
28
|
+
* const hash2 = cryptoUtils.md5('password', 'mysalt');
|
|
29
|
+
* console.log(hash2); // "a1b2c3d4e5f6..."
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
md5(input: string, salt?: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* 生成简短的 UUID(8位)
|
|
35
|
+
* @returns {string} 返回一个8位的短 UUID 字符串
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const shortUuid = cryptoUtils.miniUuid();
|
|
39
|
+
* console.log(shortUuid); // "a1b2c3d4"
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
miniUuid(): string;
|
|
43
|
+
/**
|
|
44
|
+
* 验证 UUID 格式是否正确
|
|
45
|
+
* @param {string} uuid - 需要验证的 UUID 字符串
|
|
46
|
+
* @returns {Promise<boolean>} 如果格式正确返回 true,否则返回 false
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const isValid = await cryptoUtils.isValidUUID('550e8400-e29b-41d4-a716-446655440000');
|
|
50
|
+
* console.log(isValid); // true
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
isValidUUID(uuid: string): Promise<boolean>;
|
|
54
|
+
/**
|
|
55
|
+
* RSA 加密(跨环境兼容)
|
|
56
|
+
* 在 Node.js 环境中使用内置 crypto 模块,在浏览器环境中使用 jsencrypt
|
|
57
|
+
* @param {string} text - 需要加密的文本
|
|
58
|
+
* @param {string} publicKey - RSA 公钥(PEM 格式)
|
|
59
|
+
* @returns {Promise<string | false>} 返回加密后的 Base64 字符串,失败返回 false
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const publicKey = `-----BEGIN PUBLIC KEY-----
|
|
63
|
+
* MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o...
|
|
64
|
+
* -----END PUBLIC KEY-----`;
|
|
65
|
+
*
|
|
66
|
+
* const encrypted = await cryptoUtils.rsaEncrypt('Hello World', publicKey);
|
|
67
|
+
* console.log(encrypted); // "base64 encrypted string"
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
rsaEncrypt(text: string, publicKey: string): Promise<string | false>;
|
|
71
|
+
/**
|
|
72
|
+
* RSA 解密(跨环境兼容)
|
|
73
|
+
* 在 Node.js 环境中使用内置 crypto 模块,在浏览器环境中使用 jsencrypt
|
|
74
|
+
* @param {string} encryptedText - 需要解密的 Base64 字符串
|
|
75
|
+
* @param {string} privateKey - RSA 私钥(PEM 格式)
|
|
76
|
+
* @returns {Promise<string | false>} 返回解密后的原文,失败返回 false
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const privateKey = `-----BEGIN PRIVATE KEY-----
|
|
80
|
+
* MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL...
|
|
81
|
+
* -----END PRIVATE KEY-----`;
|
|
82
|
+
*
|
|
83
|
+
* const decrypted = await cryptoUtils.rsaDecrypt(encryptedText, privateKey);
|
|
84
|
+
* console.log(decrypted); // "Hello World"
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
rsaDecrypt(encryptedText: string, privateKey: string): Promise<string | false>;
|
|
88
|
+
/**
|
|
89
|
+
* 生成 RSA 密钥对(跨环境兼容)
|
|
90
|
+
* 在 Node.js 环境中使用内置 crypto 模块,在浏览器环境中使用 jsencrypt
|
|
91
|
+
* @param {number} [keySize=1024] - 密钥长度,默认 1024 位
|
|
92
|
+
* @returns {Promise<{ publicKey: string; privateKey: string } | null>} 返回包含公钥和私钥的对象,失败返回 null
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* const keyPair = await cryptoUtils.generateRSAKeyPair(2048);
|
|
96
|
+
* if (keyPair) {
|
|
97
|
+
* console.log(keyPair.publicKey); // "-----BEGIN PUBLIC KEY-----..."
|
|
98
|
+
* console.log(keyPair.privateKey); // "-----BEGIN PRIVATE KEY-----..."
|
|
99
|
+
* }
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
generateRSAKeyPair(keySize?: number): Promise<{
|
|
103
|
+
publicKey: string;
|
|
104
|
+
privateKey: string;
|
|
105
|
+
} | null>;
|
|
106
|
+
/**
|
|
107
|
+
* AES 加密(使用字符串密钥)
|
|
108
|
+
* @param {string} text - 需要加密的文本
|
|
109
|
+
* @param {string} key - 加密密钥(字符串)
|
|
110
|
+
* @returns {string} 返回加密后的文本(包含 IV 和密文)
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* const encrypted = cryptoUtils.aesEncrypt('Hello World', 'mySecretKey123');
|
|
114
|
+
* console.log(encrypted); // "iv:ciphertext"
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
aesEncrypt(text: string, key: string): string;
|
|
118
|
+
/**
|
|
119
|
+
* AES 解密(使用字符串密钥)
|
|
120
|
+
* @param {string} encryptedText - 需要解密的文本(包含 IV 和密文)
|
|
121
|
+
* @param {string} key - 解密密钥(字符串)
|
|
122
|
+
* @returns {string} 返回解密后的原文
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* const decrypted = cryptoUtils.aesDecrypt(encryptedText, 'mySecretKey123');
|
|
126
|
+
* console.log(decrypted); // "Hello World"
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
aesDecrypt(encryptedText: string, key: string): string;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export { cryptoUtils as default };
|