@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,180 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 异步工具函数
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* 异步队列类
|
|
10
|
+
*/
|
|
11
|
+
class AsyncQueue {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.queue = [];
|
|
14
|
+
this.running = false;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 添加任务到队列
|
|
18
|
+
* @param task 异步任务
|
|
19
|
+
* @returns Promise
|
|
20
|
+
*/
|
|
21
|
+
add(task) {
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
this.queue.push(async () => {
|
|
24
|
+
try {
|
|
25
|
+
const result = await task();
|
|
26
|
+
resolve(result);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
reject(error);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
this.process();
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async process() {
|
|
36
|
+
if (this.running || this.queue.length === 0)
|
|
37
|
+
return;
|
|
38
|
+
this.running = true;
|
|
39
|
+
while (this.queue.length > 0) {
|
|
40
|
+
const task = this.queue.shift();
|
|
41
|
+
await task();
|
|
42
|
+
}
|
|
43
|
+
this.running = false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 异步工具对象
|
|
48
|
+
*/
|
|
49
|
+
const asyncUtils = {
|
|
50
|
+
/**
|
|
51
|
+
* 延迟执行
|
|
52
|
+
* @param ms 延迟毫秒数
|
|
53
|
+
* @returns Promise
|
|
54
|
+
*/
|
|
55
|
+
delay(ms) {
|
|
56
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
57
|
+
},
|
|
58
|
+
/**
|
|
59
|
+
* 超时控制
|
|
60
|
+
* @param promise Promise对象
|
|
61
|
+
* @param timeout 超时时间(毫秒)
|
|
62
|
+
* @param timeoutMessage 超时错误信息
|
|
63
|
+
* @returns 带超时控制的Promise
|
|
64
|
+
*/
|
|
65
|
+
withTimeout(promise, timeout, timeoutMessage = 'Operation timed out') {
|
|
66
|
+
return Promise.race([
|
|
67
|
+
promise,
|
|
68
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error(timeoutMessage)), timeout))
|
|
69
|
+
]);
|
|
70
|
+
},
|
|
71
|
+
/**
|
|
72
|
+
* 重试机制
|
|
73
|
+
* @param fn 要重试的函数
|
|
74
|
+
* @param maxRetries 最大重试次数
|
|
75
|
+
* @param delayMs 重试间隔(毫秒)
|
|
76
|
+
* @returns Promise
|
|
77
|
+
*/
|
|
78
|
+
async retry(fn, maxRetries = 3, delayMs = 1000) {
|
|
79
|
+
let lastError;
|
|
80
|
+
for (let i = 0; i <= maxRetries; i++) {
|
|
81
|
+
try {
|
|
82
|
+
return await fn();
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
lastError = error;
|
|
86
|
+
if (i < maxRetries) {
|
|
87
|
+
await this.delay(delayMs);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
throw lastError;
|
|
92
|
+
},
|
|
93
|
+
/**
|
|
94
|
+
* 并发控制
|
|
95
|
+
* @param tasks 任务数组
|
|
96
|
+
* @param concurrency 并发数
|
|
97
|
+
* @returns Promise数组结果
|
|
98
|
+
*/
|
|
99
|
+
async concurrent(tasks, concurrency = 3) {
|
|
100
|
+
const results = [];
|
|
101
|
+
const executing = [];
|
|
102
|
+
for (const [index, task] of tasks.entries()) {
|
|
103
|
+
const promise = task().then(result => {
|
|
104
|
+
results[index] = result;
|
|
105
|
+
});
|
|
106
|
+
executing.push(promise);
|
|
107
|
+
if (executing.length >= concurrency) {
|
|
108
|
+
await Promise.race(executing);
|
|
109
|
+
executing.splice(executing.findIndex(p => p === promise), 1);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
await Promise.all(executing);
|
|
113
|
+
return results;
|
|
114
|
+
},
|
|
115
|
+
/**
|
|
116
|
+
* 防抖函数
|
|
117
|
+
* @param fn 要防抖的函数
|
|
118
|
+
* @param delay 延迟时间(毫秒)
|
|
119
|
+
* @returns 防抖后的函数
|
|
120
|
+
*/
|
|
121
|
+
debounce(fn, delay) {
|
|
122
|
+
let timeoutId;
|
|
123
|
+
return (...args) => {
|
|
124
|
+
clearTimeout(timeoutId);
|
|
125
|
+
timeoutId = setTimeout(() => fn(...args), delay);
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
/**
|
|
129
|
+
* 节流函数
|
|
130
|
+
* @param fn 要节流的函数
|
|
131
|
+
* @param interval 间隔时间(毫秒)
|
|
132
|
+
* @returns 节流后的函数
|
|
133
|
+
*/
|
|
134
|
+
throttle(fn, interval) {
|
|
135
|
+
let lastTime = 0;
|
|
136
|
+
return (...args) => {
|
|
137
|
+
const now = Date.now();
|
|
138
|
+
if (now - lastTime >= interval) {
|
|
139
|
+
lastTime = now;
|
|
140
|
+
fn(...args);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
},
|
|
144
|
+
/**
|
|
145
|
+
* 创建异步队列实例
|
|
146
|
+
* @returns AsyncQueue实例
|
|
147
|
+
*/
|
|
148
|
+
createQueue() {
|
|
149
|
+
return new AsyncQueue();
|
|
150
|
+
},
|
|
151
|
+
/**
|
|
152
|
+
* 缓存装饰器(基于Promise)
|
|
153
|
+
* @param fn 要缓存的异步函数
|
|
154
|
+
* @param keyFn 生成缓存键的函数
|
|
155
|
+
* @param ttl 缓存时间(毫秒),0表示永不过期
|
|
156
|
+
* @returns 带缓存的函数
|
|
157
|
+
*/
|
|
158
|
+
memoizeAsync(fn, keyFn = (...args) => JSON.stringify(args), ttl = 0) {
|
|
159
|
+
const cache = new Map();
|
|
160
|
+
return ((...args) => {
|
|
161
|
+
const key = keyFn(...args);
|
|
162
|
+
const cached = cache.get(key);
|
|
163
|
+
if (cached && (ttl === 0 || Date.now() < cached.expiry)) {
|
|
164
|
+
return Promise.resolve(cached.value);
|
|
165
|
+
}
|
|
166
|
+
const promise = fn(...args);
|
|
167
|
+
promise.then(result => {
|
|
168
|
+
cache.set(key, {
|
|
169
|
+
value: result,
|
|
170
|
+
expiry: ttl > 0 ? Date.now() + ttl : Infinity
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
return promise;
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
exports.AsyncQueue = AsyncQueue;
|
|
179
|
+
exports.default = asyncUtils;
|
|
180
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/core/asyncUtils/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,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 常用颜色
|
|
7
|
+
*/
|
|
8
|
+
const binColor = [
|
|
9
|
+
'#5470c6',
|
|
10
|
+
'#fd6f6f',
|
|
11
|
+
'#7aad62',
|
|
12
|
+
'#7ed3f4',
|
|
13
|
+
'#91c7ae',
|
|
14
|
+
'#ff915a',
|
|
15
|
+
'#a868c5',
|
|
16
|
+
'#fa541c',
|
|
17
|
+
'#ffa940',
|
|
18
|
+
'#ffc53d',
|
|
19
|
+
'#d4b106',
|
|
20
|
+
'#7cb305',
|
|
21
|
+
'#08979c',
|
|
22
|
+
'#1d39c4',
|
|
23
|
+
'#eb2f96',
|
|
24
|
+
'#ffdc60'
|
|
25
|
+
];
|
|
26
|
+
const colorUtils = {
|
|
27
|
+
/**
|
|
28
|
+
* 从颜色数组中获取颜色
|
|
29
|
+
* @param index 颜色数组下标
|
|
30
|
+
* @returns 颜色值
|
|
31
|
+
*/
|
|
32
|
+
getColor(index) {
|
|
33
|
+
return binColor[index % binColor.length];
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.default = colorUtils;
|
|
38
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","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;;;;;"}
|