ly-utils-lib 1.0.11 → 2.4.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.
- package/LICENSE +21 -0
- package/README.md +889 -686
- package/dist/array.cjs +237 -0
- package/dist/array.cjs.map +1 -0
- package/dist/array.d.cts +2 -0
- package/dist/array.d.ts +2 -0
- package/dist/array.js +150 -0
- package/dist/array.js.map +1 -0
- package/dist/crypto.cjs +193 -0
- package/dist/crypto.cjs.map +1 -0
- package/dist/crypto.d.cts +3 -0
- package/dist/crypto.d.ts +3 -0
- package/dist/crypto.js +144 -0
- package/dist/crypto.js.map +1 -0
- package/dist/date.cjs +563 -0
- package/dist/date.cjs.map +1 -0
- package/dist/date.d.cts +2 -0
- package/dist/date.d.ts +2 -0
- package/dist/date.js +451 -0
- package/dist/date.js.map +1 -0
- package/dist/excel.cjs +227 -0
- package/dist/excel.cjs.map +1 -0
- package/dist/excel.d.cts +2 -0
- package/dist/excel.d.ts +2 -0
- package/dist/excel.js +196 -0
- package/dist/excel.js.map +1 -0
- package/dist/index-B80SEVzM.d.cts +382 -0
- package/dist/index-B80SEVzM.d.ts +382 -0
- package/dist/index-Ba1rjTzj.d.cts +299 -0
- package/dist/index-Ba1rjTzj.d.ts +299 -0
- package/dist/index-Bg1ise7y.d.cts +253 -0
- package/dist/index-Bg1ise7y.d.ts +253 -0
- package/dist/index-BoqNpwNa.d.cts +203 -0
- package/dist/index-BoqNpwNa.d.ts +203 -0
- package/dist/index-C0qUnb9Y.d.cts +533 -0
- package/dist/index-C0qUnb9Y.d.ts +533 -0
- package/dist/index-Cy-mb5v_.d.cts +262 -0
- package/dist/index-Cy-mb5v_.d.ts +262 -0
- package/dist/index-D1f9Sym2.d.cts +148 -0
- package/dist/index-D1f9Sym2.d.ts +148 -0
- package/dist/index-Dan5oF-5.d.cts +213 -0
- package/dist/index-Dan5oF-5.d.ts +213 -0
- package/dist/index-XABfrs7z.d.cts +596 -0
- package/dist/index-XABfrs7z.d.ts +596 -0
- package/dist/index-YXWfKCK7.d.cts +109 -0
- package/dist/index-YXWfKCK7.d.ts +109 -0
- package/dist/index.cjs +3355 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +21 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +3294 -0
- package/dist/index.js.map +1 -0
- package/dist/map.cjs +839 -0
- package/dist/map.cjs.map +1 -0
- package/dist/map.d.cts +6 -0
- package/dist/map.d.ts +6 -0
- package/dist/map.js +811 -0
- package/dist/map.js.map +1 -0
- package/dist/object.cjs +316 -0
- package/dist/object.cjs.map +1 -0
- package/dist/object.d.cts +2 -0
- package/dist/object.d.ts +2 -0
- package/dist/object.js +247 -0
- package/dist/object.js.map +1 -0
- package/dist/pdf.cjs +197 -0
- package/dist/pdf.cjs.map +1 -0
- package/dist/pdf.d.cts +3 -0
- package/dist/pdf.d.ts +3 -0
- package/dist/pdf.js +173 -0
- package/dist/pdf.js.map +1 -0
- package/dist/storage.cjs +255 -0
- package/dist/storage.cjs.map +1 -0
- package/dist/storage.d.cts +1 -0
- package/dist/storage.d.ts +1 -0
- package/dist/storage.js +226 -0
- package/dist/storage.js.map +1 -0
- package/dist/string.cjs +232 -0
- package/dist/string.cjs.map +1 -0
- package/dist/string.d.cts +2 -0
- package/dist/string.d.ts +2 -0
- package/dist/string.js +170 -0
- package/dist/string.js.map +1 -0
- package/dist/utils.cjs +429 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +2 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.js +371 -0
- package/dist/utils.js.map +1 -0
- package/package.json +159 -33
- package/dist/ly-utils-lib.cjs.js +0 -52929
- package/dist/ly-utils-lib.cjs.js.map +0 -1
- package/dist/ly-utils-lib.es.js +0 -69623
- package/dist/ly-utils-lib.es.js.map +0 -1
- package/dist/ly-utils-lib.umd.js +0 -53314
- package/dist/ly-utils-lib.umd.js.map +0 -1
- package/dist/types/index.d.ts +0 -15
- package/dist/types/utils/esToolkit.d.ts +0 -12
- package/dist/types/utils/ol.d.ts +0 -181
- package/dist/types/utils/router.d.ts +0 -15
- package/dist/types/utils/storage.d.ts +0 -42
- package/dist/types/utils/time.d.ts +0 -76
- package/dist/types/utils/tool.d.ts +0 -86
- package/dist/vite.svg +0 -1
package/dist/array.cjs
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var esToolkit = require('es-toolkit');
|
|
4
|
+
|
|
5
|
+
// src/modules/array/index.ts
|
|
6
|
+
var unique = (arr, key) => {
|
|
7
|
+
if (key) {
|
|
8
|
+
return esToolkit.uniqBy(arr, (item) => item[key]);
|
|
9
|
+
}
|
|
10
|
+
return esToolkit.uniq(arr);
|
|
11
|
+
};
|
|
12
|
+
var min = (arr) => {
|
|
13
|
+
if (arr.length === 0) return void 0;
|
|
14
|
+
return Math.min(...arr);
|
|
15
|
+
};
|
|
16
|
+
var max = (arr) => {
|
|
17
|
+
if (arr.length === 0) return void 0;
|
|
18
|
+
return Math.max(...arr);
|
|
19
|
+
};
|
|
20
|
+
var isEmpty = (arr) => {
|
|
21
|
+
return arr.length === 0;
|
|
22
|
+
};
|
|
23
|
+
var split = (arr, size) => {
|
|
24
|
+
const result = [];
|
|
25
|
+
for (let i = 0; i < arr.length; i += size) {
|
|
26
|
+
result.push(arr.slice(i, i + size));
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
};
|
|
30
|
+
var shuffle = (arr) => {
|
|
31
|
+
const result = [...arr];
|
|
32
|
+
for (let i = result.length - 1; i > 0; i--) {
|
|
33
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
34
|
+
[result[i], result[j]] = [result[j], result[i]];
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
var findIndex = (arr, predicate) => {
|
|
39
|
+
return arr.findIndex(predicate);
|
|
40
|
+
};
|
|
41
|
+
var find = (arr, predicate) => {
|
|
42
|
+
return arr.find(predicate);
|
|
43
|
+
};
|
|
44
|
+
var filter = (arr, predicate) => {
|
|
45
|
+
return arr.filter(predicate);
|
|
46
|
+
};
|
|
47
|
+
var map = (arr, mapper) => {
|
|
48
|
+
return arr.map(mapper);
|
|
49
|
+
};
|
|
50
|
+
var reduceSum = (arr, mapper) => {
|
|
51
|
+
if (mapper) {
|
|
52
|
+
return arr.reduce((acc, item) => acc + mapper(item), 0);
|
|
53
|
+
}
|
|
54
|
+
return arr.reduce((acc, item) => acc + item, 0);
|
|
55
|
+
};
|
|
56
|
+
var average = (arr, mapper) => {
|
|
57
|
+
if (arr.length === 0) return 0;
|
|
58
|
+
if (mapper) {
|
|
59
|
+
const sum2 = arr.reduce((acc, item) => acc + mapper(item), 0);
|
|
60
|
+
return sum2 / arr.length;
|
|
61
|
+
}
|
|
62
|
+
return arr.reduce((acc, item) => acc + item, 0) / arr.length;
|
|
63
|
+
};
|
|
64
|
+
var maxValue = (arr, mapper) => {
|
|
65
|
+
if (arr.length === 0) return void 0;
|
|
66
|
+
if (mapper) {
|
|
67
|
+
return Math.max(...arr.map(mapper));
|
|
68
|
+
}
|
|
69
|
+
return Math.max(...arr);
|
|
70
|
+
};
|
|
71
|
+
var minValue = (arr, mapper) => {
|
|
72
|
+
if (arr.length === 0) return void 0;
|
|
73
|
+
if (mapper) {
|
|
74
|
+
return Math.min(...arr.map(mapper));
|
|
75
|
+
}
|
|
76
|
+
return Math.min(...arr);
|
|
77
|
+
};
|
|
78
|
+
var includes = (arr, value) => {
|
|
79
|
+
return arr.includes(value);
|
|
80
|
+
};
|
|
81
|
+
var remove = (arr, value) => {
|
|
82
|
+
return arr.filter((item) => item !== value);
|
|
83
|
+
};
|
|
84
|
+
var removeAt = (arr, index) => {
|
|
85
|
+
return arr.filter((_, i) => i !== index);
|
|
86
|
+
};
|
|
87
|
+
var insert = (arr, index, value) => {
|
|
88
|
+
return [...arr.slice(0, index), value, ...arr.slice(index)];
|
|
89
|
+
};
|
|
90
|
+
var move = (arr, from, to) => {
|
|
91
|
+
const result = [...arr];
|
|
92
|
+
const [removed] = result.splice(from, 1);
|
|
93
|
+
result.splice(to, 0, removed);
|
|
94
|
+
return result;
|
|
95
|
+
};
|
|
96
|
+
var arrayToTree = (arr, options = {}) => {
|
|
97
|
+
const { idKey = "id", parentIdKey = "parentId", childrenKey = "children" } = options;
|
|
98
|
+
const map2 = /* @__PURE__ */ new Map();
|
|
99
|
+
const roots = [];
|
|
100
|
+
arr.forEach((item) => {
|
|
101
|
+
map2.set(item[idKey], { ...item, [childrenKey]: [] });
|
|
102
|
+
});
|
|
103
|
+
map2.forEach((item) => {
|
|
104
|
+
const parentId = item[parentIdKey];
|
|
105
|
+
if (parentId && map2.has(parentId)) {
|
|
106
|
+
const parent = map2.get(parentId);
|
|
107
|
+
if (parent) {
|
|
108
|
+
parent[childrenKey].push(item);
|
|
109
|
+
}
|
|
110
|
+
} else {
|
|
111
|
+
roots.push(item);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
return roots;
|
|
115
|
+
};
|
|
116
|
+
var treeToArray = (tree, childrenKey = "children") => {
|
|
117
|
+
const result = [];
|
|
118
|
+
const traverse = (nodes) => {
|
|
119
|
+
nodes.forEach((node) => {
|
|
120
|
+
result.push(node);
|
|
121
|
+
if (node[childrenKey] && node[childrenKey].length > 0) {
|
|
122
|
+
traverse(node[childrenKey]);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
traverse(tree);
|
|
127
|
+
return result;
|
|
128
|
+
};
|
|
129
|
+
var paginate = (arr, page, pageSize) => {
|
|
130
|
+
const start = (page - 1) * pageSize;
|
|
131
|
+
return arr.slice(start, start + pageSize);
|
|
132
|
+
};
|
|
133
|
+
var getPaginationInfo = (total, page, pageSize) => {
|
|
134
|
+
const totalPages = Math.ceil(total / pageSize);
|
|
135
|
+
const startIndex = (page - 1) * pageSize;
|
|
136
|
+
const endIndex = Math.min(startIndex + pageSize, total);
|
|
137
|
+
return {
|
|
138
|
+
total,
|
|
139
|
+
page,
|
|
140
|
+
pageSize,
|
|
141
|
+
totalPages,
|
|
142
|
+
startIndex,
|
|
143
|
+
endIndex,
|
|
144
|
+
hasNext: page < totalPages,
|
|
145
|
+
hasPrev: page > 1
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
Object.defineProperty(exports, "chunk", {
|
|
150
|
+
enumerable: true,
|
|
151
|
+
get: function () { return esToolkit.chunk; }
|
|
152
|
+
});
|
|
153
|
+
Object.defineProperty(exports, "compact", {
|
|
154
|
+
enumerable: true,
|
|
155
|
+
get: function () { return esToolkit.compact; }
|
|
156
|
+
});
|
|
157
|
+
Object.defineProperty(exports, "difference", {
|
|
158
|
+
enumerable: true,
|
|
159
|
+
get: function () { return esToolkit.difference; }
|
|
160
|
+
});
|
|
161
|
+
Object.defineProperty(exports, "flatten", {
|
|
162
|
+
enumerable: true,
|
|
163
|
+
get: function () { return esToolkit.flatten; }
|
|
164
|
+
});
|
|
165
|
+
Object.defineProperty(exports, "flattenDeep", {
|
|
166
|
+
enumerable: true,
|
|
167
|
+
get: function () { return esToolkit.flattenDeep; }
|
|
168
|
+
});
|
|
169
|
+
Object.defineProperty(exports, "groupBy", {
|
|
170
|
+
enumerable: true,
|
|
171
|
+
get: function () { return esToolkit.groupBy; }
|
|
172
|
+
});
|
|
173
|
+
Object.defineProperty(exports, "head", {
|
|
174
|
+
enumerable: true,
|
|
175
|
+
get: function () { return esToolkit.head; }
|
|
176
|
+
});
|
|
177
|
+
Object.defineProperty(exports, "intersection", {
|
|
178
|
+
enumerable: true,
|
|
179
|
+
get: function () { return esToolkit.intersection; }
|
|
180
|
+
});
|
|
181
|
+
Object.defineProperty(exports, "isEqual", {
|
|
182
|
+
enumerable: true,
|
|
183
|
+
get: function () { return esToolkit.isEqual; }
|
|
184
|
+
});
|
|
185
|
+
Object.defineProperty(exports, "last", {
|
|
186
|
+
enumerable: true,
|
|
187
|
+
get: function () { return esToolkit.last; }
|
|
188
|
+
});
|
|
189
|
+
Object.defineProperty(exports, "omit", {
|
|
190
|
+
enumerable: true,
|
|
191
|
+
get: function () { return esToolkit.omit; }
|
|
192
|
+
});
|
|
193
|
+
Object.defineProperty(exports, "sample", {
|
|
194
|
+
enumerable: true,
|
|
195
|
+
get: function () { return esToolkit.sample; }
|
|
196
|
+
});
|
|
197
|
+
Object.defineProperty(exports, "sortBy", {
|
|
198
|
+
enumerable: true,
|
|
199
|
+
get: function () { return esToolkit.sortBy; }
|
|
200
|
+
});
|
|
201
|
+
Object.defineProperty(exports, "sum", {
|
|
202
|
+
enumerable: true,
|
|
203
|
+
get: function () { return esToolkit.sum; }
|
|
204
|
+
});
|
|
205
|
+
Object.defineProperty(exports, "uniq", {
|
|
206
|
+
enumerable: true,
|
|
207
|
+
get: function () { return esToolkit.uniq; }
|
|
208
|
+
});
|
|
209
|
+
Object.defineProperty(exports, "uniqBy", {
|
|
210
|
+
enumerable: true,
|
|
211
|
+
get: function () { return esToolkit.uniqBy; }
|
|
212
|
+
});
|
|
213
|
+
exports.arrayToTree = arrayToTree;
|
|
214
|
+
exports.average = average;
|
|
215
|
+
exports.filter = filter;
|
|
216
|
+
exports.find = find;
|
|
217
|
+
exports.findIndex = findIndex;
|
|
218
|
+
exports.getPaginationInfo = getPaginationInfo;
|
|
219
|
+
exports.includes = includes;
|
|
220
|
+
exports.insert = insert;
|
|
221
|
+
exports.isEmpty = isEmpty;
|
|
222
|
+
exports.map = map;
|
|
223
|
+
exports.max = max;
|
|
224
|
+
exports.maxValue = maxValue;
|
|
225
|
+
exports.min = min;
|
|
226
|
+
exports.minValue = minValue;
|
|
227
|
+
exports.move = move;
|
|
228
|
+
exports.paginate = paginate;
|
|
229
|
+
exports.reduceSum = reduceSum;
|
|
230
|
+
exports.remove = remove;
|
|
231
|
+
exports.removeAt = removeAt;
|
|
232
|
+
exports.shuffle = shuffle;
|
|
233
|
+
exports.split = split;
|
|
234
|
+
exports.treeToArray = treeToArray;
|
|
235
|
+
exports.unique = unique;
|
|
236
|
+
//# sourceMappingURL=array.cjs.map
|
|
237
|
+
//# sourceMappingURL=array.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/array/index.ts"],"names":["uniqBy","uniq","sum","map"],"mappings":"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","file":"array.cjs","sourcesContent":["/**\n * 数组工具模块\n * 基于 es-toolkit 封装,提供常用的数组处理功能\n */\n\nimport {\n chunk,\n compact,\n difference,\n intersection,\n uniq,\n uniqBy,\n groupBy,\n sortBy,\n sample,\n sum,\n flatten,\n flattenDeep,\n head,\n last,\n isEqual,\n omit,\n} from 'es-toolkit'\n\n// 直接导出 es-toolkit 的常用方法\nexport {\n chunk,\n compact,\n difference,\n intersection,\n uniq,\n uniqBy,\n groupBy,\n sortBy,\n sample,\n sum,\n flatten,\n flattenDeep,\n head,\n last,\n isEqual,\n omit,\n}\n\n/**\n * 数组去重(支持对象数组的去重)\n * @param arr 数组\n * @param key 对象数组的去重键值\n */\nexport const unique = <T>(arr: T[], key?: keyof T): T[] => {\n if (key) {\n return uniqBy(arr, item => item[key] as any)\n }\n return uniq(arr)\n}\n\n/**\n * 获取数组最小值\n * @param arr 数组\n */\nexport const min = (arr: number[]): number | undefined => {\n if (arr.length === 0) return undefined\n return Math.min(...arr)\n}\n\n/**\n * 获取数组最大值\n * @param arr 数组\n */\nexport const max = (arr: number[]): number | undefined => {\n if (arr.length === 0) return undefined\n return Math.max(...arr)\n}\n\n/**\n * 判断数组是否为空\n * @param arr 数组\n */\nexport const isEmpty = <T>(arr: T[]): boolean => {\n return arr.length === 0\n}\n\n/**\n * 数组分割\n * @param arr 数组\n * @param size 每组大小\n */\nexport const split = <T>(arr: T[], size: number): T[][] => {\n const result: T[][] = []\n for (let i = 0; i < arr.length; i += size) {\n result.push(arr.slice(i, i + size))\n }\n return result\n}\n\n/**\n * 数组乱序\n * @param arr 数组\n */\nexport const shuffle = <T>(arr: T[]): T[] => {\n const result = [...arr]\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1))\n ;[result[i], result[j]] = [result[j], result[i]]\n }\n return result\n}\n\n/**\n * 查找元素的索引\n * @param arr 数组\n * @param predicate 查找条件\n */\nexport const findIndex = <T>(arr: T[], predicate: (item: T, index: number) => boolean): number => {\n return arr.findIndex(predicate)\n}\n\n/**\n * 查找元素\n * @param arr 数组\n * @param predicate 查找条件\n */\nexport const find = <T>(\n arr: T[],\n predicate: (item: T, index: number) => boolean\n): T | undefined => {\n return arr.find(predicate)\n}\n\n/**\n * 过滤数组\n * @param arr 数组\n * @param predicate 过滤条件\n */\nexport const filter = <T>(arr: T[], predicate: (item: T, index: number) => boolean): T[] => {\n return arr.filter(predicate)\n}\n\n/**\n * 映射数组\n * @param arr 数组\n * @param mapper 映射函数\n */\nexport const map = <T, R>(arr: T[], mapper: (item: T, index: number) => R): R[] => {\n return arr.map(mapper)\n}\n\n/**\n * 数组求和\n * @param arr 数组\n * @param mapper 转换函数\n */\nexport const reduceSum = <T>(arr: T[], mapper?: (item: T) => number): number => {\n if (mapper) {\n return arr.reduce((acc, item) => acc + mapper(item), 0)\n }\n return (arr as number[]).reduce((acc, item) => acc + item, 0)\n}\n\n/**\n * 数组求平均值\n * @param arr 数组\n * @param mapper 转换函数\n */\nexport const average = <T>(arr: T[], mapper?: (item: T) => number): number => {\n if (arr.length === 0) return 0\n if (mapper) {\n const sum = arr.reduce((acc, item) => acc + mapper(item), 0)\n return sum / arr.length\n }\n return (arr as number[]).reduce((acc, item) => acc + item, 0) / arr.length\n}\n\n/**\n * 数组最大值\n * @param arr 数组\n * @param mapper 转换函数\n */\nexport const maxValue = <T>(arr: T[], mapper?: (item: T) => number): number | undefined => {\n if (arr.length === 0) return undefined\n if (mapper) {\n return Math.max(...arr.map(mapper))\n }\n return Math.max(...(arr as number[]))\n}\n\n/**\n * 数组最小值\n * @param arr 数组\n * @param mapper 转换函数\n */\nexport const minValue = <T>(arr: T[], mapper?: (item: T) => number): number | undefined => {\n if (arr.length === 0) return undefined\n if (mapper) {\n return Math.min(...arr.map(mapper))\n }\n return Math.min(...(arr as number[]))\n}\n\n/**\n * 判断数组是否包含某个元素\n * @param arr 数组\n * @param value 值\n */\nexport const includes = <T>(arr: T[], value: T): boolean => {\n return arr.includes(value)\n}\n\n/**\n * 数组删除元素\n * @param arr 数组\n * @param value 值\n */\nexport const remove = <T>(arr: T[], value: T): T[] => {\n return arr.filter(item => item !== value)\n}\n\n/**\n * 数组删除指定索引元素\n * @param arr 数组\n * @param index 索引\n */\nexport const removeAt = <T>(arr: T[], index: number): T[] => {\n return arr.filter((_, i) => i !== index)\n}\n\n/**\n * 数组插入元素\n * @param arr 数组\n * @param index 索引\n * @param value 值\n */\nexport const insert = <T>(arr: T[], index: number, value: T): T[] => {\n return [...arr.slice(0, index), value, ...arr.slice(index)]\n}\n\n/**\n * 数组移动元素\n * @param arr 数组\n * @param from 源索引\n * @param to 目标索引\n */\nexport const move = <T>(arr: T[], from: number, to: number): T[] => {\n const result = [...arr]\n const [removed] = result.splice(from, 1)\n result.splice(to, 0, removed)\n return result\n}\n\n/**\n * 数组转树形结构\n * @param arr 数组\n * @param options 配置\n */\nexport const arrayToTree = <T extends Record<string, any>>(\n arr: T[],\n options: {\n idKey?: string\n parentIdKey?: string\n childrenKey?: string\n } = {}\n): T[] => {\n const { idKey = 'id', parentIdKey = 'parentId', childrenKey = 'children' } = options\n\n const map = new Map<any, T>()\n const roots: T[] = []\n\n // 创建映射\n arr.forEach(item => {\n map.set(item[idKey], { ...item, [childrenKey]: [] })\n })\n\n // 构建树\n map.forEach(item => {\n const parentId = item[parentIdKey]\n if (parentId && map.has(parentId)) {\n const parent = map.get(parentId)\n if (parent) {\n ;(parent[childrenKey] as T[]).push(item)\n }\n } else {\n roots.push(item)\n }\n })\n\n return roots\n}\n\n/**\n * 树形结构转数组\n * @param tree 树\n * @param childrenKey 子节点键名\n */\nexport const treeToArray = <T extends Record<string, any>>(\n tree: T[],\n childrenKey = 'children'\n): T[] => {\n const result: T[] = []\n\n const traverse = (nodes: T[]) => {\n nodes.forEach(node => {\n result.push(node)\n if (node[childrenKey] && node[childrenKey].length > 0) {\n traverse(node[childrenKey])\n }\n })\n }\n\n traverse(tree)\n return result\n}\n\n/**\n * 数组分页\n * @param arr 数组\n * @param page 页码(从1开始)\n * @param pageSize 每页数量\n */\nexport const paginate = <T>(arr: T[], page: number, pageSize: number): T[] => {\n const start = (page - 1) * pageSize\n return arr.slice(start, start + pageSize)\n}\n\n/**\n * 获取分页信息\n * @param total 总数\n * @param page 页码(从1开始)\n * @param pageSize 每页数量\n */\nexport const getPaginationInfo = (total: number, page: number, pageSize: number) => {\n const totalPages = Math.ceil(total / pageSize)\n const startIndex = (page - 1) * pageSize\n const endIndex = Math.min(startIndex + pageSize, total)\n\n return {\n total,\n page,\n pageSize,\n totalPages,\n startIndex,\n endIndex,\n hasNext: page < totalPages,\n hasPrev: page > 1,\n }\n}\n"]}
|
package/dist/array.d.cts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { chunk, compact, difference, flatten, flattenDeep, groupBy, head, intersection, isEqual, last, omit, sample, sortBy, sum, uniq, uniqBy } from 'es-toolkit';
|
|
2
|
+
export { a as arrayToTree, b as average, f as filter, c as find, d as findIndex, g as getPaginationInfo, e as includes, h as insert, j as isEmpty, m as map, k as max, l as maxValue, n as min, o as minValue, p as move, q as paginate, r as reduceSum, s as remove, t as removeAt, u as shuffle, v as split, w as treeToArray, x as unique } from './index-BoqNpwNa.cjs';
|
package/dist/array.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { chunk, compact, difference, flatten, flattenDeep, groupBy, head, intersection, isEqual, last, omit, sample, sortBy, sum, uniq, uniqBy } from 'es-toolkit';
|
|
2
|
+
export { a as arrayToTree, b as average, f as filter, c as find, d as findIndex, g as getPaginationInfo, e as includes, h as insert, j as isEmpty, m as map, k as max, l as maxValue, n as min, o as minValue, p as move, q as paginate, r as reduceSum, s as remove, t as removeAt, u as shuffle, v as split, w as treeToArray, x as unique } from './index-BoqNpwNa.js';
|
package/dist/array.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { uniqBy, uniq } from 'es-toolkit';
|
|
2
|
+
export { chunk, compact, difference, flatten, flattenDeep, groupBy, head, intersection, isEqual, last, omit, sample, sortBy, sum, uniq, uniqBy } from 'es-toolkit';
|
|
3
|
+
|
|
4
|
+
// src/modules/array/index.ts
|
|
5
|
+
var unique = (arr, key) => {
|
|
6
|
+
if (key) {
|
|
7
|
+
return uniqBy(arr, (item) => item[key]);
|
|
8
|
+
}
|
|
9
|
+
return uniq(arr);
|
|
10
|
+
};
|
|
11
|
+
var min = (arr) => {
|
|
12
|
+
if (arr.length === 0) return void 0;
|
|
13
|
+
return Math.min(...arr);
|
|
14
|
+
};
|
|
15
|
+
var max = (arr) => {
|
|
16
|
+
if (arr.length === 0) return void 0;
|
|
17
|
+
return Math.max(...arr);
|
|
18
|
+
};
|
|
19
|
+
var isEmpty = (arr) => {
|
|
20
|
+
return arr.length === 0;
|
|
21
|
+
};
|
|
22
|
+
var split = (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
|
+
var shuffle = (arr) => {
|
|
30
|
+
const result = [...arr];
|
|
31
|
+
for (let i = result.length - 1; i > 0; i--) {
|
|
32
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
33
|
+
[result[i], result[j]] = [result[j], result[i]];
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
var findIndex = (arr, predicate) => {
|
|
38
|
+
return arr.findIndex(predicate);
|
|
39
|
+
};
|
|
40
|
+
var find = (arr, predicate) => {
|
|
41
|
+
return arr.find(predicate);
|
|
42
|
+
};
|
|
43
|
+
var filter = (arr, predicate) => {
|
|
44
|
+
return arr.filter(predicate);
|
|
45
|
+
};
|
|
46
|
+
var map = (arr, mapper) => {
|
|
47
|
+
return arr.map(mapper);
|
|
48
|
+
};
|
|
49
|
+
var reduceSum = (arr, mapper) => {
|
|
50
|
+
if (mapper) {
|
|
51
|
+
return arr.reduce((acc, item) => acc + mapper(item), 0);
|
|
52
|
+
}
|
|
53
|
+
return arr.reduce((acc, item) => acc + item, 0);
|
|
54
|
+
};
|
|
55
|
+
var average = (arr, mapper) => {
|
|
56
|
+
if (arr.length === 0) return 0;
|
|
57
|
+
if (mapper) {
|
|
58
|
+
const sum2 = arr.reduce((acc, item) => acc + mapper(item), 0);
|
|
59
|
+
return sum2 / arr.length;
|
|
60
|
+
}
|
|
61
|
+
return arr.reduce((acc, item) => acc + item, 0) / arr.length;
|
|
62
|
+
};
|
|
63
|
+
var maxValue = (arr, mapper) => {
|
|
64
|
+
if (arr.length === 0) return void 0;
|
|
65
|
+
if (mapper) {
|
|
66
|
+
return Math.max(...arr.map(mapper));
|
|
67
|
+
}
|
|
68
|
+
return Math.max(...arr);
|
|
69
|
+
};
|
|
70
|
+
var minValue = (arr, mapper) => {
|
|
71
|
+
if (arr.length === 0) return void 0;
|
|
72
|
+
if (mapper) {
|
|
73
|
+
return Math.min(...arr.map(mapper));
|
|
74
|
+
}
|
|
75
|
+
return Math.min(...arr);
|
|
76
|
+
};
|
|
77
|
+
var includes = (arr, value) => {
|
|
78
|
+
return arr.includes(value);
|
|
79
|
+
};
|
|
80
|
+
var remove = (arr, value) => {
|
|
81
|
+
return arr.filter((item) => item !== value);
|
|
82
|
+
};
|
|
83
|
+
var removeAt = (arr, index) => {
|
|
84
|
+
return arr.filter((_, i) => i !== index);
|
|
85
|
+
};
|
|
86
|
+
var insert = (arr, index, value) => {
|
|
87
|
+
return [...arr.slice(0, index), value, ...arr.slice(index)];
|
|
88
|
+
};
|
|
89
|
+
var move = (arr, from, to) => {
|
|
90
|
+
const result = [...arr];
|
|
91
|
+
const [removed] = result.splice(from, 1);
|
|
92
|
+
result.splice(to, 0, removed);
|
|
93
|
+
return result;
|
|
94
|
+
};
|
|
95
|
+
var arrayToTree = (arr, options = {}) => {
|
|
96
|
+
const { idKey = "id", parentIdKey = "parentId", childrenKey = "children" } = options;
|
|
97
|
+
const map2 = /* @__PURE__ */ new Map();
|
|
98
|
+
const roots = [];
|
|
99
|
+
arr.forEach((item) => {
|
|
100
|
+
map2.set(item[idKey], { ...item, [childrenKey]: [] });
|
|
101
|
+
});
|
|
102
|
+
map2.forEach((item) => {
|
|
103
|
+
const parentId = item[parentIdKey];
|
|
104
|
+
if (parentId && map2.has(parentId)) {
|
|
105
|
+
const parent = map2.get(parentId);
|
|
106
|
+
if (parent) {
|
|
107
|
+
parent[childrenKey].push(item);
|
|
108
|
+
}
|
|
109
|
+
} else {
|
|
110
|
+
roots.push(item);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return roots;
|
|
114
|
+
};
|
|
115
|
+
var treeToArray = (tree, childrenKey = "children") => {
|
|
116
|
+
const result = [];
|
|
117
|
+
const traverse = (nodes) => {
|
|
118
|
+
nodes.forEach((node) => {
|
|
119
|
+
result.push(node);
|
|
120
|
+
if (node[childrenKey] && node[childrenKey].length > 0) {
|
|
121
|
+
traverse(node[childrenKey]);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
traverse(tree);
|
|
126
|
+
return result;
|
|
127
|
+
};
|
|
128
|
+
var paginate = (arr, page, pageSize) => {
|
|
129
|
+
const start = (page - 1) * pageSize;
|
|
130
|
+
return arr.slice(start, start + pageSize);
|
|
131
|
+
};
|
|
132
|
+
var getPaginationInfo = (total, page, pageSize) => {
|
|
133
|
+
const totalPages = Math.ceil(total / pageSize);
|
|
134
|
+
const startIndex = (page - 1) * pageSize;
|
|
135
|
+
const endIndex = Math.min(startIndex + pageSize, total);
|
|
136
|
+
return {
|
|
137
|
+
total,
|
|
138
|
+
page,
|
|
139
|
+
pageSize,
|
|
140
|
+
totalPages,
|
|
141
|
+
startIndex,
|
|
142
|
+
endIndex,
|
|
143
|
+
hasNext: page < totalPages,
|
|
144
|
+
hasPrev: page > 1
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
export { arrayToTree, average, filter, find, findIndex, getPaginationInfo, includes, insert, isEmpty, map, max, maxValue, min, minValue, move, paginate, reduceSum, remove, removeAt, shuffle, split, treeToArray, unique };
|
|
149
|
+
//# sourceMappingURL=array.js.map
|
|
150
|
+
//# sourceMappingURL=array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/array/index.ts"],"names":["sum","map"],"mappings":"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","file":"array.js","sourcesContent":["/**\n * 数组工具模块\n * 基于 es-toolkit 封装,提供常用的数组处理功能\n */\n\nimport {\n chunk,\n compact,\n difference,\n intersection,\n uniq,\n uniqBy,\n groupBy,\n sortBy,\n sample,\n sum,\n flatten,\n flattenDeep,\n head,\n last,\n isEqual,\n omit,\n} from 'es-toolkit'\n\n// 直接导出 es-toolkit 的常用方法\nexport {\n chunk,\n compact,\n difference,\n intersection,\n uniq,\n uniqBy,\n groupBy,\n sortBy,\n sample,\n sum,\n flatten,\n flattenDeep,\n head,\n last,\n isEqual,\n omit,\n}\n\n/**\n * 数组去重(支持对象数组的去重)\n * @param arr 数组\n * @param key 对象数组的去重键值\n */\nexport const unique = <T>(arr: T[], key?: keyof T): T[] => {\n if (key) {\n return uniqBy(arr, item => item[key] as any)\n }\n return uniq(arr)\n}\n\n/**\n * 获取数组最小值\n * @param arr 数组\n */\nexport const min = (arr: number[]): number | undefined => {\n if (arr.length === 0) return undefined\n return Math.min(...arr)\n}\n\n/**\n * 获取数组最大值\n * @param arr 数组\n */\nexport const max = (arr: number[]): number | undefined => {\n if (arr.length === 0) return undefined\n return Math.max(...arr)\n}\n\n/**\n * 判断数组是否为空\n * @param arr 数组\n */\nexport const isEmpty = <T>(arr: T[]): boolean => {\n return arr.length === 0\n}\n\n/**\n * 数组分割\n * @param arr 数组\n * @param size 每组大小\n */\nexport const split = <T>(arr: T[], size: number): T[][] => {\n const result: T[][] = []\n for (let i = 0; i < arr.length; i += size) {\n result.push(arr.slice(i, i + size))\n }\n return result\n}\n\n/**\n * 数组乱序\n * @param arr 数组\n */\nexport const shuffle = <T>(arr: T[]): T[] => {\n const result = [...arr]\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1))\n ;[result[i], result[j]] = [result[j], result[i]]\n }\n return result\n}\n\n/**\n * 查找元素的索引\n * @param arr 数组\n * @param predicate 查找条件\n */\nexport const findIndex = <T>(arr: T[], predicate: (item: T, index: number) => boolean): number => {\n return arr.findIndex(predicate)\n}\n\n/**\n * 查找元素\n * @param arr 数组\n * @param predicate 查找条件\n */\nexport const find = <T>(\n arr: T[],\n predicate: (item: T, index: number) => boolean\n): T | undefined => {\n return arr.find(predicate)\n}\n\n/**\n * 过滤数组\n * @param arr 数组\n * @param predicate 过滤条件\n */\nexport const filter = <T>(arr: T[], predicate: (item: T, index: number) => boolean): T[] => {\n return arr.filter(predicate)\n}\n\n/**\n * 映射数组\n * @param arr 数组\n * @param mapper 映射函数\n */\nexport const map = <T, R>(arr: T[], mapper: (item: T, index: number) => R): R[] => {\n return arr.map(mapper)\n}\n\n/**\n * 数组求和\n * @param arr 数组\n * @param mapper 转换函数\n */\nexport const reduceSum = <T>(arr: T[], mapper?: (item: T) => number): number => {\n if (mapper) {\n return arr.reduce((acc, item) => acc + mapper(item), 0)\n }\n return (arr as number[]).reduce((acc, item) => acc + item, 0)\n}\n\n/**\n * 数组求平均值\n * @param arr 数组\n * @param mapper 转换函数\n */\nexport const average = <T>(arr: T[], mapper?: (item: T) => number): number => {\n if (arr.length === 0) return 0\n if (mapper) {\n const sum = arr.reduce((acc, item) => acc + mapper(item), 0)\n return sum / arr.length\n }\n return (arr as number[]).reduce((acc, item) => acc + item, 0) / arr.length\n}\n\n/**\n * 数组最大值\n * @param arr 数组\n * @param mapper 转换函数\n */\nexport const maxValue = <T>(arr: T[], mapper?: (item: T) => number): number | undefined => {\n if (arr.length === 0) return undefined\n if (mapper) {\n return Math.max(...arr.map(mapper))\n }\n return Math.max(...(arr as number[]))\n}\n\n/**\n * 数组最小值\n * @param arr 数组\n * @param mapper 转换函数\n */\nexport const minValue = <T>(arr: T[], mapper?: (item: T) => number): number | undefined => {\n if (arr.length === 0) return undefined\n if (mapper) {\n return Math.min(...arr.map(mapper))\n }\n return Math.min(...(arr as number[]))\n}\n\n/**\n * 判断数组是否包含某个元素\n * @param arr 数组\n * @param value 值\n */\nexport const includes = <T>(arr: T[], value: T): boolean => {\n return arr.includes(value)\n}\n\n/**\n * 数组删除元素\n * @param arr 数组\n * @param value 值\n */\nexport const remove = <T>(arr: T[], value: T): T[] => {\n return arr.filter(item => item !== value)\n}\n\n/**\n * 数组删除指定索引元素\n * @param arr 数组\n * @param index 索引\n */\nexport const removeAt = <T>(arr: T[], index: number): T[] => {\n return arr.filter((_, i) => i !== index)\n}\n\n/**\n * 数组插入元素\n * @param arr 数组\n * @param index 索引\n * @param value 值\n */\nexport const insert = <T>(arr: T[], index: number, value: T): T[] => {\n return [...arr.slice(0, index), value, ...arr.slice(index)]\n}\n\n/**\n * 数组移动元素\n * @param arr 数组\n * @param from 源索引\n * @param to 目标索引\n */\nexport const move = <T>(arr: T[], from: number, to: number): T[] => {\n const result = [...arr]\n const [removed] = result.splice(from, 1)\n result.splice(to, 0, removed)\n return result\n}\n\n/**\n * 数组转树形结构\n * @param arr 数组\n * @param options 配置\n */\nexport const arrayToTree = <T extends Record<string, any>>(\n arr: T[],\n options: {\n idKey?: string\n parentIdKey?: string\n childrenKey?: string\n } = {}\n): T[] => {\n const { idKey = 'id', parentIdKey = 'parentId', childrenKey = 'children' } = options\n\n const map = new Map<any, T>()\n const roots: T[] = []\n\n // 创建映射\n arr.forEach(item => {\n map.set(item[idKey], { ...item, [childrenKey]: [] })\n })\n\n // 构建树\n map.forEach(item => {\n const parentId = item[parentIdKey]\n if (parentId && map.has(parentId)) {\n const parent = map.get(parentId)\n if (parent) {\n ;(parent[childrenKey] as T[]).push(item)\n }\n } else {\n roots.push(item)\n }\n })\n\n return roots\n}\n\n/**\n * 树形结构转数组\n * @param tree 树\n * @param childrenKey 子节点键名\n */\nexport const treeToArray = <T extends Record<string, any>>(\n tree: T[],\n childrenKey = 'children'\n): T[] => {\n const result: T[] = []\n\n const traverse = (nodes: T[]) => {\n nodes.forEach(node => {\n result.push(node)\n if (node[childrenKey] && node[childrenKey].length > 0) {\n traverse(node[childrenKey])\n }\n })\n }\n\n traverse(tree)\n return result\n}\n\n/**\n * 数组分页\n * @param arr 数组\n * @param page 页码(从1开始)\n * @param pageSize 每页数量\n */\nexport const paginate = <T>(arr: T[], page: number, pageSize: number): T[] => {\n const start = (page - 1) * pageSize\n return arr.slice(start, start + pageSize)\n}\n\n/**\n * 获取分页信息\n * @param total 总数\n * @param page 页码(从1开始)\n * @param pageSize 每页数量\n */\nexport const getPaginationInfo = (total: number, page: number, pageSize: number) => {\n const totalPages = Math.ceil(total / pageSize)\n const startIndex = (page - 1) * pageSize\n const endIndex = Math.min(startIndex + pageSize, total)\n\n return {\n total,\n page,\n pageSize,\n totalPages,\n startIndex,\n endIndex,\n hasNext: page < totalPages,\n hasPrev: page > 1,\n }\n}\n"]}
|
package/dist/crypto.cjs
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var CryptoJS = require('crypto-js');
|
|
4
|
+
|
|
5
|
+
function _interopNamespace(e) {
|
|
6
|
+
if (e && e.__esModule) return e;
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var CryptoJS__namespace = /*#__PURE__*/_interopNamespace(CryptoJS);
|
|
24
|
+
|
|
25
|
+
// src/modules/crypto/index.ts
|
|
26
|
+
var md5 = (message) => {
|
|
27
|
+
return CryptoJS__namespace.MD5(message).toString();
|
|
28
|
+
};
|
|
29
|
+
var sha1 = (message) => {
|
|
30
|
+
return CryptoJS__namespace.SHA1(message).toString();
|
|
31
|
+
};
|
|
32
|
+
var sha256 = (message) => {
|
|
33
|
+
return CryptoJS__namespace.SHA256(message).toString();
|
|
34
|
+
};
|
|
35
|
+
var sha512 = (message) => {
|
|
36
|
+
return CryptoJS__namespace.SHA512(message).toString();
|
|
37
|
+
};
|
|
38
|
+
var hmacMD5 = (message, key) => {
|
|
39
|
+
return CryptoJS__namespace.HmacMD5(message, key).toString();
|
|
40
|
+
};
|
|
41
|
+
var hmacSHA1 = (message, key) => {
|
|
42
|
+
return CryptoJS__namespace.HmacSHA1(message, key).toString();
|
|
43
|
+
};
|
|
44
|
+
var hmacSHA256 = (message, key) => {
|
|
45
|
+
return CryptoJS__namespace.HmacSHA256(message, key).toString();
|
|
46
|
+
};
|
|
47
|
+
var hmacSHA512 = (message, key) => {
|
|
48
|
+
return CryptoJS__namespace.HmacSHA512(message, key).toString();
|
|
49
|
+
};
|
|
50
|
+
var aesEncrypt = (message, key, iv, mode2 = CryptoJS__namespace.mode.CBC, padding = CryptoJS__namespace.pad.Pkcs7) => {
|
|
51
|
+
const keyWord = CryptoJS__namespace.enc.Utf8.parse(key);
|
|
52
|
+
const ivWord = iv ? CryptoJS__namespace.enc.Utf8.parse(iv) : void 0;
|
|
53
|
+
const encrypted = CryptoJS__namespace.AES.encrypt(message, keyWord, {
|
|
54
|
+
iv: ivWord,
|
|
55
|
+
mode: mode2,
|
|
56
|
+
padding
|
|
57
|
+
});
|
|
58
|
+
return encrypted.toString();
|
|
59
|
+
};
|
|
60
|
+
var aesDecrypt = (ciphertext, key, iv, mode2 = CryptoJS__namespace.mode.CBC, padding = CryptoJS__namespace.pad.Pkcs7) => {
|
|
61
|
+
const keyWord = CryptoJS__namespace.enc.Utf8.parse(key);
|
|
62
|
+
const ivWord = iv ? CryptoJS__namespace.enc.Utf8.parse(iv) : void 0;
|
|
63
|
+
const decrypted = CryptoJS__namespace.AES.decrypt(ciphertext, keyWord, {
|
|
64
|
+
iv: ivWord,
|
|
65
|
+
mode: mode2,
|
|
66
|
+
padding
|
|
67
|
+
});
|
|
68
|
+
return decrypted.toString(CryptoJS__namespace.enc.Utf8);
|
|
69
|
+
};
|
|
70
|
+
var desEncrypt = (message, key, iv, mode2 = CryptoJS__namespace.mode.CBC, padding = CryptoJS__namespace.pad.Pkcs7) => {
|
|
71
|
+
const keyWord = CryptoJS__namespace.enc.Utf8.parse(key);
|
|
72
|
+
const ivWord = iv ? CryptoJS__namespace.enc.Utf8.parse(iv) : void 0;
|
|
73
|
+
const encrypted = CryptoJS__namespace.DES.encrypt(message, keyWord, {
|
|
74
|
+
iv: ivWord,
|
|
75
|
+
mode: mode2,
|
|
76
|
+
padding
|
|
77
|
+
});
|
|
78
|
+
return encrypted.toString();
|
|
79
|
+
};
|
|
80
|
+
var desDecrypt = (ciphertext, key, iv, mode2 = CryptoJS__namespace.mode.CBC, padding = CryptoJS__namespace.pad.Pkcs7) => {
|
|
81
|
+
const keyWord = CryptoJS__namespace.enc.Utf8.parse(key);
|
|
82
|
+
const ivWord = iv ? CryptoJS__namespace.enc.Utf8.parse(iv) : void 0;
|
|
83
|
+
const decrypted = CryptoJS__namespace.DES.decrypt(ciphertext, keyWord, {
|
|
84
|
+
iv: ivWord,
|
|
85
|
+
mode: mode2,
|
|
86
|
+
padding
|
|
87
|
+
});
|
|
88
|
+
return decrypted.toString(CryptoJS__namespace.enc.Utf8);
|
|
89
|
+
};
|
|
90
|
+
var tripleDesEncrypt = (message, key, iv, mode2 = CryptoJS__namespace.mode.CBC, padding = CryptoJS__namespace.pad.Pkcs7) => {
|
|
91
|
+
const keyWord = CryptoJS__namespace.enc.Utf8.parse(key);
|
|
92
|
+
const ivWord = iv ? CryptoJS__namespace.enc.Utf8.parse(iv) : void 0;
|
|
93
|
+
const encrypted = CryptoJS__namespace.TripleDES.encrypt(message, keyWord, {
|
|
94
|
+
iv: ivWord,
|
|
95
|
+
mode: mode2,
|
|
96
|
+
padding
|
|
97
|
+
});
|
|
98
|
+
return encrypted.toString();
|
|
99
|
+
};
|
|
100
|
+
var tripleDesDecrypt = (ciphertext, key, iv, mode2 = CryptoJS__namespace.mode.CBC, padding = CryptoJS__namespace.pad.Pkcs7) => {
|
|
101
|
+
const keyWord = CryptoJS__namespace.enc.Utf8.parse(key);
|
|
102
|
+
const ivWord = iv ? CryptoJS__namespace.enc.Utf8.parse(iv) : void 0;
|
|
103
|
+
const decrypted = CryptoJS__namespace.TripleDES.decrypt(ciphertext, keyWord, {
|
|
104
|
+
iv: ivWord,
|
|
105
|
+
mode: mode2,
|
|
106
|
+
padding
|
|
107
|
+
});
|
|
108
|
+
return decrypted.toString(CryptoJS__namespace.enc.Utf8);
|
|
109
|
+
};
|
|
110
|
+
var rc4Encrypt = (message, key) => {
|
|
111
|
+
const encrypted = CryptoJS__namespace.RC4.encrypt(message, key);
|
|
112
|
+
return encrypted.toString();
|
|
113
|
+
};
|
|
114
|
+
var rc4Decrypt = (ciphertext, key) => {
|
|
115
|
+
const decrypted = CryptoJS__namespace.RC4.decrypt(ciphertext, key);
|
|
116
|
+
return decrypted.toString(CryptoJS__namespace.enc.Utf8);
|
|
117
|
+
};
|
|
118
|
+
var rabbitEncrypt = (message, key) => {
|
|
119
|
+
const encrypted = CryptoJS__namespace.Rabbit.encrypt(message, key);
|
|
120
|
+
return encrypted.toString();
|
|
121
|
+
};
|
|
122
|
+
var rabbitDecrypt = (ciphertext, key) => {
|
|
123
|
+
const decrypted = CryptoJS__namespace.Rabbit.decrypt(ciphertext, key);
|
|
124
|
+
return decrypted.toString(CryptoJS__namespace.enc.Utf8);
|
|
125
|
+
};
|
|
126
|
+
var base64Encode = (message) => {
|
|
127
|
+
return CryptoJS__namespace.enc.Base64.stringify(CryptoJS__namespace.enc.Utf8.parse(message));
|
|
128
|
+
};
|
|
129
|
+
var base64Decode = (encoded) => {
|
|
130
|
+
return CryptoJS__namespace.enc.Base64.parse(encoded).toString(CryptoJS__namespace.enc.Utf8);
|
|
131
|
+
};
|
|
132
|
+
var utf8Encode = (message) => {
|
|
133
|
+
return CryptoJS__namespace.enc.Utf8.stringify(CryptoJS__namespace.enc.Utf8.parse(message));
|
|
134
|
+
};
|
|
135
|
+
var utf8Decode = (encoded) => {
|
|
136
|
+
return CryptoJS__namespace.enc.Utf8.parse(encoded).toString(CryptoJS__namespace.enc.Utf8);
|
|
137
|
+
};
|
|
138
|
+
var hexEncode = (message) => {
|
|
139
|
+
return CryptoJS__namespace.enc.Hex.stringify(CryptoJS__namespace.enc.Utf8.parse(message));
|
|
140
|
+
};
|
|
141
|
+
var hexDecode = (encoded) => {
|
|
142
|
+
return CryptoJS__namespace.enc.Hex.parse(encoded).toString(CryptoJS__namespace.enc.Utf8);
|
|
143
|
+
};
|
|
144
|
+
var generateKey = (length = 32) => {
|
|
145
|
+
const key = CryptoJS__namespace.lib.WordArray.random(length);
|
|
146
|
+
return CryptoJS__namespace.enc.Base64.stringify(key);
|
|
147
|
+
};
|
|
148
|
+
var generateIV = (length = 16) => {
|
|
149
|
+
const iv = CryptoJS__namespace.lib.WordArray.random(length);
|
|
150
|
+
return CryptoJS__namespace.enc.Base64.stringify(iv);
|
|
151
|
+
};
|
|
152
|
+
var pbkdf2 = (password, salt, iterations = 1e3, keySize = 32) => {
|
|
153
|
+
const key = CryptoJS__namespace.PBKDF2(password, salt, {
|
|
154
|
+
keySize: keySize / 4,
|
|
155
|
+
iterations
|
|
156
|
+
});
|
|
157
|
+
return key.toString();
|
|
158
|
+
};
|
|
159
|
+
var uuid = () => {
|
|
160
|
+
return CryptoJS__namespace.lib.WordArray.random(16).toString();
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
exports.CryptoJS = CryptoJS__namespace;
|
|
164
|
+
exports.aesDecrypt = aesDecrypt;
|
|
165
|
+
exports.aesEncrypt = aesEncrypt;
|
|
166
|
+
exports.base64Decode = base64Decode;
|
|
167
|
+
exports.base64Encode = base64Encode;
|
|
168
|
+
exports.desDecrypt = desDecrypt;
|
|
169
|
+
exports.desEncrypt = desEncrypt;
|
|
170
|
+
exports.generateIV = generateIV;
|
|
171
|
+
exports.generateKey = generateKey;
|
|
172
|
+
exports.hexDecode = hexDecode;
|
|
173
|
+
exports.hexEncode = hexEncode;
|
|
174
|
+
exports.hmacMD5 = hmacMD5;
|
|
175
|
+
exports.hmacSHA1 = hmacSHA1;
|
|
176
|
+
exports.hmacSHA256 = hmacSHA256;
|
|
177
|
+
exports.hmacSHA512 = hmacSHA512;
|
|
178
|
+
exports.md5 = md5;
|
|
179
|
+
exports.pbkdf2 = pbkdf2;
|
|
180
|
+
exports.rabbitDecrypt = rabbitDecrypt;
|
|
181
|
+
exports.rabbitEncrypt = rabbitEncrypt;
|
|
182
|
+
exports.rc4Decrypt = rc4Decrypt;
|
|
183
|
+
exports.rc4Encrypt = rc4Encrypt;
|
|
184
|
+
exports.sha1 = sha1;
|
|
185
|
+
exports.sha256 = sha256;
|
|
186
|
+
exports.sha512 = sha512;
|
|
187
|
+
exports.tripleDesDecrypt = tripleDesDecrypt;
|
|
188
|
+
exports.tripleDesEncrypt = tripleDesEncrypt;
|
|
189
|
+
exports.utf8Decode = utf8Decode;
|
|
190
|
+
exports.utf8Encode = utf8Encode;
|
|
191
|
+
exports.uuid = uuid;
|
|
192
|
+
//# sourceMappingURL=crypto.cjs.map
|
|
193
|
+
//# sourceMappingURL=crypto.cjs.map
|