es-toolkit 1.18.0 → 1.19.0-dev.603
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/CHANGELOG.md +11 -0
- package/dist/_chunk/{rest-CXt9w3.js → curry-BmwJrK.js} +21 -0
- package/dist/_chunk/{isWeakSet-CogETi.js → isWeakSet-E_VMwB.js} +9 -3
- package/dist/_chunk/range-BXlMmn.js +68 -0
- package/dist/_chunk/{toMerged-DN1PPP.js → toMerged-Bzkqyz.js} +28 -46
- package/dist/_chunk/{zipWith-CYaH1Y.js → zipWith-B-5AMf.js} +1 -1
- package/dist/array/forEachRight.d.mts +23 -0
- package/dist/array/forEachRight.d.ts +23 -0
- package/dist/array/groupBy.mjs +1 -1
- package/dist/array/index.js +1 -1
- package/dist/array/orderBy.d.mts +1 -1
- package/dist/array/orderBy.d.ts +1 -1
- package/dist/array/sortBy.d.mts +1 -1
- package/dist/array/sortBy.d.ts +1 -1
- package/dist/array/unzip.d.mts +1 -1
- package/dist/array/unzip.d.ts +1 -1
- package/dist/array/zipObject.d.mts +1 -1
- package/dist/array/zipObject.d.ts +1 -1
- package/dist/browser.global.js +1 -1
- package/dist/browser.global.js.map +1 -1
- package/dist/compat/_internal/decimalAdjust.mjs +19 -0
- package/dist/compat/_internal/isDeepKey.mjs +1 -3
- package/dist/compat/_internal/normalizeForCase.mjs +5 -4
- package/dist/compat/_internal/toKey.mjs +2 -7
- package/dist/compat/array/flatten.d.mts +1 -1
- package/dist/compat/array/flatten.d.ts +1 -1
- package/dist/compat/array/flattenDepth.d.mts +1 -1
- package/dist/compat/array/flattenDepth.d.ts +1 -1
- package/dist/compat/array/indexOf.d.mts +1 -1
- package/dist/compat/array/indexOf.d.ts +1 -1
- package/dist/compat/array/orderBy.d.mts +1 -1
- package/dist/compat/array/orderBy.d.ts +1 -1
- package/dist/compat/array/orderBy.mjs +1 -1
- package/dist/compat/array/size.d.mts +1 -1
- package/dist/compat/array/size.d.ts +1 -1
- package/dist/compat/array/sortBy.d.mts +1 -1
- package/dist/compat/array/sortBy.d.ts +1 -1
- package/dist/compat/array/zipObjectDeep.d.mts +1 -1
- package/dist/compat/array/zipObjectDeep.d.ts +1 -1
- package/dist/compat/index.d.mts +20 -7
- package/dist/compat/index.d.ts +20 -7
- package/dist/compat/index.js +459 -137
- package/dist/compat/index.mjs +20 -7
- package/dist/compat/math/ceil.d.mts +15 -0
- package/dist/compat/math/ceil.d.ts +15 -0
- package/dist/compat/math/ceil.mjs +7 -0
- package/dist/compat/math/floor.d.mts +15 -0
- package/dist/compat/math/floor.d.ts +15 -0
- package/dist/compat/math/floor.mjs +7 -0
- package/dist/compat/math/round.d.mts +15 -0
- package/dist/compat/math/round.d.ts +15 -0
- package/dist/compat/math/round.mjs +7 -0
- package/dist/compat/object/fromPairs.d.mts +2 -2
- package/dist/compat/object/fromPairs.d.ts +2 -2
- package/dist/compat/object/get.d.mts +12 -12
- package/dist/compat/object/get.d.ts +12 -12
- package/dist/compat/object/get.mjs +54 -17
- package/dist/compat/object/has.mjs +1 -1
- package/dist/compat/object/mergeWith.mjs +14 -2
- package/dist/compat/object/omit.d.mts +34 -0
- package/dist/compat/object/omit.d.ts +34 -0
- package/dist/compat/object/omit.mjs +33 -0
- package/dist/compat/object/pick.d.mts +47 -0
- package/dist/compat/object/pick.d.ts +47 -0
- package/dist/compat/object/pick.mjs +38 -0
- package/dist/compat/object/set.mjs +1 -1
- package/dist/compat/object/unset.d.mts +20 -0
- package/dist/compat/object/unset.d.ts +20 -0
- package/dist/compat/object/unset.mjs +68 -0
- package/dist/compat/predicate/isInteger.d.mts +17 -0
- package/dist/compat/predicate/isInteger.d.ts +17 -0
- package/dist/compat/predicate/isInteger.mjs +5 -0
- package/dist/compat/predicate/isMatch.mjs +44 -4
- package/dist/compat/predicate/isNil.mjs +5 -0
- package/dist/compat/predicate/isObject.d.mts +4 -4
- package/dist/compat/predicate/isObject.d.ts +4 -4
- package/dist/compat/predicate/isSafeInteger.d.mts +20 -0
- package/dist/compat/predicate/isSafeInteger.d.ts +20 -0
- package/dist/compat/predicate/isSafeInteger.mjs +5 -0
- package/dist/compat/predicate/matchesProperty.mjs +12 -1
- package/dist/compat/string/kebabCase.d.mts +17 -0
- package/dist/compat/string/kebabCase.d.ts +17 -0
- package/dist/compat/string/kebabCase.mjs +9 -0
- package/dist/compat/string/lowerCase.d.mts +17 -0
- package/dist/compat/string/lowerCase.d.ts +17 -0
- package/dist/compat/string/lowerCase.mjs +8 -0
- package/dist/compat/string/snakeCase.d.mts +17 -0
- package/dist/compat/string/snakeCase.d.ts +17 -0
- package/dist/compat/string/snakeCase.mjs +8 -0
- package/dist/compat/string/startCase.d.mts +16 -0
- package/dist/compat/string/startCase.d.ts +16 -0
- package/dist/compat/string/startCase.mjs +8 -0
- package/dist/compat/string/trim.d.mts +16 -0
- package/dist/compat/string/trim.d.ts +16 -0
- package/dist/compat/string/trim.mjs +25 -0
- package/dist/compat/string/trimEnd.d.mts +17 -0
- package/dist/compat/string/trimEnd.d.ts +17 -0
- package/dist/compat/string/trimEnd.mjs +25 -0
- package/dist/compat/string/trimStart.d.mts +17 -0
- package/dist/compat/string/trimStart.d.ts +17 -0
- package/dist/compat/string/trimStart.mjs +25 -0
- package/dist/compat/util/toPath.d.mts +20 -0
- package/dist/compat/util/toPath.d.ts +20 -0
- package/dist/compat/util/toPath.mjs +37 -0
- package/dist/compat/util/toString.d.mts +19 -0
- package/dist/compat/util/toString.d.ts +19 -0
- package/dist/compat/util/toString.mjs +15 -0
- package/dist/function/curry.d.mts +127 -0
- package/dist/function/curry.d.ts +127 -0
- package/dist/function/curry.mjs +21 -0
- package/dist/function/index.d.mts +1 -0
- package/dist/function/index.d.ts +1 -0
- package/dist/function/index.js +15 -14
- package/dist/function/index.mjs +1 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +40 -33
- package/dist/index.mjs +6 -0
- package/dist/math/index.js +8 -66
- package/dist/object/clone.mjs +28 -25
- package/dist/object/index.js +19 -3
- package/dist/object/pick.d.mts +1 -1
- package/dist/object/pick.d.ts +1 -1
- package/dist/predicate/index.d.mts +1 -0
- package/dist/predicate/index.d.ts +1 -0
- package/dist/predicate/index.js +6 -5
- package/dist/predicate/index.mjs +1 -0
- package/dist/predicate/isDate.d.mts +16 -0
- package/dist/predicate/isDate.d.ts +16 -0
- package/dist/predicate/isDate.mjs +5 -0
- package/dist/predicate/isNotNil.mjs +1 -1
- package/dist/string/capitalize.d.mts +1 -0
- package/dist/string/capitalize.d.ts +1 -0
- package/dist/string/index.d.mts +4 -0
- package/dist/string/index.d.ts +4 -0
- package/dist/string/index.js +65 -0
- package/dist/string/index.mjs +4 -0
- package/dist/string/startCase.d.mts +1 -1
- package/dist/string/startCase.d.ts +1 -1
- package/dist/string/trim.d.mts +15 -0
- package/dist/string/trim.d.ts +15 -0
- package/dist/string/trim.mjs +11 -0
- package/dist/string/trimEnd.d.mts +16 -0
- package/dist/string/trimEnd.d.ts +16 -0
- package/dist/string/trimEnd.mjs +22 -0
- package/dist/string/trimStart.d.mts +16 -0
- package/dist/string/trimStart.d.ts +16 -0
- package/dist/string/trimStart.mjs +22 -0
- package/dist/string/upperCase.d.mts +17 -0
- package/dist/string/upperCase.d.ts +17 -0
- package/dist/string/upperCase.mjs +15 -0
- package/package.json +1 -1
- package/dist/compat/_internal/isArrayMatch.mjs +0 -24
- package/dist/compat/_internal/isMapMatch.mjs +0 -18
- package/dist/compat/_internal/isSetMatch.mjs +0 -13
- package/dist/compat/_internal/toPath.mjs +0 -40
- package/dist/_chunk/{isTypedArray-Dsrnb1.js → isPlainObject-BIekvL.js} +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# es-toolkit Changelog
|
|
2
2
|
|
|
3
|
+
## Version v1.19.0
|
|
4
|
+
|
|
5
|
+
Released on September 14th, 2024.
|
|
6
|
+
|
|
7
|
+
- Added support for [isDate](https://es-toolkit.slash.page/reference/predicate/isDate.html), [curry](https://es-toolkit.slash.page/reference/function/curry.html), [upperCase](https://es-toolkit.slash.page/reference/string/upperCase.html).
|
|
8
|
+
- Added compatibility functions for [pick](https://es-toolkit.slash.page/reference/object/pick.html), [omit](https://es-toolkit.slash.page/reference/object/omit.html), [unset](https://es-toolkit.slash.page/reference/compat/object/unset.html), [toPath](https://es-toolkit.slash.page/reference/compat/util/toPath.html), [trim](https://es-toolkit.slash.page/reference/compat/string/trim.html), [trimStart](https://es-toolkit.slash.page/reference/compat/string/trimStart.html), [trimEnd](https://es-toolkit.slash.page/reference/compat/string/trimEnd.html), [isInteger](https://es-toolkit.slash.page/reference/compat/predicate/isInteger.html), [isSafeInteger](https://es-toolkit.slash.page/reference/compat/predicate/isSafeInteger.html), [snakeCase](https://es-toolkit.slash.page/reference/string/snakeCase.html), [startCase](https://es-toolkit.slash.page/reference/string/startCase.html), [lowerCase](https://es-toolkit.slash.page/reference/string/lowerCase.html), [kebabCase](https://es-toolkit.slash.page/reference/string/kebabCase.html), [ceil](https://es-toolkit.slash.page/reference/compat/math/ceil.html), [floor](https://es-toolkit.slash.page/reference/compat/math/floor.html), [round](https://es-toolkit.slash.page/reference/math/round.html).
|
|
9
|
+
- Enhanced [clone](https://es-toolkit.slash.page/reference/object/clone.html) to handle `Buffer`s, `SharedArrayBuffer`s, `File`s, `Blob`s, `TypedArray`s, and `Error`s.
|
|
10
|
+
- Fixed a bug where [mergeWith](https://es-toolkit.slash.page/reference/object/mergeWith.html) did not preserve the original properties of the `target` object.
|
|
11
|
+
- Fixed a bug where [groupBy](https://es-toolkit.slash.page/reference/array/groupBy.html) couldn't group with keys like `toString` and `indexOf`.
|
|
12
|
+
- Improved performance for [has](https://es-toolkit.slash.page/reference/compat/object/has.html) and [get](https://es-toolkit.slash.page/reference/compat/object/get.html).
|
|
13
|
+
|
|
3
14
|
## Version v1.18.0
|
|
4
15
|
|
|
5
16
|
Released on September 12th, 2024.
|
|
@@ -167,9 +167,30 @@ function rest(func, startIndex = func.length - 1) {
|
|
|
167
167
|
};
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
+
function curry(func) {
|
|
171
|
+
if (func.length === 0 || func.length === 1) {
|
|
172
|
+
return func;
|
|
173
|
+
}
|
|
174
|
+
return function (arg) {
|
|
175
|
+
return makeCurry(func, func.length, [arg]);
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
function makeCurry(origin, argsLength, args) {
|
|
179
|
+
if (args.length === argsLength) {
|
|
180
|
+
return origin(...args);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
const next = function (arg) {
|
|
184
|
+
return makeCurry(origin, argsLength, [...args, arg]);
|
|
185
|
+
};
|
|
186
|
+
return next;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
170
190
|
exports.after = after;
|
|
171
191
|
exports.ary = ary;
|
|
172
192
|
exports.before = before;
|
|
193
|
+
exports.curry = curry;
|
|
173
194
|
exports.debounce = debounce;
|
|
174
195
|
exports.memoize = memoize;
|
|
175
196
|
exports.negate = negate;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const isPlainObject = require('./isPlainObject-BIekvL.js');
|
|
4
|
+
|
|
5
|
+
function isDate(value) {
|
|
6
|
+
return value instanceof Date;
|
|
7
|
+
}
|
|
4
8
|
|
|
5
9
|
const regexpTag = '[object RegExp]';
|
|
6
10
|
const stringTag = '[object String]';
|
|
@@ -177,7 +181,7 @@ function areObjectsEqual(a, b, stack) {
|
|
|
177
181
|
return a.name === b.name && a.message === b.message;
|
|
178
182
|
}
|
|
179
183
|
case objectTag: {
|
|
180
|
-
const areEqualInstances = areObjectsEqual(a.constructor, b.constructor, stack) || (
|
|
184
|
+
const areEqualInstances = areObjectsEqual(a.constructor, b.constructor, stack) || (isPlainObject.isPlainObject(a) && isPlainObject.isPlainObject(b));
|
|
181
185
|
if (!areEqualInstances) {
|
|
182
186
|
return false;
|
|
183
187
|
}
|
|
@@ -215,7 +219,7 @@ function isNil(x) {
|
|
|
215
219
|
}
|
|
216
220
|
|
|
217
221
|
function isNotNil(x) {
|
|
218
|
-
return x
|
|
222
|
+
return x != null;
|
|
219
223
|
}
|
|
220
224
|
|
|
221
225
|
function isNull(x) {
|
|
@@ -244,7 +248,9 @@ function isWeakSet(value) {
|
|
|
244
248
|
|
|
245
249
|
exports.argumentsTag = argumentsTag;
|
|
246
250
|
exports.booleanTag = booleanTag;
|
|
251
|
+
exports.getSymbols = getSymbols;
|
|
247
252
|
exports.getTag = getTag;
|
|
253
|
+
exports.isDate = isDate;
|
|
248
254
|
exports.isEqual = isEqual;
|
|
249
255
|
exports.isFunction = isFunction;
|
|
250
256
|
exports.isLength = isLength;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function clamp(value, bound1, bound2) {
|
|
4
|
+
if (bound2 == null) {
|
|
5
|
+
return Math.min(value, bound1);
|
|
6
|
+
}
|
|
7
|
+
return Math.min(Math.max(value, bound1), bound2);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function inRange(value, minimum, maximum) {
|
|
11
|
+
if (maximum == null) {
|
|
12
|
+
maximum = minimum;
|
|
13
|
+
minimum = 0;
|
|
14
|
+
}
|
|
15
|
+
if (minimum >= maximum) {
|
|
16
|
+
throw new Error('The maximum value must be greater than the minimum value.');
|
|
17
|
+
}
|
|
18
|
+
return minimum <= value && value < maximum;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function sum(nums) {
|
|
22
|
+
let result = 0;
|
|
23
|
+
for (let i = 0; i < nums.length; i++) {
|
|
24
|
+
result += nums[i];
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function mean(nums) {
|
|
30
|
+
return sum(nums) / nums.length;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function meanBy(items, getValue) {
|
|
34
|
+
const nums = items.map(x => getValue(x));
|
|
35
|
+
return mean(nums);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function sumBy(items, getValue) {
|
|
39
|
+
const nums = items.map(x => getValue(x));
|
|
40
|
+
return sum(nums);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function range(start, end, step) {
|
|
44
|
+
if (end == null) {
|
|
45
|
+
end = start;
|
|
46
|
+
start = 0;
|
|
47
|
+
}
|
|
48
|
+
if (step == null) {
|
|
49
|
+
step = 1;
|
|
50
|
+
}
|
|
51
|
+
if (!Number.isInteger(step) || step === 0) {
|
|
52
|
+
throw new Error(`The step value must be a non-zero integer.`);
|
|
53
|
+
}
|
|
54
|
+
const length = Math.max(Math.ceil((end - start) / step), 0);
|
|
55
|
+
const result = new Array(length);
|
|
56
|
+
for (let i = 0; i < length; i++) {
|
|
57
|
+
result[i] = start + i * step;
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
exports.clamp = clamp;
|
|
63
|
+
exports.inRange = inRange;
|
|
64
|
+
exports.mean = mean;
|
|
65
|
+
exports.meanBy = meanBy;
|
|
66
|
+
exports.range = range;
|
|
67
|
+
exports.sum = sum;
|
|
68
|
+
exports.sumBy = sumBy;
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
function omit(obj, keys) {
|
|
6
|
-
const result = { ...obj };
|
|
7
|
-
for (const key of keys) {
|
|
8
|
-
delete result[key];
|
|
9
|
-
}
|
|
10
|
-
return result;
|
|
11
|
-
}
|
|
3
|
+
const isPlainObject = require('./isPlainObject-BIekvL.js');
|
|
12
4
|
|
|
13
5
|
function omitBy(obj, shouldOmit) {
|
|
14
6
|
const result = {};
|
|
@@ -21,14 +13,6 @@ function omitBy(obj, shouldOmit) {
|
|
|
21
13
|
return result;
|
|
22
14
|
}
|
|
23
15
|
|
|
24
|
-
function pick(obj, keys) {
|
|
25
|
-
const result = {};
|
|
26
|
-
for (const key of keys) {
|
|
27
|
-
result[key] = obj[key];
|
|
28
|
-
}
|
|
29
|
-
return result;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
16
|
function pickBy(obj, shouldPick) {
|
|
33
17
|
const result = {};
|
|
34
18
|
for (const [key, value] of Object.entries(obj)) {
|
|
@@ -52,42 +36,42 @@ function invert(obj) {
|
|
|
52
36
|
}
|
|
53
37
|
|
|
54
38
|
function clone(obj) {
|
|
55
|
-
if (isPrimitive(obj)) {
|
|
39
|
+
if (isPlainObject.isPrimitive(obj)) {
|
|
56
40
|
return obj;
|
|
57
41
|
}
|
|
58
|
-
if (Array.isArray(obj)) {
|
|
59
|
-
return obj.slice();
|
|
42
|
+
if (Array.isArray(obj) || isPlainObject.isTypedArray(obj) || obj instanceof ArrayBuffer || obj instanceof SharedArrayBuffer) {
|
|
43
|
+
return obj.slice(0);
|
|
60
44
|
}
|
|
61
|
-
|
|
62
|
-
|
|
45
|
+
const prototype = Object.getPrototypeOf(obj);
|
|
46
|
+
const Constructor = prototype.constructor;
|
|
47
|
+
if (obj instanceof Date || obj instanceof Map || obj instanceof Set) {
|
|
48
|
+
return new Constructor(obj);
|
|
63
49
|
}
|
|
64
50
|
if (obj instanceof RegExp) {
|
|
65
|
-
|
|
51
|
+
const newRegExp = new Constructor(obj);
|
|
52
|
+
newRegExp.lastIndex = obj.lastIndex;
|
|
53
|
+
return newRegExp;
|
|
66
54
|
}
|
|
67
|
-
if (obj instanceof
|
|
68
|
-
|
|
69
|
-
for (const [key, value] of obj) {
|
|
70
|
-
result.set(key, value);
|
|
71
|
-
}
|
|
72
|
-
return result;
|
|
55
|
+
if (obj instanceof DataView) {
|
|
56
|
+
return new Constructor(obj.buffer.slice(0));
|
|
73
57
|
}
|
|
74
|
-
if (obj instanceof
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return
|
|
58
|
+
if (obj instanceof Error) {
|
|
59
|
+
const newError = new Constructor(obj.message);
|
|
60
|
+
newError.stack = obj.stack;
|
|
61
|
+
newError.name = obj.name;
|
|
62
|
+
newError.cause = obj.cause;
|
|
63
|
+
return newError;
|
|
64
|
+
}
|
|
65
|
+
if (typeof File !== 'undefined' && obj instanceof File) {
|
|
66
|
+
const newFile = new Constructor([obj], obj.name, { type: obj.type, lastModified: obj.lastModified });
|
|
67
|
+
return newFile;
|
|
80
68
|
}
|
|
81
69
|
if (typeof obj === 'object') {
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
return Object.assign(result, obj);
|
|
70
|
+
const newObject = Object.create(prototype);
|
|
71
|
+
return Object.assign(newObject, obj);
|
|
85
72
|
}
|
|
86
73
|
return obj;
|
|
87
74
|
}
|
|
88
|
-
function isPrimitive(value) {
|
|
89
|
-
return value == null || (typeof value !== 'object' && typeof value !== 'function');
|
|
90
|
-
}
|
|
91
75
|
|
|
92
76
|
function flattenObject(object) {
|
|
93
77
|
return flattenObjectImpl(object);
|
|
@@ -99,7 +83,7 @@ function flattenObjectImpl(object, prefix = '') {
|
|
|
99
83
|
const key = keys[i];
|
|
100
84
|
const value = object[key];
|
|
101
85
|
const prefixedKey = prefix ? `${prefix}.${key}` : key;
|
|
102
|
-
if (
|
|
86
|
+
if (isPlainObject.isPlainObject(value) && Object.keys(value).length > 0) {
|
|
103
87
|
Object.assign(result, flattenObjectImpl(value, prefixedKey));
|
|
104
88
|
continue;
|
|
105
89
|
}
|
|
@@ -140,7 +124,7 @@ function cloneDeep(obj) {
|
|
|
140
124
|
return cloneDeepImpl(obj);
|
|
141
125
|
}
|
|
142
126
|
function cloneDeepImpl(obj, stack = new Map()) {
|
|
143
|
-
if (
|
|
127
|
+
if (isPlainObject.isPrimitive(obj)) {
|
|
144
128
|
return obj;
|
|
145
129
|
}
|
|
146
130
|
if (stack.has(obj)) {
|
|
@@ -187,7 +171,7 @@ function cloneDeepImpl(obj, stack = new Map()) {
|
|
|
187
171
|
if (typeof Buffer !== 'undefined' && Buffer.isBuffer(obj)) {
|
|
188
172
|
return obj.subarray();
|
|
189
173
|
}
|
|
190
|
-
if (
|
|
174
|
+
if (isPlainObject.isTypedArray(obj)) {
|
|
191
175
|
const result = new (Object.getPrototypeOf(obj).constructor)(obj.length);
|
|
192
176
|
stack.set(obj, result);
|
|
193
177
|
for (let i = 0; i < obj.length; i++) {
|
|
@@ -281,8 +265,6 @@ exports.isObjectLike = isObjectLike;
|
|
|
281
265
|
exports.mapKeys = mapKeys;
|
|
282
266
|
exports.mapValues = mapValues;
|
|
283
267
|
exports.merge = merge;
|
|
284
|
-
exports.omit = omit;
|
|
285
268
|
exports.omitBy = omitBy;
|
|
286
|
-
exports.pick = pick;
|
|
287
269
|
exports.pickBy = pickBy;
|
|
288
270
|
exports.toMerged = toMerged;
|
|
@@ -141,7 +141,7 @@ function forEachRight(arr, callback) {
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
function groupBy(arr, getKeyFromItem) {
|
|
144
|
-
const result =
|
|
144
|
+
const result = Object.create(null);
|
|
145
145
|
for (const item of arr) {
|
|
146
146
|
const key = getKeyFromItem(item);
|
|
147
147
|
if (result[key] == null) {
|
|
@@ -21,5 +21,28 @@
|
|
|
21
21
|
* console.log(result) // Output: [3, 2, 1]
|
|
22
22
|
*/
|
|
23
23
|
declare function forEachRight<T>(arr: T[], callback: (value: T, index: number, arr: T[]) => void): void;
|
|
24
|
+
/**
|
|
25
|
+
* Iterates over elements of 'arr' from right to left and invokes 'callback' for each element.
|
|
26
|
+
*
|
|
27
|
+
* @template T - The type of elements in the array.
|
|
28
|
+
* @param {T[]} arr - The array to iterate over.
|
|
29
|
+
* @param {(value: T, index: number, arr: T[]) => void} callback - The function invoked per iteration.
|
|
30
|
+
* The callback function receives three arguments:
|
|
31
|
+
* - 'value': The current element being processed in the array.
|
|
32
|
+
* - 'index': The index of the current element being processed in the array.
|
|
33
|
+
* - 'arr': The array 'forEachRight' was called upon.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* const array = [1, 2, 3];
|
|
37
|
+
* const result: number[] = [];
|
|
38
|
+
*
|
|
39
|
+
* // Use the forEachRight function to iterate through the array and add each element to the result array.
|
|
40
|
+
* forEachRight(array, (value) => {
|
|
41
|
+
* result.push(value);
|
|
42
|
+
* })
|
|
43
|
+
*
|
|
44
|
+
* console.log(result) // Output: [3, 2, 1]
|
|
45
|
+
*/
|
|
46
|
+
declare function forEachRight<T>(arr: readonly T[], callback: (value: T, index: number, arr: readonly T[]) => void): void;
|
|
24
47
|
|
|
25
48
|
export { forEachRight };
|
|
@@ -21,5 +21,28 @@
|
|
|
21
21
|
* console.log(result) // Output: [3, 2, 1]
|
|
22
22
|
*/
|
|
23
23
|
declare function forEachRight<T>(arr: T[], callback: (value: T, index: number, arr: T[]) => void): void;
|
|
24
|
+
/**
|
|
25
|
+
* Iterates over elements of 'arr' from right to left and invokes 'callback' for each element.
|
|
26
|
+
*
|
|
27
|
+
* @template T - The type of elements in the array.
|
|
28
|
+
* @param {T[]} arr - The array to iterate over.
|
|
29
|
+
* @param {(value: T, index: number, arr: T[]) => void} callback - The function invoked per iteration.
|
|
30
|
+
* The callback function receives three arguments:
|
|
31
|
+
* - 'value': The current element being processed in the array.
|
|
32
|
+
* - 'index': The index of the current element being processed in the array.
|
|
33
|
+
* - 'arr': The array 'forEachRight' was called upon.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* const array = [1, 2, 3];
|
|
37
|
+
* const result: number[] = [];
|
|
38
|
+
*
|
|
39
|
+
* // Use the forEachRight function to iterate through the array and add each element to the result array.
|
|
40
|
+
* forEachRight(array, (value) => {
|
|
41
|
+
* result.push(value);
|
|
42
|
+
* })
|
|
43
|
+
*
|
|
44
|
+
* console.log(result) // Output: [3, 2, 1]
|
|
45
|
+
*/
|
|
46
|
+
declare function forEachRight<T>(arr: readonly T[], callback: (value: T, index: number, arr: readonly T[]) => void): void;
|
|
24
47
|
|
|
25
48
|
export { forEachRight };
|
package/dist/array/groupBy.mjs
CHANGED
package/dist/array/index.js
CHANGED
package/dist/array/orderBy.d.mts
CHANGED
|
@@ -32,6 +32,6 @@
|
|
|
32
32
|
* // { user: 'fred', age: 40 },
|
|
33
33
|
* // ]
|
|
34
34
|
*/
|
|
35
|
-
declare function orderBy<T extends object>(arr: T[], criteria: Array<((item: T) => unknown) | keyof T>, orders: Array<'asc' | 'desc'>): T[];
|
|
35
|
+
declare function orderBy<T extends object>(arr: readonly T[], criteria: Array<((item: T) => unknown) | keyof T>, orders: Array<'asc' | 'desc'>): T[];
|
|
36
36
|
|
|
37
37
|
export { orderBy };
|
package/dist/array/orderBy.d.ts
CHANGED
|
@@ -32,6 +32,6 @@
|
|
|
32
32
|
* // { user: 'fred', age: 40 },
|
|
33
33
|
* // ]
|
|
34
34
|
*/
|
|
35
|
-
declare function orderBy<T extends object>(arr: T[], criteria: Array<((item: T) => unknown) | keyof T>, orders: Array<'asc' | 'desc'>): T[];
|
|
35
|
+
declare function orderBy<T extends object>(arr: readonly T[], criteria: Array<((item: T) => unknown) | keyof T>, orders: Array<'asc' | 'desc'>): T[];
|
|
36
36
|
|
|
37
37
|
export { orderBy };
|
package/dist/array/sortBy.d.mts
CHANGED
|
@@ -30,6 +30,6 @@
|
|
|
30
30
|
* // { user : 'foo', age: 24 },
|
|
31
31
|
* // ]
|
|
32
32
|
*/
|
|
33
|
-
declare function sortBy<T extends object>(arr: T[], criteria: Array<((item: T) => unknown) | keyof T>): T[];
|
|
33
|
+
declare function sortBy<T extends object>(arr: readonly T[], criteria: Array<((item: T) => unknown) | keyof T>): T[];
|
|
34
34
|
|
|
35
35
|
export { sortBy };
|
package/dist/array/sortBy.d.ts
CHANGED
|
@@ -30,6 +30,6 @@
|
|
|
30
30
|
* // { user : 'foo', age: 24 },
|
|
31
31
|
* // ]
|
|
32
32
|
*/
|
|
33
|
-
declare function sortBy<T extends object>(arr: T[], criteria: Array<((item: T) => unknown) | keyof T>): T[];
|
|
33
|
+
declare function sortBy<T extends object>(arr: readonly T[], criteria: Array<((item: T) => unknown) | keyof T>): T[];
|
|
34
34
|
|
|
35
35
|
export { sortBy };
|
package/dist/array/unzip.d.mts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* const result = unzip(zipped);
|
|
12
12
|
* // result will be [['a', 'b'], [true, false], [1, 2]]
|
|
13
13
|
*/
|
|
14
|
-
declare function unzip<T extends unknown[]>(zipped:
|
|
14
|
+
declare function unzip<T extends unknown[]>(zipped: ReadonlyArray<[...T]>): Unzip<T>;
|
|
15
15
|
type Unzip<K extends unknown[]> = {
|
|
16
16
|
[I in keyof K]: Array<K[I]>;
|
|
17
17
|
};
|
package/dist/array/unzip.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* const result = unzip(zipped);
|
|
12
12
|
* // result will be [['a', 'b'], [true, false], [1, 2]]
|
|
13
13
|
*/
|
|
14
|
-
declare function unzip<T extends unknown[]>(zipped:
|
|
14
|
+
declare function unzip<T extends unknown[]>(zipped: ReadonlyArray<[...T]>): Unzip<T>;
|
|
15
15
|
type Unzip<K extends unknown[]> = {
|
|
16
16
|
[I in keyof K]: Array<K[I]>;
|
|
17
17
|
};
|
|
@@ -28,6 +28,6 @@
|
|
|
28
28
|
* const result2 = zipObject(keys2, values2);
|
|
29
29
|
* // result2 will be { a: 1, b: 2 }
|
|
30
30
|
*/
|
|
31
|
-
declare function zipObject<P extends PropertyKey, V>(keys: P[], values: V[]): Record<P, V>;
|
|
31
|
+
declare function zipObject<P extends PropertyKey, V>(keys: readonly P[], values: readonly V[]): Record<P, V>;
|
|
32
32
|
|
|
33
33
|
export { zipObject };
|
|
@@ -28,6 +28,6 @@
|
|
|
28
28
|
* const result2 = zipObject(keys2, values2);
|
|
29
29
|
* // result2 will be { a: 1, b: 2 }
|
|
30
30
|
*/
|
|
31
|
-
declare function zipObject<P extends PropertyKey, V>(keys: P[], values: V[]): Record<P, V>;
|
|
31
|
+
declare function zipObject<P extends PropertyKey, V>(keys: readonly P[], values: readonly V[]): Record<P, V>;
|
|
32
32
|
|
|
33
33
|
export { zipObject };
|
package/dist/browser.global.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _=function(t){"use strict";function at(t,e){const n=[];for(let r=0;r<e.length;r++){const o=e[r];n.push(t.at(o))}return n}function difference$1(t,e){const n=new Set(e);return t.filter((t=>!n.has(t)))}function differenceBy(t,e,n){const r=new Set(e.map((t=>n(t))));return t.filter((t=>!r.has(n(t))))}function differenceWith(t,e,n){return t.filter((t=>e.every((e=>!n(t,e)))))}function flatten$1(t,e=1){const n=[],r=Math.floor(e),recursive=(t,e)=>{for(const o of t)Array.isArray(o)&&e<r?recursive(o,e+1):n.push(o)};recursive(t,0);return n}function head(t){return t[0]}function intersection(t,e){const n=new Set(e);return t.filter((t=>n.has(t)))}function intersectionBy(t,e,n){const r=new Set(e.map(n));return t.filter((t=>r.has(n(t))))}function intersectionWith(t,e,n){return t.filter((t=>e.some((e=>n(t,e)))))}function random(t,e){if(null==e){e=t;t=0}if(t>=e)throw new Error("Invalid input: The maximum value must be greater than the minimum value.");return Math.random()*(e-t)+t}function randomInt(t,e){return Math.floor(random(t,e))}function uniq(t){return Array.from(new Set(t))}function union(t,e){return uniq(t.concat(e))}function unionBy(t,e,n){const r=new Map;for(const o of[...t,...e]){const t=n(o);r.has(t)||r.set(t,o)}return Array.from(r.values())}function uniqWith(t,e){const n=[];for(const r of t){n.every((t=>!e(t,r)))&&n.push(r)}return n}function unionWith(t,e,n){return uniqWith(t.concat(e),n)}function zip(...t){const e=[],n=Math.max(...t.map((t=>t.length)));for(let r=0;r<n;r++){const n=[];for(const e of t)n.push(e[r]);e.push(n)}return e}class AbortError extends Error{constructor(t="The operation was aborted"){super(t);this.name="AbortError"}}class TimeoutError extends Error{constructor(t="The operation was timed out"){super(t);this.name="TimeoutError"}}function noop(){}function ary$1(t,e){return function(...n){return t.apply(this,n.slice(0,e))}}function partial(t,...e){return function(...n){const r=[];let o=0;for(let t=0;t<e.length;t++){const i=e[t];i===partial.placeholder?r.push(n[o++]):r.push(i)}for(let t=o;t<n.length;t++)r.push(n[t]);return t.apply(this,r)}}const e=Symbol("partial.placeholder");partial.placeholder=e;function partialRight(t,...e){return function(...r){const o=e.filter((t=>t===n)).length,i=Math.max(r.length-o,0),c=[];let s=0;for(let t=0;t<i;t++)c.push(r[s++]);for(let t=0;t<e.length;t++){const n=e[t];n===partialRight.placeholder?c.push(r[s++]):c.push(n)}return t.apply(this,c)}}const n=Symbol("partialRight.placeholder");partialRight.placeholder=n;function sum(t){let e=0;for(let n=0;n<t.length;n++)e+=t[n];return e}function mean(t){return sum(t)/t.length}function clone(t){if(function isPrimitive$1(t){return null==t||"object"!=typeof t&&"function"!=typeof t}(t))return t;if(Array.isArray(t))return t.slice();if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t.source,t.flags);if(t instanceof Map){const e=new Map;for(const[n,r]of t)e.set(n,r);return e}if(t instanceof Set){const e=new Set;for(const n of t)e.add(n);return e}if("object"==typeof t){const e=Object.getPrototypeOf(t),n=Object.create(e);return Object.assign(n,t)}return t}function isPlainObject$1(t){if("object"!=typeof t)return!1;if(null==t)return!1;if(null===Object.getPrototypeOf(t))return!0;if("[object Object]"!==t.toString())return!1;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function flattenObjectImpl(t,e=""){const n={},r=Object.keys(t);for(let o=0;o<r.length;o++){const i=r[o],c=t[i],s=e?`${e}.${i}`:i;if(isPlainObject$1(c)&&Object.keys(c).length>0)Object.assign(n,flattenObjectImpl(c,s));else if(Array.isArray(c))for(let t=0;t<c.length;t++)n[`${s}.${t}`]=c[t];else n[s]=c}return n}function mapKeys$1(t,e){const n={},r=Object.keys(t);for(let o=0;o<r.length;o++){const i=r[o],c=t[i];n[e(c,i,t)]=c}return n}function mapValues$1(t,e){const n={},r=Object.keys(t);for(let o=0;o<r.length;o++){const i=r[o],c=t[i];n[i]=e(c,i,t)}return n}function isPrimitive(t){return null==t||"object"!=typeof t&&"function"!=typeof t}function isTypedArray$1(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function cloneDeep$1(t){return cloneDeepImpl(t)}function cloneDeepImpl(t,e=new Map){if(isPrimitive(t))return t;if(e.has(t))return e.get(t);if(Array.isArray(t)){const n=new Array(t.length);e.set(t,n);for(let r=0;r<t.length;r++)n[r]=cloneDeepImpl(t[r],e);Object.prototype.hasOwnProperty.call(t,"index")&&(n.index=t.index);Object.prototype.hasOwnProperty.call(t,"input")&&(n.input=t.input);return n}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const e=new RegExp(t.source,t.flags);e.lastIndex=t.lastIndex;return e}if(t instanceof Map){const n=new Map;e.set(t,n);for(const[r,o]of t.entries())n.set(r,cloneDeepImpl(o,e));return n}if(t instanceof Set){const n=new Set;e.set(t,n);for(const r of t.values())n.add(cloneDeepImpl(r,e));return n}if("undefined"!=typeof Buffer&&Buffer.isBuffer(t))return t.subarray();if(isTypedArray$1(t)){const n=new(Object.getPrototypeOf(t).constructor)(t.length);e.set(t,n);for(let r=0;r<t.length;r++)n[r]=cloneDeepImpl(t[r],e);return n}if(t instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const n=new DataView(t.buffer.slice(0));e.set(t,n);copyProperties(n,t,e);return n}if("undefined"!=typeof File&&t instanceof File){const n=new File([t],t.name,{type:t.type});e.set(t,n);copyProperties(n,t,e);return n}if(t instanceof Blob){const n=new Blob([t],{type:t.type});e.set(t,n);copyProperties(n,t,e);return n}if(t instanceof Error){const n=new t.constructor;e.set(t,n);n.message=t.message;n.name=t.name;n.stack=t.stack;n.cause=t.cause;copyProperties(n,t,e);return n}if("object"==typeof t&&null!==t){const n={};e.set(t,n);copyProperties(n,t,e);return n}return t}function copyProperties(t,e,n){const r=Object.keys(e);for(let o=0;o<r.length;o++){const i=r[o],c=Object.getOwnPropertyDescriptor(e,i);(c?.writable||c?.set)&&(t[i]=cloneDeepImpl(e[i],n))}}function isObjectLike(t){return"object"==typeof t&&null!==t}function merge$1(t,e){const n=Object.keys(e);for(let r=0;r<n.length;r++){const o=n[r],i=e[o],c=t[o];Array.isArray(i)?t[o]=merge$1(c??[],i):isObjectLike(c)&&isObjectLike(i)?t[o]=merge$1(c??{},i):void 0!==c&&void 0===i||(t[o]=i)}return t}const r="[object RegExp]",o="[object String]",i="[object Number]",c="[object Boolean]",s="[object Arguments]",u="[object Symbol]",a="[object Date]",f="[object Map]",l="[object Set]",p="[object Array]",y="[object Function]",h="[object ArrayBuffer]",g="[object Object]",m="[object Error]",b="[object DataView]",d="[object Uint8Array]",j="[object Uint8ClampedArray]",A="[object Uint16Array]",O="[object Uint32Array]",w="[object BigUint64Array]",M="[object Int8Array]",S="[object Int16Array]",x="[object Int32Array]",B="[object BigInt64Array]",k="[object Float32Array]",E="[object Float64Array]";function getSymbols(t){return Object.getOwnPropertySymbols(t).filter((e=>Object.prototype.propertyIsEnumerable.call(t,e)))}function getTag(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}function areObjectsEqual(t,e,n){if(Object.is(t,e))return!0;let P=getTag(t),W=getTag(e);P===s&&(P=g);W===s&&(W=g);if(P!==W)return!1;switch(P){case o:return t.toString()===e.toString();case i:{const n=t.valueOf(),r=e.valueOf();return n===r||Number.isNaN(n)&&Number.isNaN(r)}case c:case a:case u:return Object.is(t.valueOf(),e.valueOf());case r:return t.source===e.source&&t.flags===e.flags;case y:return t===e}const $=(n=n??new Map).get(t),I=n.get(e);if(null!=$&&null!=I)return $===e;n.set(t,e);n.set(e,t);try{switch(P){case f:if(t.size!==e.size)return!1;for(const[r,o]of t.entries())if(!e.has(r)||!areObjectsEqual(o,e.get(r),n))return!1;return!0;case l:{if(t.size!==e.size)return!1;const r=Array.from(t.values()),o=Array.from(e.values());for(let t=0;t<r.length;t++){const e=r[t],i=o.findIndex((t=>areObjectsEqual(e,t,n)));if(-1===i)return!1;o.splice(i,1)}return!0}case p:case d:case j:case A:case O:case w:case M:case S:case x:case B:case k:case E:if("undefined"!=typeof Buffer&&Buffer.isBuffer(t)!==Buffer.isBuffer(e))return!1;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(!areObjectsEqual(t[r],e[r],n))return!1;return!0;case h:return t.byteLength===e.byteLength&&areObjectsEqual(new Uint8Array(t),new Uint8Array(e),n);case b:return t.byteLength===e.byteLength&&t.byteOffset===e.byteOffset&&areObjectsEqual(t.buffer,e.buffer,n);case m:return t.name===e.name&&t.message===e.message;case g:{if(!(areObjectsEqual(t.constructor,e.constructor,n)||isPlainObject$1(t)&&isPlainObject$1(e)))return!1;const r=[...Object.keys(t),...getSymbols(t)],o=[...Object.keys(e),...getSymbols(e)];if(r.length!==o.length)return!1;for(let o=0;o<r.length;o++){const i=r[o],c=t[i];if(!Object.prototype.hasOwnProperty.call(e,i))return!1;if(!areObjectsEqual(c,e[i],n))return!1}return!0}default:return!1}}finally{n.delete(t);n.delete(e)}}function isNil(t){return null==t}function isLength(t){return Number.isSafeInteger(t)&&t>=0}function delay(t,{signal:e}={}){return new Promise(((n,r)=>{const abortError=()=>{r(new AbortError)},abortHandler=()=>{clearTimeout(o);abortError()};if(e?.aborted)return abortError();const o=setTimeout((()=>{e?.removeEventListener("abort",abortHandler);n()}),t);e?.addEventListener("abort",abortHandler,{once:!0})}))}async function timeout(t){await delay(t);throw new TimeoutError}function capitalize(t){return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}const P=/[A-Z]?[a-z]+|[0-9]+|[A-Z]+(?![a-z])/g;function getWords(t){return Array.from(t.match(P)??[])}const W=new Map(Object.entries({Æ:"Ae",Ð:"D",Ø:"O",Þ:"Th",ß:"ss",æ:"ae",ð:"d",ø:"o",þ:"th",Đ:"D",đ:"d",Ħ:"H",ħ:"h",ı:"i",IJ:"IJ",ij:"ij",ĸ:"k",Ŀ:"L",ŀ:"l",Ł:"L",ł:"l",ʼn:"'n",Ŋ:"N",ŋ:"n",Œ:"Oe",œ:"oe",Ŧ:"T",ŧ:"t",ſ:"s"}));const $={"&":"&","<":"<",">":">",'"':""","'":"'"};const I={"&":"&","<":"<",">":">",""":'"',"'":"'"};const v=/^\w*$/,D=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;function isDeepKey(t){switch(typeof t){case"number":case"symbol":return!1;case"string":return!v.test(t)&&D.test(t)}}function isSymbol(t){return"symbol"==typeof t||null!=t&&t instanceof Symbol}function toKey(t){return"string"==typeof t||isSymbol(t)?t:Object.is(t?.valueOf(),-0)?"-0":`${t}`}function toPath(t){const e=/\\(\\)?/g,n=RegExp("[^.[\\]]+|\\[(?:([^\"'][^[]*)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))","g"),r=[];"."===t[0]&&r.push("");let o,i=0;for(;null!==(o=n.exec(t));){let t=o[0];const c=o[1],s=o[2],u=o[3];s?t=u.replace(e,"$1"):c&&(t=c);r.push(t);n.lastIndex===i?n.lastIndex++:i=n.lastIndex}return r}function get(t,e,n){let r;r=Array.isArray(e)?e:"string"==typeof e&&isDeepKey(e)&&null==t?.[e]?toPath(e):[e];if(0===r.length)return n;let o,i=t;for(o=0;o<r.length&&null!=i;o++){i=i[toKey(r[o])]}return null===i&&o===r.length?i:i??n}function property(t){return function(e){return get(e,t)}}function isArrayMatch(t,e){if(0===e.length)return!0;if(!Array.isArray(t))return!1;const n=new Set;for(let r=0;r<e.length;r++){const o=e[r],i=t.findIndex(((t,e)=>isMatch(t,o)&&!n.has(e)));if(-1===i)return!1;n.add(i)}return!0}function isMatch(t,e){if(e===t)return!0;switch(typeof e){case"object":{if(null==e)return!0;const n=Object.keys(e);if(null==t)return 0===n.length;if(Array.isArray(e))return isArrayMatch(t,e);if(e instanceof Map)return function isMapMatch(t,e){if(0===e.size)return!0;if(!(t instanceof Map))return!1;for(const[n,r]of e.entries())if(!isMatch(t.get(n),r))return!1;return!0}(t,e);if(e instanceof Set)return function isSetMatch(t,e){return 0===e.size||t instanceof Set&&isArrayMatch([...t],[...e])}(t,e);for(let r=0;r<n.length;r++){const o=n[r];if(!isPrimitive(t)&&!(o in t))return!1;if(void 0===e[o]&&void 0!==t[o])return!1;if(!isMatch(t[o],e[o]))return!1}return!0}case"function":return Object.keys(e).length>0&&isMatch(t,{...e});default:return!e}}function matches(t){t=cloneDeep$1(t);return e=>isMatch(e,t)}function cloneDeep(t){if("object"!=typeof t)return cloneDeep$1(t);switch(Object.prototype.toString.call(t)){case i:case o:case c:{const e=new t.constructor(t?.valueOf());copyProperties(e,t);return e}case s:{const e={};copyProperties(e,t);e.length=t.length;e[Symbol.iterator]=t[Symbol.iterator];return e}default:return cloneDeep$1(t)}}const N=/^(?:0|[1-9]\d*)$/;function isIndex(t){switch(typeof t){case"number":return Number.isInteger(t)&&t>=0&&t<Number.MAX_SAFE_INTEGER;case"symbol":return!1;case"string":return N.test(t)}}function isArguments(t){return null!==t&&"object"==typeof t&&"[object Arguments]"===getTag(t)}function has(t,e){let n;n=Array.isArray(e)?e:"string"==typeof e&&isDeepKey(e)&&null==t?.[e]?toPath(e):[e];if(0===n.length)return!1;let r=t;for(let t=0;t<n.length;t++){const e=n[t];if(null==r||!Object.prototype.hasOwnProperty.call(r,e)){if(!((Array.isArray(r)||isArguments(r))&&isIndex(e)&&e<r.length))return!1}r=r[e]}return!0}function matchesProperty(t,e){t=Array.isArray(t)?t:toKey(t);e=cloneDeep(e);return function(n){const r=get(n,t);return void 0===r?has(n,t):void 0===e?void 0===r:isMatch(r,e)}}function flatten(t,e=1){const n=[],r=Math.floor(e);if(!Array.isArray(t))return n;const recursive=(t,e)=>{for(const o of t)e<r&&(Array.isArray(o)||Boolean(o?.[Symbol.isConcatSpreadable])||null!==o&&"object"==typeof o&&"[object Arguments]"===Object.prototype.toString.call(o))?Array.isArray(o)?recursive(o,e+1):recursive(Array.from(o),e+1):n.push(o)};recursive(t,0);return n}function getPriority(t){return"symbol"==typeof t?1:null===t?2:void 0===t?3:t!=t?4:0}const compareValues=(t,e,n)=>{if(t!==e){if("string"==typeof t&&"string"==typeof e)return"desc"===n?e.localeCompare(t):t.localeCompare(e);const r=getPriority(t),o=getPriority(e);if(r===o&&0===r){if(t<e)return"desc"===n?1:-1;if(t>e)return"desc"===n?-1:1}return"desc"===n?o-r:r-o}return 0},T=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,z=/^\w*$/;function orderBy(t,e,n){if(null==t||"number"==typeof t)return[];"object"!=typeof t||Array.isArray(t)||(t=Object.values(t));Array.isArray(e)||(e=null==e?[null]:[e]);Array.isArray(n)||(n=null==n?[]:[n]);n=n.map((t=>String(t)));const getValueByNestedPath=(t,e)=>{let n=t;for(let t=0;t<e.length&&null!=n;++t)n=n[e[t]];return n},r=e.map((t=>{Array.isArray(t)&&1===t.length&&(t=t[0]);return null==t||"function"==typeof t||Array.isArray(t)||function isKey(t,e){return!Array.isArray(t)&&(!("number"!=typeof t&&"boolean"!=typeof t&&null!=t&&!isSymbol(t))||"string"==typeof t&&(z.test(t)||!T.test(t))||null!=e)}(t)?t:{key:t,path:toPath(t)}}));return t.map((t=>({original:t,criteria:r.map((e=>((t,e)=>null==e||null==t?e:"object"==typeof t&&"key"in t?Object.hasOwn(e,t.key)?e[t.key]:getValueByNestedPath(e,t.path):"function"==typeof t?t(e):Array.isArray(t)?getValueByNestedPath(e,t):"object"==typeof e?e[t]:e)(e,t)))}))).slice().sort(((t,e)=>{for(let o=0;o<r.length;o++){const r=compareValues(t.criteria[o],e.criteria[o],n[o]);if(0!==r)return r}return 0})).map((t=>t.original))}function identity(t){return t}function set(t,e,n){const r=Array.isArray(e)?e:"string"==typeof e?toPath(e):[e];let o=t;for(let t=0;t<r.length-1;t++){const e=r[t],n=r[t+1];null==o[e]&&(o[e]=isIndex(n)?[]:{});o=o[e]}o[r[r.length-1]]=n;return t}function bind(t,e,...n){const bound=function(...r){const o=[];let i=0;for(let t=0;t<n.length;t++){const e=n[t];e===bind.placeholder?o.push(r[i++]):o.push(e)}for(let t=i;t<r.length;t++)o.push(r[t]);return this instanceof bound?new t(...o):t.apply(e,o)};return bound}const L=Symbol("bind.placeholder");bind.placeholder=L;function bindKey(t,e,...n){const bound=function(...r){const o=[];let i=0;for(let t=0;t<n.length;t++){const e=n[t];e===bindKey.placeholder?o.push(r[i++]):o.push(e)}for(let t=i;t<r.length;t++)o.push(r[t]);return this instanceof bound?new t[e](...o):t[e].apply(t,o)};return bound}const C=Symbol("bindKey.placeholder");bindKey.placeholder=C;function isPlainObject(t){if("object"!=typeof t)return!1;if(null==t)return!1;if(null===Object.getPrototypeOf(t))return!0;if("[object Object]"!==Object.prototype.toString.call(t)){const e=t[Symbol.toStringTag];if(null==e)return!1;return!!Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.writable&&t.toString()===`[object ${e}]`}let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function isTypedArray(t){return isTypedArray$1(t)}function mergeWith(t,...e){const n=e.slice(0,-1),r=e[e.length-1];let o=t;for(let e=0;e<n.length;e++){o=mergeWithDeep(t,n[e],r,new Map)}return o}function mergeWithDeep(t,e,n,r){if(null==e||"object"!=typeof e)return t;if(r.has(e))return clone(r.get(e));r.set(e,t);if(Array.isArray(e)){e=e.slice();for(let t=0;t<e.length;t++)e[t]=e[t]??void 0}const o=Object.keys(e);for(let i=0;i<o.length;i++){const c=o[i];let s=e[c],u=t[c];isArguments(s)&&(s={...s});isArguments(u)&&(u={...u});"undefined"!=typeof Buffer&&Buffer.isBuffer(s)&&(s=cloneDeep(s));Array.isArray(s)&&(u="object"==typeof u?Array.from(u??[]):[]);const a=n(u,s,c,t,e,r);null!=a?t[c]=a:Array.isArray(s)||isObjectLike(u)&&isObjectLike(s)?t[c]=mergeWithDeep(u,s,n,r):null==u&&isPlainObject(s)?t[c]=mergeWithDeep({},s,n,r):null==u&&isTypedArray(s)?t[c]=cloneDeep(s):void 0!==u&&void 0===s||(t[c]=s)}return t}function isArrayLike(t){return null!=t&&"function"!=typeof t&&isLength(t.length)}function conformsTo(t,e){if(null==e)return!0;if(null==t)return 0===Object.keys(e).length;for(const n of Object.keys(e)){const r=e[n],o=t[n];if(void 0===o&&!(n in t)||!r(o))return!1}return!0}t.AbortError=AbortError;t.TimeoutError=TimeoutError;t.after=function after(t,e){if(!Number.isInteger(t)||t<0)throw new Error("n must be a non-negative integer.");let n=0;return(...r)=>{if(++n>=t)return e(...r)}};t.ary=function ary(t,e=t.length,n){n&&(e=t.length);(Number.isNaN(e)||e<0)&&(e=0);return ary$1(t,e)};t.at=at;t.attempt=function attempt(t,...e){try{return t(...e)}catch(t){return t instanceof Error?t:new Error(t)}};t.before=function before(t,e){if(!Number.isInteger(t)||t<0)throw new Error("n must be a non-negative integer.");let n=0;return(...r)=>{if(++n<t)return e(...r)}};t.bind=bind;t.bindKey=bindKey;t.camelCase=function camelCase(t){return function camelCase$1(t){const e=getWords(t);if(0===e.length)return"";const[n,...r]=e;return`${n.toLowerCase()}${r.map((t=>capitalize(t))).join("")}`}(function normalizeForCase(t){"object"==typeof t&&(t=t.toString());return t.replace(/['\u2019]/g,"")}(t))};t.capitalize=capitalize;t.castArray=function castArray(t){return 0===arguments.length?[]:Array.isArray(t)?t:[t]};t.chunk=function chunk(t,e=1){return 0===(e=Math.max(Math.floor(e),0))?[]:function chunk$1(t,e){if(!Number.isInteger(e)||e<=0)throw new Error("Size must be an integer greater than zero.");const n=Math.ceil(t.length/e),r=Array(n);for(let o=0;o<n;o++){const n=o*e,i=n+e;r[o]=t.slice(n,i)}return r}(t,e)};t.clamp=function clamp(t,e,n){return null==n?Math.min(t,e):Math.min(Math.max(t,e),n)};t.clone=clone;t.cloneDeep=cloneDeep$1;t.compact=function compact(t){const e=[];for(const n of t)n&&e.push(n);return e};t.concat=function concat(...t){return flatten$1(t)};t.conforms=function conforms(t){t=cloneDeep$1(t);return function(e){return conformsTo(e,t)}};t.conformsTo=conformsTo;t.countBy=function countBy(t,e){const n={};for(const r of t){const t=e(r);n[t]=(n[t]??0)+1}return n};t.debounce=function debounce(t,e,{signal:n}={}){let r=null;const debounced=function(...o){null!==r&&clearTimeout(r);n?.aborted||(r=setTimeout((()=>{t(...o);r=null}),e))};debounced.cancel=function(){if(null!==r){clearTimeout(r);r=null}};n?.addEventListener("abort",(function(){debounced.cancel()}),{once:!0});return debounced};t.deburr=function deburr(t){t=t.normalize("NFD");let e="";for(let n=0;n<t.length;n++){const r=t[n];r>="̀"&&r<="ͯ"||r>="︠"&&r<="︣"||(e+=W.get(r)??r)}return e};t.delay=delay;t.difference=function difference(t,...e){return difference$1(t,flatten$1(e))};t.differenceBy=differenceBy;t.differenceWith=differenceWith;t.drop=function drop(t,e){e=Math.max(e,0);return t.slice(e)};t.dropRight=function dropRight(t,e){return 0===(e=Math.min(-e,0))?t.slice():t.slice(0,e)};t.dropRightWhile=function dropRightWhile(t,e){for(let n=t.length-1;n>=0;n--)if(!e(t[n]))return t.slice(0,n+1);return[]};t.dropWhile=function dropWhile(t,e){const n=t.findIndex((t=>!e(t)));return-1===n?[]:t.slice(n)};t.endsWith=function endsWith(t,e,n=t.length){return t.endsWith(e,n)};t.escape=function escape(t){return t.replace(/[&<>"']/g,(t=>$[t]))};t.escapeRegExp=function escapeRegExp(t){return t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")};t.fill=function fill(t,e,n=0,r=t.length){(n=Math.floor(n))||(n=0);(r=Math.floor(r))||(r=0);return function fill$1(t,e,n=0,r=t.length){const o=t.length,i=Math.max(n>=0?n:o+n,0),c=Math.min(r>=0?r:o+r,o);for(let n=i;n<c;n++)t[n]=e;return t}(t,e,n,r)};t.find=function find(t,e){let n=t;Array.isArray(t)||(n=Object.values(t));switch(typeof e){case"function":if(!Array.isArray(t)){const n=Object.entries(t);for(let r=0;r<n.length;r++){const o=n[r],i=o[0],c=o[1];if(e(c,i,t))return c}return}return n.find(e);case"object":if(Array.isArray(e)&&2===e.length){const t=e[0],r=e[1];return n.find(matchesProperty(t,r))}return n.find(matches(e));case"string":return n.find(property(e))}};t.findIndex=function findIndex(t,e){switch(typeof e){case"function":return t.findIndex(e);case"object":if(Array.isArray(e)&&2===e.length){const n=e[0],r=e[1];return t.findIndex(matchesProperty(n,r))}return t.findIndex(matches(e));case"string":return t.findIndex(property(e))}};t.findLastIndex=function findLastIndex(t,e,n=t.length-1){n=n<0?Math.max(t.length+n,0):Math.min(n,t.length-1);t=t.slice(0,n+1);switch(typeof e){case"function":return t.findLastIndex(e);case"object":if(Array.isArray(e)&&2===e.length){const n=e[0],r=e[1];return t.findLastIndex(matchesProperty(n,r))}return t.findLastIndex(matches(e));case"string":return t.findLastIndex(property(e))}};t.first=head;t.flatMap=function flatMap(t,e,n=1){return flatten$1(t.map((t=>e(t))),n)};t.flatMapDeep=function flatMapDeep(t,e){return function flattenDeep$1(t){return flatten$1(t,1/0)}(t.map((t=>e(t))))};t.flatten=flatten;t.flattenDeep=function flattenDeep(t){return flatten(t,1/0)};t.flattenDepth=function flattenDepth(t,e=1){return flatten(t,e)};t.flattenObject=function flattenObject(t){return flattenObjectImpl(t)};t.forEachRight=function forEachRight(t,e){for(let n=t.length-1;n>=0;n--){e(t[n],n,t)}};t.fromPairs=function fromPairs(t){if(!(isArrayLike(t)||t instanceof Map))return{};const e={};for(const[n,r]of t)e[n]=r;return e};t.get=get;t.groupBy=function groupBy(t,e){const n={};for(const r of t){const t=e(r);null==n[t]&&(n[t]=[]);n[t].push(r)}return n};t.has=has;t.head=head;t.inRange=function inRange(t,e,n){if(null==n){n=e;e=0}if(e>=n)throw new Error("The maximum value must be greater than the minimum value.");return e<=t&&t<n};t.indexOf=function indexOf(t,e,n){if(null==t)return-1;if(Number.isNaN(e)){(n=n??0)<0&&(n=Math.max(0,t.length+n));for(let e=n;e<t.length;e++)if(Number.isNaN(t[e]))return e;return-1}return t.indexOf(e,n)};t.initial=function initial(t){return t.slice(0,-1)};t.intersection=intersection;t.intersectionBy=intersectionBy;t.intersectionWith=intersectionWith;t.invert=function invert(t){const e={},n=Object.keys(t);for(let r=0;r<n.length;r++){const o=n[r];e[t[o]]=o}return e};t.isArguments=isArguments;t.isArray=function isArray(t){return Array.isArray(t)};t.isArrayLike=isArrayLike;t.isBoolean=function isBoolean(t){return!0===t||!1===t||"object"==typeof t&&null!=t&&"[object Boolean]"===getTag(t)};t.isEqual=function isEqual(t,e){if(typeof t==typeof e)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===e;case"number":return t===e||Object.is(t,e);case"object":return areObjectsEqual(t,e)}return areObjectsEqual(t,e)};t.isFunction=function isFunction(t){return"function"==typeof t};t.isLength=isLength;t.isMatch=isMatch;t.isNil=isNil;t.isNotNil=function isNotNil(t){return null!=t};t.isNull=function isNull(t){return null===t};t.isObject=function isObject(t){return null!==t&&("object"==typeof t||"function"==typeof t)};t.isObjectLike=isObjectLike;t.isPlainObject=isPlainObject;t.isPrimitive=isPrimitive;t.isRegExp=function isRegExp(t){return"[object RegExp]"===getTag(t)};t.isString=function isString(t){return"string"==typeof t||"object"==typeof t&&null!=t&&"[object String]"===getTag(t)};t.isSubset=function isSubset(t,e){return 0===difference$1(e,t).length};t.isSymbol=isSymbol;t.isTypedArray=isTypedArray;t.isUndefined=function isUndefined(t){return void 0===t};t.isWeakMap=function isWeakMap(t){return function isWeakMap$1(t){return t instanceof WeakMap}(t)};t.isWeakSet=function isWeakSet(t){return function isWeakSet$1(t){return t instanceof WeakSet}(t)};t.join=function join(t,e=","){return t.join(e)};t.kebabCase=function kebabCase(t){return getWords(t).map((t=>t.toLowerCase())).join("-")};t.keyBy=function keyBy(t,e){const n={};for(const r of t){n[e(r)]=r}return n};t.last=function last(t){return t[t.length-1]};t.lowerCase=function lowerCase(t){return getWords(t).map((t=>t.toLowerCase())).join(" ")};t.lowerFirst=function lowerFirst(t){return t.substring(0,1).toLowerCase()+t.substring(1)};t.mapKeys=function mapKeys(t,e){switch(typeof(e=e??identity)){case"string":case"symbol":case"number":case"object":return mapKeys$1(t,property(e));case"function":return mapKeys$1(t,e)}};t.mapValues=function mapValues(t,e){switch(typeof(e=e??identity)){case"string":case"symbol":case"number":case"object":return mapValues$1(t,property(e));case"function":return mapValues$1(t,e)}};t.matches=matches;t.matchesProperty=matchesProperty;t.max=function max(t=[]){let e,n=t[0];for(const r of t)if(null==e||r>e){e=r;n=r}return n};t.maxBy=function maxBy(t,e){let n=t[0],r=-1/0;for(const o of t){const t=e(o);if(t>r){r=t;n=o}}return n};t.mean=mean;t.meanBy=function meanBy(t,e){return mean(t.map((t=>e(t))))};t.memoize=function memoize(t,e={}){const{cache:n=new Map,getCacheKey:r}=e,memoizedFn=function(e){const o=r?r(e):e;if(n.has(o))return n.get(o);const i=t.call(this,e);n.set(o,i);return i};memoizedFn.cache=n;return memoizedFn};t.merge=function merge(t,...e){return mergeWith(t,...e,noop)};t.mergeWith=mergeWith;t.min=function min(t=[]){let e,n=t[0];for(const r of t)if(null==e||r<e){e=r;n=r}return n};t.minBy=function minBy(t,e){let n=t[0],r=1/0;for(const o of t){const t=e(o);if(t<r){r=t;n=o}}return n};t.negate=function negate(t){return(...e)=>!t(...e)};t.noop=noop;t.omit=function omit(t,e){const n={...t};for(const t of e)delete n[t];return n};t.omitBy=function omitBy(t,e){const n={};for(const[r,o]of Object.entries(t))e(o,r)||(n[r]=o);return n};t.once=function once(t){let e,n=!1;return function(){if(n)return e;const r=t();n=!0;e=r;return r}};t.orderBy=orderBy;t.pad=function pad(t,e,n=" "){return t.padStart(Math.floor((e-t.length)/2)+t.length,n).padEnd(e,n)};t.padEnd=function padEnd(t,e=0,n=" "){return t.padEnd(e,n)};t.padStart=function padStart(t,e=0,n=" "){return t.padStart(e,n)};t.parseInt=function parseInt(t,e=0,n){n&&(e=0);return Number.parseInt(t,e)};t.partial=partial;t.partialRight=partialRight;t.partition=function partition(t,e){const n=[],r=[];for(const o of t)e(o)?n.push(o):r.push(o);return[n,r]};t.pascalCase=function pascalCase(t){return getWords(t).map((t=>capitalize(t))).join("")};t.pick=function pick(t,e){const n={};for(const r of e)n[r]=t[r];return n};t.pickBy=function pickBy(t,e){const n={};for(const[r,o]of Object.entries(t))e(o,r)&&(n[r]=o);return n};t.property=property;t.pullAt=function pullAt(t,e){const n=at(t,e),r=new Set(e.slice().sort(((t,e)=>e-t)));for(const e of r)t.splice(e,1);return n};t.random=random;t.randomInt=randomInt;t.range=function range(t,e,n){if(null==e){e=t;t=0}null==n&&(n=1);if(!Number.isInteger(n)||0===n)throw new Error("The step value must be a non-zero integer.");const r=Math.max(Math.ceil((e-t)/n),0),o=new Array(r);for(let e=0;e<r;e++)o[e]=t+e*n;return o};t.rearg=function rearg(t,...e){const n=flatten(e);return function(...e){const r=n.map((t=>e[t])).slice(0,e.length);for(let t=r.length;t<e.length;t++)r.push(e[t]);return t.apply(this,r)}};t.repeat=function repeat(t,e){return t.repeat(e)};t.rest=function rest(t,e=t.length-1){e=Number.parseInt(e,10);(Number.isNaN(e)||e<0)&&(e=t.length-1);return function rest$1(t,e=t.length-1){return function(...n){const r=n.slice(e),o=n.slice(0,e);for(;o.length<e;)o.push(void 0);return t.apply(this,[...o,r])}}(t,e)};t.round=function round(t,e=0){if(!Number.isInteger(e))throw new Error("Precision must be an integer.");const n=Math.pow(10,e);return Math.round(t*n)/n};t.sample=function sample(t){return t[Math.floor(Math.random()*t.length)]};t.sampleSize=function sampleSize(t,e){if(e>t.length)throw new Error("Size must be less than or equal to the length of array.");const n=new Array(e),r=new Set;for(let o=t.length-e,i=0;o<t.length;o++,i++){let e=randomInt(0,o+1);r.has(e)&&(e=o);r.add(e);n[i]=t[e]}return n};t.set=set;t.shuffle=function shuffle(t){const e=t.slice();for(let t=e.length-1;t>=1;t--){const n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e};t.size=function size(t){return isNil(t)?0:t instanceof Map||t instanceof Set?t.size:Object.keys(t).length};t.snakeCase=function snakeCase(t){return getWords(t).map((t=>t.toLowerCase())).join("_")};t.some=function some(t,e,n){null!=n&&(e=void 0);e||(e=identity);if(!Array.isArray(t))return!1;switch(typeof e){case"function":return t.some(e);case"object":if(Array.isArray(e)&&2===e.length){const n=e[0],r=e[1];return t.some(matchesProperty(n,r))}return t.some(matches(e));case"string":return t.some(property(e))}};t.sortBy=function sortBy(t,e){return orderBy(t,e,["asc"])};t.spread=function spread(t,e=0){e=Number.parseInt(e,10);(Number.isNaN(e)||e<0)&&(e=0);return function(...n){const r=n[e],o=n.slice(0,e);r&&o.push(...r);return t.apply(this,o)}};t.startCase=function startCase(t){const e=getWords(t.trim());let n="";for(const t of e){n&&(n+=" ");t===t.toUpperCase()?n+=t:n+=t[0].toUpperCase()+t.slice(1).toLowerCase()}return n};t.startsWith=function startsWith(t,e,n=0){return t.startsWith(e,n)};t.sum=sum;t.sumBy=function sumBy(t,e){return sum(t.map((t=>e(t))))};t.tail=function tail(t){return t.slice(1)};t.take=function take(t,e){return t.slice(0,e)};t.takeRight=function takeRight(t,e=1){return e<=0?[]:t.slice(-e)};t.takeRightWhile=function takeRightWhile(t,e){for(let n=t.length-1;n>=0;n--)if(!e(t[n]))return t.slice(n+1);return t.slice()};t.takeWhile=function takeWhile(t,e){const n=[];for(const r of t){if(!e(r))break;n.push(r)}return n};t.throttle=function throttle(t,e){let n;return function(...r){const o=Date.now();if(null==n||o-n>=e){n=o;t(...r)}}};t.timeout=timeout;t.toFilled=function toFilled(t,e,n=0,r=t.length){const o=t.length,i=Math.max(n>=0?n:o+n,0),c=Math.min(r>=0?r:o+r,o),s=t.slice();for(let t=i;t<c;t++)s[t]=e;return s};t.toMerged=function toMerged(t,e){return merge$1(cloneDeep$1(t),e)};t.unary=function unary(t){return ary$1(t,1)};t.unescape=function unescape(t){return t.replace(/&(?:amp|lt|gt|quot|#(0+)?39);/g,(t=>I[t]||"'"))};t.union=union;t.unionBy=unionBy;t.unionWith=unionWith;t.uniq=uniq;t.uniqBy=function uniqBy(t,e){const n=new Map;for(const r of t){const t=e(r);n.has(t)||n.set(t,r)}return Array.from(n.values())};t.uniqWith=uniqWith;t.unzip=function unzip(t){let e=0;for(let n=0;n<t.length;n++)t[n].length>e&&(e=t[n].length);const n=new Array(e);for(let r=0;r<e;r++){n[r]=new Array(t.length);for(let e=0;e<t.length;e++)n[r][e]=t[e][r]}return n};t.unzipWith=function unzipWith(t,e){const n=Math.max(...t.map((t=>t.length))),r=new Array(n);for(let o=0;o<n;o++){const n=new Array(t.length);for(let e=0;e<t.length;e++)n[e]=t[e][o];r[o]=e(...n)}return r};t.upperFirst=function upperFirst(t){return t.substring(0,1).toUpperCase()+t.substring(1)};t.withTimeout=async function withTimeout(t,e){return Promise.race([t(),timeout(e)])};t.without=function without(t,...e){const n=new Set(e);return t.filter((t=>!n.has(t)))};t.xor=function xor(t,e){return difference$1(union(t,e),intersection(t,e))};t.xorBy=function xorBy(t,e,n){return differenceBy(unionBy(t,e,n),intersectionBy(t,e,n),n)};t.xorWith=function xorWith(t,e,n){return differenceWith(unionWith(t,e,n),intersectionWith(t,e,n),n)};t.zip=zip;t.zipObject=function zipObject(t,e){const n={};for(let r=0;r<t.length;r++)n[t[r]]=e[r];return n};t.zipObjectDeep=function zipObjectDeep(t,e){const n={},r=zip(t,e);for(let t=0;t<r.length;t++){const[e,o]=r[t];null!=e&&set(n,e,o)}return n};t.zipWith=function zipWith(t,...e){const n=[t,...e.slice(0,-1)],r=e[e.length-1],o=[],i=Math.max(...n.map((t=>t.length)));for(let t=0;t<i;t++){const e=n.map((e=>e[t]));o.push(r(...e))}return o};Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});return t}({});
|
|
1
|
+
var _=function(t){"use strict";function at(t,e){const n=[];for(let r=0;r<e.length;r++){const o=e[r];n.push(t.at(o))}return n}function difference$1(t,e){const n=new Set(e);return t.filter((t=>!n.has(t)))}function differenceBy(t,e,n){const r=new Set(e.map((t=>n(t))));return t.filter((t=>!r.has(n(t))))}function differenceWith(t,e,n){return t.filter((t=>e.every((e=>!n(t,e)))))}function flatten$1(t,e=1){const n=[],r=Math.floor(e),recursive=(t,e)=>{for(const o of t)Array.isArray(o)&&e<r?recursive(o,e+1):n.push(o)};recursive(t,0);return n}function head(t){return t[0]}function intersection(t,e){const n=new Set(e);return t.filter((t=>n.has(t)))}function intersectionBy(t,e,n){const r=new Set(e.map(n));return t.filter((t=>r.has(n(t))))}function intersectionWith(t,e,n){return t.filter((t=>e.some((e=>n(t,e)))))}function random(t,e){if(null==e){e=t;t=0}if(t>=e)throw new Error("Invalid input: The maximum value must be greater than the minimum value.");return Math.random()*(e-t)+t}function randomInt(t,e){return Math.floor(random(t,e))}function uniq(t){return Array.from(new Set(t))}function union(t,e){return uniq(t.concat(e))}function unionBy(t,e,n){const r=new Map;for(const o of[...t,...e]){const t=n(o);r.has(t)||r.set(t,o)}return Array.from(r.values())}function uniqWith(t,e){const n=[];for(const r of t){n.every((t=>!e(t,r)))&&n.push(r)}return n}function unionWith(t,e,n){return uniqWith(t.concat(e),n)}function zip(...t){const e=[],n=Math.max(...t.map((t=>t.length)));for(let r=0;r<n;r++){const n=[];for(const e of t)n.push(e[r]);e.push(n)}return e}class AbortError extends Error{constructor(t="The operation was aborted"){super(t);this.name="AbortError"}}class TimeoutError extends Error{constructor(t="The operation was timed out"){super(t);this.name="TimeoutError"}}function noop(){}function ary$1(t,e){return function(...n){return t.apply(this,n.slice(0,e))}}function partial(t,...e){return function(...n){const r=[];let o=0;for(let t=0;t<e.length;t++){const i=e[t];i===partial.placeholder?r.push(n[o++]):r.push(i)}for(let t=o;t<n.length;t++)r.push(n[t]);return t.apply(this,r)}}const e=Symbol("partial.placeholder");partial.placeholder=e;function partialRight(t,...e){return function(...r){const o=e.filter((t=>t===n)).length,i=Math.max(r.length-o,0),c=[];let u=0;for(let t=0;t<i;t++)c.push(r[u++]);for(let t=0;t<e.length;t++){const n=e[t];n===partialRight.placeholder?c.push(r[u++]):c.push(n)}return t.apply(this,c)}}const n=Symbol("partialRight.placeholder");partialRight.placeholder=n;function makeCurry(t,e,n){if(n.length===e)return t(...n);return function(r){return makeCurry(t,e,[...n,r])}}function sum(t){let e=0;for(let n=0;n<t.length;n++)e+=t[n];return e}function mean(t){return sum(t)/t.length}function isTypedArray$1(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function isPrimitive(t){return null==t||"object"!=typeof t&&"function"!=typeof t}function clone(t){if(isPrimitive(t))return t;if(Array.isArray(t)||isTypedArray$1(t)||t instanceof ArrayBuffer||t instanceof SharedArrayBuffer)return t.slice(0);const e=Object.getPrototypeOf(t),n=e.constructor;if(t instanceof Date||t instanceof Map||t instanceof Set)return new n(t);if(t instanceof RegExp){const e=new n(t);e.lastIndex=t.lastIndex;return e}if(t instanceof DataView)return new n(t.buffer.slice(0));if(t instanceof Error){const e=new n(t.message);e.stack=t.stack;e.name=t.name;e.cause=t.cause;return e}if("undefined"!=typeof File&&t instanceof File){return new n([t],t.name,{type:t.type,lastModified:t.lastModified})}if("object"==typeof t){const n=Object.create(e);return Object.assign(n,t)}return t}function isPlainObject$1(t){if("object"!=typeof t)return!1;if(null==t)return!1;if(null===Object.getPrototypeOf(t))return!0;if("[object Object]"!==t.toString())return!1;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function flattenObjectImpl(t,e=""){const n={},r=Object.keys(t);for(let o=0;o<r.length;o++){const i=r[o],c=t[i],u=e?`${e}.${i}`:i;if(isPlainObject$1(c)&&Object.keys(c).length>0)Object.assign(n,flattenObjectImpl(c,u));else if(Array.isArray(c))for(let t=0;t<c.length;t++)n[`${u}.${t}`]=c[t];else n[u]=c}return n}function mapKeys$1(t,e){const n={},r=Object.keys(t);for(let o=0;o<r.length;o++){const i=r[o],c=t[i];n[e(c,i,t)]=c}return n}function mapValues$1(t,e){const n={},r=Object.keys(t);for(let o=0;o<r.length;o++){const i=r[o],c=t[i];n[i]=e(c,i,t)}return n}function cloneDeep$1(t){return cloneDeepImpl(t)}function cloneDeepImpl(t,e=new Map){if(isPrimitive(t))return t;if(e.has(t))return e.get(t);if(Array.isArray(t)){const n=new Array(t.length);e.set(t,n);for(let r=0;r<t.length;r++)n[r]=cloneDeepImpl(t[r],e);Object.prototype.hasOwnProperty.call(t,"index")&&(n.index=t.index);Object.prototype.hasOwnProperty.call(t,"input")&&(n.input=t.input);return n}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const e=new RegExp(t.source,t.flags);e.lastIndex=t.lastIndex;return e}if(t instanceof Map){const n=new Map;e.set(t,n);for(const[r,o]of t.entries())n.set(r,cloneDeepImpl(o,e));return n}if(t instanceof Set){const n=new Set;e.set(t,n);for(const r of t.values())n.add(cloneDeepImpl(r,e));return n}if("undefined"!=typeof Buffer&&Buffer.isBuffer(t))return t.subarray();if(isTypedArray$1(t)){const n=new(Object.getPrototypeOf(t).constructor)(t.length);e.set(t,n);for(let r=0;r<t.length;r++)n[r]=cloneDeepImpl(t[r],e);return n}if(t instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const n=new DataView(t.buffer.slice(0));e.set(t,n);copyProperties(n,t,e);return n}if("undefined"!=typeof File&&t instanceof File){const n=new File([t],t.name,{type:t.type});e.set(t,n);copyProperties(n,t,e);return n}if(t instanceof Blob){const n=new Blob([t],{type:t.type});e.set(t,n);copyProperties(n,t,e);return n}if(t instanceof Error){const n=new t.constructor;e.set(t,n);n.message=t.message;n.name=t.name;n.stack=t.stack;n.cause=t.cause;copyProperties(n,t,e);return n}if("object"==typeof t&&null!==t){const n={};e.set(t,n);copyProperties(n,t,e);return n}return t}function copyProperties(t,e,n){const r=Object.keys(e);for(let o=0;o<r.length;o++){const i=r[o],c=Object.getOwnPropertyDescriptor(e,i);(c?.writable||c?.set)&&(t[i]=cloneDeepImpl(e[i],n))}}function isObjectLike(t){return"object"==typeof t&&null!==t}function merge$1(t,e){const n=Object.keys(e);for(let r=0;r<n.length;r++){const o=n[r],i=e[o],c=t[o];Array.isArray(i)?t[o]=merge$1(c??[],i):isObjectLike(c)&&isObjectLike(i)?t[o]=merge$1(c??{},i):void 0!==c&&void 0===i||(t[o]=i)}return t}const r="[object RegExp]",o="[object String]",i="[object Number]",c="[object Boolean]",u="[object Arguments]",s="[object Symbol]",a="[object Date]",f="[object Map]",l="[object Set]",p="[object Array]",y="[object Function]",h="[object ArrayBuffer]",g="[object Object]",m="[object Error]",b="[object DataView]",d="[object Uint8Array]",j="[object Uint8ClampedArray]",A="[object Uint16Array]",O="[object Uint32Array]",w="[object BigUint64Array]",S="[object Int8Array]",$="[object Int16Array]",M="[object Int32Array]",k="[object BigInt64Array]",E="[object Float32Array]",B="[object Float64Array]";function getSymbols(t){return Object.getOwnPropertySymbols(t).filter((e=>Object.prototype.propertyIsEnumerable.call(t,e)))}function getTag(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}function areObjectsEqual(t,e,n){if(Object.is(t,e))return!0;let P=getTag(t),v=getTag(e);P===u&&(P=g);v===u&&(v=g);if(P!==v)return!1;switch(P){case o:return t.toString()===e.toString();case i:{const n=t.valueOf(),r=e.valueOf();return n===r||Number.isNaN(n)&&Number.isNaN(r)}case c:case a:case s:return Object.is(t.valueOf(),e.valueOf());case r:return t.source===e.source&&t.flags===e.flags;case y:return t===e}const x=(n=n??new Map).get(t),W=n.get(e);if(null!=x&&null!=W)return x===e;n.set(t,e);n.set(e,t);try{switch(P){case f:if(t.size!==e.size)return!1;for(const[r,o]of t.entries())if(!e.has(r)||!areObjectsEqual(o,e.get(r),n))return!1;return!0;case l:{if(t.size!==e.size)return!1;const r=Array.from(t.values()),o=Array.from(e.values());for(let t=0;t<r.length;t++){const e=r[t],i=o.findIndex((t=>areObjectsEqual(e,t,n)));if(-1===i)return!1;o.splice(i,1)}return!0}case p:case d:case j:case A:case O:case w:case S:case $:case M:case k:case E:case B:if("undefined"!=typeof Buffer&&Buffer.isBuffer(t)!==Buffer.isBuffer(e))return!1;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(!areObjectsEqual(t[r],e[r],n))return!1;return!0;case h:return t.byteLength===e.byteLength&&areObjectsEqual(new Uint8Array(t),new Uint8Array(e),n);case b:return t.byteLength===e.byteLength&&t.byteOffset===e.byteOffset&&areObjectsEqual(t.buffer,e.buffer,n);case m:return t.name===e.name&&t.message===e.message;case g:{if(!(areObjectsEqual(t.constructor,e.constructor,n)||isPlainObject$1(t)&&isPlainObject$1(e)))return!1;const r=[...Object.keys(t),...getSymbols(t)],o=[...Object.keys(e),...getSymbols(e)];if(r.length!==o.length)return!1;for(let o=0;o<r.length;o++){const i=r[o],c=t[i];if(!Object.prototype.hasOwnProperty.call(e,i))return!1;if(!areObjectsEqual(c,e[i],n))return!1}return!0}default:return!1}}finally{n.delete(t);n.delete(e)}}function isNil$1(t){return null==t}function isLength(t){return Number.isSafeInteger(t)&&t>=0}function delay(t,{signal:e}={}){return new Promise(((n,r)=>{const abortError=()=>{r(new AbortError)},abortHandler=()=>{clearTimeout(o);abortError()};if(e?.aborted)return abortError();const o=setTimeout((()=>{e?.removeEventListener("abort",abortHandler);n()}),t);e?.addEventListener("abort",abortHandler,{once:!0})}))}async function timeout(t){await delay(t);throw new TimeoutError}function capitalize(t){return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}const P=/[A-Z]?[a-z]+|[0-9]+|[A-Z]+(?![a-z])/g;function getWords(t){return Array.from(t.match(P)??[])}function trimStart$1(t,e){if(void 0===e)return t.trimStart();let n=0;switch(typeof e){case"string":for(;n<t.length&&t[n]===e;)n++;break;case"object":for(;n<t.length&&e.includes(t[n]);)n++}return t.substring(n)}function trimEnd$1(t,e){if(void 0===e)return t.trimEnd();let n=t.length;switch(typeof e){case"string":for(;n>0&&t[n-1]===e;)n--;break;case"object":for(;n>0&&e.includes(t[n-1]);)n--}return t.substring(0,n)}function trim$1(t,e){return void 0===e?t.trim():trimStart$1(trimEnd$1(t,e),e)}const v=new Map(Object.entries({Æ:"Ae",Ð:"D",Ø:"O",Þ:"Th",ß:"ss",æ:"ae",ð:"d",ø:"o",þ:"th",Đ:"D",đ:"d",Ħ:"H",ħ:"h",ı:"i",IJ:"IJ",ij:"ij",ĸ:"k",Ŀ:"L",ŀ:"l",Ł:"L",ł:"l",ʼn:"'n",Ŋ:"N",ŋ:"n",Œ:"Oe",œ:"oe",Ŧ:"T",ŧ:"t",ſ:"s"}));const x={"&":"&","<":"<",">":">",'"':""","'":"'"};const W={"&":"&","<":"<",">":">",""":'"',"'":"'"};function isDeepKey(t){switch(typeof t){case"number":case"symbol":return!1;case"string":return t.includes(".")||t.includes("[")||t.includes("]")}}function toKey(t){return Object.is(t,-0)?"-0":t.toString()}const I=/^[\w.]+$/g,N=/\\(\\)?/g,D=RegExp("[^.[\\]]+|\\[(?:([^\"'][^[]*)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))","g");function toPath(t){if(I.test(t))return t.split(".");const e=[];"."===t[0]&&e.push("");const n=t.matchAll(D);for(const t of n){let n=t[0];const r=t[1],o=t[2],i=t[3];o?n=i.replace(N,"$1"):r&&(n=r);e.push(n)}return e}function get(t,e,n){if(null==t)return n;switch(typeof e){case"string":{const r=t[e];return void 0===r?isDeepKey(e)?get(t,toPath(e),n):n:r}case"number":case"symbol":{"number"==typeof e&&(e=toKey(e));const r=t[e];return void 0===r?n:r}default:{if(Array.isArray(e))return function getWithPath(t,e,n){if(0===e.length)return n;let r=t;for(let t=0;t<e.length;t++){if(null==r)return n;r=r[e[t]]}if(void 0===r)return n;return r}(t,e,n);const r=t[e=Object.is(e?.valueOf(),-0)?"-0":String(e)];return void 0===r?n:r}}}function property(t){return function(e){return get(e,t)}}function isMatch(t,e){if(e===t)return!0;switch(typeof e){case"object":{if(null==e)return!0;const n=Object.keys(e);if(null==t)return 0===n.length;if(Array.isArray(e))return isArrayMatch(t,e);if(e instanceof Map)return function isMapMatch(t,e){if(0===e.size)return!0;if(!(t instanceof Map))return!1;for(const[n,r]of e.entries())if(!isMatch(t.get(n),r))return!1;return!0}(t,e);if(e instanceof Set)return function isSetMatch(t,e){if(0===e.size)return!0;if(!(t instanceof Set))return!1;return isArrayMatch([...t],[...e])}(t,e);for(let r=0;r<n.length;r++){const o=n[r];if(!isPrimitive(t)&&!(o in t))return!1;if(void 0===e[o]&&void 0!==t[o])return!1;if(!isMatch(t[o],e[o]))return!1}return!0}case"function":return Object.keys(e).length>0&&isMatch(t,{...e});default:return!e}}function isArrayMatch(t,e){if(0===e.length)return!0;if(!Array.isArray(t))return!1;const n=new Set;for(let r=0;r<e.length;r++){const o=e[r],i=t.findIndex(((t,e)=>isMatch(t,o)&&!n.has(e)));if(-1===i)return!1;n.add(i)}return!0}function matches(t){t=cloneDeep$1(t);return e=>isMatch(e,t)}function cloneDeep(t){if("object"!=typeof t)return cloneDeep$1(t);switch(Object.prototype.toString.call(t)){case i:case o:case c:{const e=new t.constructor(t?.valueOf());copyProperties(e,t);return e}case u:{const e={};copyProperties(e,t);e.length=t.length;e[Symbol.iterator]=t[Symbol.iterator];return e}default:return cloneDeep$1(t)}}const z=/^(?:0|[1-9]\d*)$/;function isIndex(t){switch(typeof t){case"number":return Number.isInteger(t)&&t>=0&&t<Number.MAX_SAFE_INTEGER;case"symbol":return!1;case"string":return z.test(t)}}function isArguments(t){return null!==t&&"object"==typeof t&&"[object Arguments]"===getTag(t)}function has(t,e){let n;n=Array.isArray(e)?e:"string"==typeof e&&isDeepKey(e)&&null==t?.[e]?toPath(e):[e];if(0===n.length)return!1;let r=t;for(let t=0;t<n.length;t++){const e=n[t];if(null==r||!Object.prototype.hasOwnProperty.call(r,e)){if(!((Array.isArray(r)||isArguments(r))&&isIndex(e)&&e<r.length))return!1}r=r[e]}return!0}function matchesProperty(t,e){switch(typeof t){case"object":Object.is(t?.valueOf(),-0)&&(t="-0");break;case"number":t=toKey(t)}e=cloneDeep(e);return function(n){const r=get(n,t);return void 0===r?has(n,t):void 0===e?void 0===r:isMatch(r,e)}}function flatten(t,e=1){const n=[],r=Math.floor(e);if(!Array.isArray(t))return n;const recursive=(t,e)=>{for(const o of t)e<r&&(Array.isArray(o)||Boolean(o?.[Symbol.isConcatSpreadable])||null!==o&&"object"==typeof o&&"[object Arguments]"===Object.prototype.toString.call(o))?Array.isArray(o)?recursive(o,e+1):recursive(Array.from(o),e+1):n.push(o)};recursive(t,0);return n}function getPriority(t){return"symbol"==typeof t?1:null===t?2:void 0===t?3:t!=t?4:0}const compareValues=(t,e,n)=>{if(t!==e){if("string"==typeof t&&"string"==typeof e)return"desc"===n?e.localeCompare(t):t.localeCompare(e);const r=getPriority(t),o=getPriority(e);if(r===o&&0===r){if(t<e)return"desc"===n?1:-1;if(t>e)return"desc"===n?-1:1}return"desc"===n?o-r:r-o}return 0};function isSymbol(t){return"symbol"==typeof t||null!=t&&t instanceof Symbol}const C=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/;function orderBy(t,e,n){if(null==t||"number"==typeof t)return[];"object"!=typeof t||Array.isArray(t)||(t=Object.values(t));Array.isArray(e)||(e=null==e?[null]:[e]);Array.isArray(n)||(n=null==n?[]:[n]);n=n.map((t=>String(t)));const getValueByNestedPath=(t,e)=>{let n=t;for(let t=0;t<e.length&&null!=n;++t)n=n[e[t]];return n},r=e.map((t=>{Array.isArray(t)&&1===t.length&&(t=t[0]);return null==t||"function"==typeof t||Array.isArray(t)||function isKey(t,e){return!Array.isArray(t)&&(!("number"!=typeof t&&"boolean"!=typeof t&&null!=t&&!isSymbol(t))||"string"==typeof t&&(T.test(t)||!C.test(t))||null!=e)}(t)?t:{key:t,path:toPath(t)}}));return t.map((t=>({original:t,criteria:r.map((e=>((t,e)=>null==e||null==t?e:"object"==typeof t&&"key"in t?Object.hasOwn(e,t.key)?e[t.key]:getValueByNestedPath(e,t.path):"function"==typeof t?t(e):Array.isArray(t)?getValueByNestedPath(e,t):"object"==typeof e?e[t]:e)(e,t)))}))).slice().sort(((t,e)=>{for(let o=0;o<r.length;o++){const r=compareValues(t.criteria[o],e.criteria[o],n[o]);if(0!==r)return r}return 0})).map((t=>t.original))}function identity(t){return t}function set(t,e,n){const r=Array.isArray(e)?e:"string"==typeof e?toPath(e):[e];let o=t;for(let t=0;t<r.length-1;t++){const e=r[t],n=r[t+1];null==o[e]&&(o[e]=isIndex(n)?[]:{});o=o[e]}o[r[r.length-1]]=n;return t}function bind(t,e,...n){const bound=function(...r){const o=[];let i=0;for(let t=0;t<n.length;t++){const e=n[t];e===bind.placeholder?o.push(r[i++]):o.push(e)}for(let t=i;t<r.length;t++)o.push(r[t]);return this instanceof bound?new t(...o):t.apply(e,o)};return bound}const L=Symbol("bind.placeholder");bind.placeholder=L;function bindKey(t,e,...n){const bound=function(...r){const o=[];let i=0;for(let t=0;t<n.length;t++){const e=n[t];e===bindKey.placeholder?o.push(r[i++]):o.push(e)}for(let t=i;t<r.length;t++)o.push(r[t]);return this instanceof bound?new t[e](...o):t[e].apply(t,o)};return bound}const R=Symbol("bindKey.placeholder");bindKey.placeholder=R;function unset(t,e){if(null==t)return!0;switch(typeof e){case"symbol":case"number":case"object":if(Array.isArray(e))return unsetWithPath(t,e);"number"==typeof e?e=toKey(e):"object"==typeof e&&(e=Object.is(e?.valueOf(),-0)?"-0":String(e));if(void 0===t?.[e])return!0;try{delete t[e];return!0}catch{return!1}case"string":if(void 0===t?.[e]&&isDeepKey(e))return unsetWithPath(t,toPath(e));try{delete t[e];return!0}catch{return!1}}}function unsetWithPath(t,e){const n=get(t,e.slice(0,-1),t),r=e[e.length-1];if(void 0===n?.[r])return!0;try{delete n[r];return!0}catch{return!1}}function isPlainObject(t){if("object"!=typeof t)return!1;if(null==t)return!1;if(null===Object.getPrototypeOf(t))return!0;if("[object Object]"!==Object.prototype.toString.call(t)){const e=t[Symbol.toStringTag];if(null==e)return!1;return!!Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.writable&&t.toString()===`[object ${e}]`}let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function isTypedArray(t){return isTypedArray$1(t)}function mergeWith(t,...e){const n=e.slice(0,-1),r=e[e.length-1];let o=t;for(let e=0;e<n.length;e++){o=mergeWithDeep(t,n[e],r,new Map)}return o}function mergeWithDeep(t,e,n,r){if(null==e||"object"!=typeof e)return t;if(r.has(e))return clone(r.get(e));r.set(e,t);if(Array.isArray(e)){e=e.slice();for(let t=0;t<e.length;t++)e[t]=e[t]??void 0}const o=[...Object.keys(e),...getSymbols(e)];for(let i=0;i<o.length;i++){const c=o[i];let u=e[c],s=t[c];isArguments(u)&&(u={...u});isArguments(s)&&(s={...s});"undefined"!=typeof Buffer&&Buffer.isBuffer(u)&&(u=cloneDeep(u));if(Array.isArray(u))if("object"==typeof s){const t=[],e=Reflect.ownKeys(s);for(let n=0;n<e.length;n++){const r=e[n];t[r]=s[r]}s=t}else s=[];const a=n(s,u,c,t,e,r);null!=a?t[c]=a:Array.isArray(u)||isObjectLike(s)&&isObjectLike(u)?t[c]=mergeWithDeep(s,u,n,r):null==s&&isPlainObject(u)?t[c]=mergeWithDeep({},u,n,r):null==s&&isTypedArray(u)?t[c]=cloneDeep(u):void 0!==s&&void 0===u||(t[c]=u)}return t}function isArrayLike(t){return null!=t&&"function"!=typeof t&&isLength(t.length)}function conformsTo(t,e){if(null==e)return!0;if(null==t)return 0===Object.keys(e).length;for(const n of Object.keys(e)){const r=e[n],o=t[n];if(void 0===o&&!(n in t)||!r(o))return!1}return!0}function toString(t){if(null==t)return"";if(Array.isArray(t))return t.map(toString).join(",");const e=String(t);return"0"===e&&Object.is(Number(t),-0)?"-0":e}function normalizeForCase(t){"string"!=typeof t&&(t=toString(t));return t.replace(/['\u2019]/g,"")}function decimalAdjust(t,e,n=0){e=Number(e);Object.is(e,-0)&&(e="-0");if(n=Math.min(Number.parseInt(n,10),292)){const[r,o=0]=e.toString().split("e");let i=Math[t](Number(`${r}e${Number(o)+n}`));Object.is(i,-0)&&(i="-0");const[c,u=0]=i.toString().split("e");return Number(`${c}e${Number(u)-n}`)}return Math[t](Number(e))}t.AbortError=AbortError;t.TimeoutError=TimeoutError;t.after=function after(t,e){if(!Number.isInteger(t)||t<0)throw new Error("n must be a non-negative integer.");let n=0;return(...r)=>{if(++n>=t)return e(...r)}};t.ary=function ary(t,e=t.length,n){n&&(e=t.length);(Number.isNaN(e)||e<0)&&(e=0);return ary$1(t,e)};t.at=at;t.attempt=function attempt(t,...e){try{return t(...e)}catch(t){return t instanceof Error?t:new Error(t)}};t.before=function before(t,e){if(!Number.isInteger(t)||t<0)throw new Error("n must be a non-negative integer.");let n=0;return(...r)=>{if(++n<t)return e(...r)}};t.bind=bind;t.bindKey=bindKey;t.camelCase=function camelCase(t){return function camelCase$1(t){const e=getWords(t);if(0===e.length)return"";const[n,...r]=e;return`${n.toLowerCase()}${r.map((t=>capitalize(t))).join("")}`}(normalizeForCase(t))};t.capitalize=capitalize;t.castArray=function castArray(t){return 0===arguments.length?[]:Array.isArray(t)?t:[t]};t.ceil=function ceil(t,e=0){return decimalAdjust("ceil",t,e)};t.chunk=function chunk(t,e=1){return 0===(e=Math.max(Math.floor(e),0))?[]:function chunk$1(t,e){if(!Number.isInteger(e)||e<=0)throw new Error("Size must be an integer greater than zero.");const n=Math.ceil(t.length/e),r=Array(n);for(let o=0;o<n;o++){const n=o*e,i=n+e;r[o]=t.slice(n,i)}return r}(t,e)};t.clamp=function clamp(t,e,n){return null==n?Math.min(t,e):Math.min(Math.max(t,e),n)};t.clone=clone;t.cloneDeep=cloneDeep$1;t.compact=function compact(t){const e=[];for(const n of t)n&&e.push(n);return e};t.concat=function concat(...t){return flatten$1(t)};t.conforms=function conforms(t){t=cloneDeep$1(t);return function(e){return conformsTo(e,t)}};t.conformsTo=conformsTo;t.countBy=function countBy(t,e){const n={};for(const r of t){const t=e(r);n[t]=(n[t]??0)+1}return n};t.curry=function curry(t){return 0===t.length||1===t.length?t:function(e){return makeCurry(t,t.length,[e])}};t.debounce=function debounce(t,e,{signal:n}={}){let r=null;const debounced=function(...o){null!==r&&clearTimeout(r);n?.aborted||(r=setTimeout((()=>{t(...o);r=null}),e))};debounced.cancel=function(){if(null!==r){clearTimeout(r);r=null}};n?.addEventListener("abort",(function(){debounced.cancel()}),{once:!0});return debounced};t.deburr=function deburr(t){t=t.normalize("NFD");let e="";for(let n=0;n<t.length;n++){const r=t[n];r>="̀"&&r<="ͯ"||r>="︠"&&r<="︣"||(e+=v.get(r)??r)}return e};t.delay=delay;t.difference=function difference(t,...e){return difference$1(t,flatten$1(e))};t.differenceBy=differenceBy;t.differenceWith=differenceWith;t.drop=function drop(t,e){e=Math.max(e,0);return t.slice(e)};t.dropRight=function dropRight(t,e){return 0===(e=Math.min(-e,0))?t.slice():t.slice(0,e)};t.dropRightWhile=function dropRightWhile(t,e){for(let n=t.length-1;n>=0;n--)if(!e(t[n]))return t.slice(0,n+1);return[]};t.dropWhile=function dropWhile(t,e){const n=t.findIndex((t=>!e(t)));return-1===n?[]:t.slice(n)};t.endsWith=function endsWith(t,e,n=t.length){return t.endsWith(e,n)};t.escape=function escape(t){return t.replace(/[&<>"']/g,(t=>x[t]))};t.escapeRegExp=function escapeRegExp(t){return t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")};t.fill=function fill(t,e,n=0,r=t.length){(n=Math.floor(n))||(n=0);(r=Math.floor(r))||(r=0);return function fill$1(t,e,n=0,r=t.length){const o=t.length,i=Math.max(n>=0?n:o+n,0),c=Math.min(r>=0?r:o+r,o);for(let n=i;n<c;n++)t[n]=e;return t}(t,e,n,r)};t.find=function find(t,e){let n=t;Array.isArray(t)||(n=Object.values(t));switch(typeof e){case"function":if(!Array.isArray(t)){const n=Object.entries(t);for(let r=0;r<n.length;r++){const o=n[r],i=o[0],c=o[1];if(e(c,i,t))return c}return}return n.find(e);case"object":if(Array.isArray(e)&&2===e.length){const t=e[0],r=e[1];return n.find(matchesProperty(t,r))}return n.find(matches(e));case"string":return n.find(property(e))}};t.findIndex=function findIndex(t,e){switch(typeof e){case"function":return t.findIndex(e);case"object":if(Array.isArray(e)&&2===e.length){const n=e[0],r=e[1];return t.findIndex(matchesProperty(n,r))}return t.findIndex(matches(e));case"string":return t.findIndex(property(e))}};t.findLastIndex=function findLastIndex(t,e,n=t.length-1){n=n<0?Math.max(t.length+n,0):Math.min(n,t.length-1);t=t.slice(0,n+1);switch(typeof e){case"function":return t.findLastIndex(e);case"object":if(Array.isArray(e)&&2===e.length){const n=e[0],r=e[1];return t.findLastIndex(matchesProperty(n,r))}return t.findLastIndex(matches(e));case"string":return t.findLastIndex(property(e))}};t.first=head;t.flatMap=function flatMap(t,e,n=1){return flatten$1(t.map((t=>e(t))),n)};t.flatMapDeep=function flatMapDeep(t,e){return function flattenDeep$1(t){return flatten$1(t,1/0)}(t.map((t=>e(t))))};t.flatten=flatten;t.flattenDeep=function flattenDeep(t){return flatten(t,1/0)};t.flattenDepth=function flattenDepth(t,e=1){return flatten(t,e)};t.flattenObject=function flattenObject(t){return flattenObjectImpl(t)};t.floor=function floor(t,e=0){return decimalAdjust("floor",t,e)};t.forEachRight=function forEachRight(t,e){for(let n=t.length-1;n>=0;n--){e(t[n],n,t)}};t.fromPairs=function fromPairs(t){if(!(isArrayLike(t)||t instanceof Map))return{};const e={};for(const[n,r]of t)e[n]=r;return e};t.get=get;t.groupBy=function groupBy(t,e){const n=Object.create(null);for(const r of t){const t=e(r);null==n[t]&&(n[t]=[]);n[t].push(r)}return n};t.has=has;t.head=head;t.inRange=function inRange(t,e,n){if(null==n){n=e;e=0}if(e>=n)throw new Error("The maximum value must be greater than the minimum value.");return e<=t&&t<n};t.indexOf=function indexOf(t,e,n){if(null==t)return-1;if(Number.isNaN(e)){(n=n??0)<0&&(n=Math.max(0,t.length+n));for(let e=n;e<t.length;e++)if(Number.isNaN(t[e]))return e;return-1}return t.indexOf(e,n)};t.initial=function initial(t){return t.slice(0,-1)};t.intersection=intersection;t.intersectionBy=intersectionBy;t.intersectionWith=intersectionWith;t.invert=function invert(t){const e={},n=Object.keys(t);for(let r=0;r<n.length;r++){const o=n[r];e[t[o]]=o}return e};t.isArguments=isArguments;t.isArray=function isArray(t){return Array.isArray(t)};t.isArrayLike=isArrayLike;t.isBoolean=function isBoolean(t){return!0===t||!1===t||"object"==typeof t&&null!=t&&"[object Boolean]"===getTag(t)};t.isDate=function isDate(t){return t instanceof Date};t.isEqual=function isEqual(t,e){if(typeof t==typeof e)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===e;case"number":return t===e||Object.is(t,e);case"object":return areObjectsEqual(t,e)}return areObjectsEqual(t,e)};t.isFunction=function isFunction(t){return"function"==typeof t};t.isInteger=function isInteger(t){return Number.isInteger(t)};t.isLength=isLength;t.isMatch=isMatch;t.isNil=isNil$1;t.isNotNil=function isNotNil(t){return null!=t};t.isNull=function isNull(t){return null===t};t.isObject=function isObject(t){return null!==t&&("object"==typeof t||"function"==typeof t)};t.isObjectLike=isObjectLike;t.isPlainObject=isPlainObject;t.isPrimitive=isPrimitive;t.isRegExp=function isRegExp(t){return"[object RegExp]"===getTag(t)};t.isSafeInteger=function isSafeInteger(t){return Number.isSafeInteger(t)};t.isString=function isString(t){return"string"==typeof t||"object"==typeof t&&null!=t&&"[object String]"===getTag(t)};t.isSubset=function isSubset(t,e){return 0===difference$1(e,t).length};t.isSymbol=isSymbol;t.isTypedArray=isTypedArray;t.isUndefined=function isUndefined(t){return void 0===t};t.isWeakMap=function isWeakMap(t){return function isWeakMap$1(t){return t instanceof WeakMap}(t)};t.isWeakSet=function isWeakSet(t){return function isWeakSet$1(t){return t instanceof WeakSet}(t)};t.join=function join(t,e=","){return t.join(e)};t.kebabCase=function kebabCase(t){return function kebabCase$1(t){return getWords(t).map((t=>t.toLowerCase())).join("-")}(normalizeForCase(t))};t.keyBy=function keyBy(t,e){const n={};for(const r of t){n[e(r)]=r}return n};t.last=function last(t){return t[t.length-1]};t.lowerCase=function lowerCase(t){return function lowerCase$1(t){return getWords(t).map((t=>t.toLowerCase())).join(" ")}(normalizeForCase(t))};t.lowerFirst=function lowerFirst(t){return t.substring(0,1).toLowerCase()+t.substring(1)};t.mapKeys=function mapKeys(t,e){switch(typeof(e=e??identity)){case"string":case"symbol":case"number":case"object":return mapKeys$1(t,property(e));case"function":return mapKeys$1(t,e)}};t.mapValues=function mapValues(t,e){switch(typeof(e=e??identity)){case"string":case"symbol":case"number":case"object":return mapValues$1(t,property(e));case"function":return mapValues$1(t,e)}};t.matches=matches;t.matchesProperty=matchesProperty;t.max=function max(t=[]){let e,n=t[0];for(const r of t)if(null==e||r>e){e=r;n=r}return n};t.maxBy=function maxBy(t,e){let n=t[0],r=-1/0;for(const o of t){const t=e(o);if(t>r){r=t;n=o}}return n};t.mean=mean;t.meanBy=function meanBy(t,e){return mean(t.map((t=>e(t))))};t.memoize=function memoize(t,e={}){const{cache:n=new Map,getCacheKey:r}=e,memoizedFn=function(e){const o=r?r(e):e;if(n.has(o))return n.get(o);const i=t.call(this,e);n.set(o,i);return i};memoizedFn.cache=n;return memoizedFn};t.merge=function merge(t,...e){return mergeWith(t,...e,noop)};t.mergeWith=mergeWith;t.min=function min(t=[]){let e,n=t[0];for(const r of t)if(null==e||r<e){e=r;n=r}return n};t.minBy=function minBy(t,e){let n=t[0],r=1/0;for(const o of t){const t=e(o);if(t<r){r=t;n=o}}return n};t.negate=function negate(t){return(...e)=>!t(...e)};t.noop=noop;t.omit=function omit(t,...e){if(null==t)return{};const n=cloneDeep$1(t);for(let t=0;t<e.length;t++){let r=e[t];switch(typeof r){case"object":Array.isArray(r)||(r=Array.from(r));for(let t=0;t<r.length;t++){unset(n,r[t])}break;case"string":case"symbol":case"number":unset(n,r)}}return n};t.omitBy=function omitBy(t,e){const n={};for(const[r,o]of Object.entries(t))e(o,r)||(n[r]=o);return n};t.once=function once(t){let e,n=!1;return function(){if(n)return e;const r=t();n=!0;e=r;return r}};t.orderBy=orderBy;t.pad=function pad(t,e,n=" "){return t.padStart(Math.floor((e-t.length)/2)+t.length,n).padEnd(e,n)};t.padEnd=function padEnd(t,e=0,n=" "){return t.padEnd(e,n)};t.padStart=function padStart(t,e=0,n=" "){return t.padStart(e,n)};t.parseInt=function parseInt(t,e=0,n){n&&(e=0);return Number.parseInt(t,e)};t.partial=partial;t.partialRight=partialRight;t.partition=function partition(t,e){const n=[],r=[];for(const o of t)e(o)?n.push(o):r.push(o);return[n,r]};t.pascalCase=function pascalCase(t){return getWords(t).map((t=>capitalize(t))).join("")};t.pick=function pick(t,...e){if(function isNil(t){return null==t}(t))return{};const n={};for(let r of e){switch(typeof r){case"object":Array.isArray(r)||(r=Array.from(r));break;case"string":case"symbol":case"number":r=[r]}for(const e of r){const r=get(t,e);"string"==typeof e&&Object.prototype.hasOwnProperty.call(t,e)?n[e]=r:set(n,e,r)}}return n};t.pickBy=function pickBy(t,e){const n={};for(const[r,o]of Object.entries(t))e(o,r)&&(n[r]=o);return n};t.property=property;t.pullAt=function pullAt(t,e){const n=at(t,e),r=new Set(e.slice().sort(((t,e)=>e-t)));for(const e of r)t.splice(e,1);return n};t.random=random;t.randomInt=randomInt;t.range=function range(t,e,n){if(null==e){e=t;t=0}null==n&&(n=1);if(!Number.isInteger(n)||0===n)throw new Error("The step value must be a non-zero integer.");const r=Math.max(Math.ceil((e-t)/n),0),o=new Array(r);for(let e=0;e<r;e++)o[e]=t+e*n;return o};t.rearg=function rearg(t,...e){const n=flatten(e);return function(...e){const r=n.map((t=>e[t])).slice(0,e.length);for(let t=r.length;t<e.length;t++)r.push(e[t]);return t.apply(this,r)}};t.repeat=function repeat(t,e){return t.repeat(e)};t.rest=function rest(t,e=t.length-1){e=Number.parseInt(e,10);(Number.isNaN(e)||e<0)&&(e=t.length-1);return function rest$1(t,e=t.length-1){return function(...n){const r=n.slice(e),o=n.slice(0,e);for(;o.length<e;)o.push(void 0);return t.apply(this,[...o,r])}}(t,e)};t.round=function round(t,e=0){return decimalAdjust("round",t,e)};t.sample=function sample(t){return t[Math.floor(Math.random()*t.length)]};t.sampleSize=function sampleSize(t,e){if(e>t.length)throw new Error("Size must be less than or equal to the length of array.");const n=new Array(e),r=new Set;for(let o=t.length-e,i=0;o<t.length;o++,i++){let e=randomInt(0,o+1);r.has(e)&&(e=o);r.add(e);n[i]=t[e]}return n};t.set=set;t.shuffle=function shuffle(t){const e=t.slice();for(let t=e.length-1;t>=1;t--){const n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e};t.size=function size(t){return isNil$1(t)?0:t instanceof Map||t instanceof Set?t.size:Object.keys(t).length};t.snakeCase=function snakeCase(t){return function snakeCase$1(t){return getWords(t).map((t=>t.toLowerCase())).join("_")}(normalizeForCase(t))};t.some=function some(t,e,n){null!=n&&(e=void 0);e||(e=identity);if(!Array.isArray(t))return!1;switch(typeof e){case"function":return t.some(e);case"object":if(Array.isArray(e)&&2===e.length){const n=e[0],r=e[1];return t.some(matchesProperty(n,r))}return t.some(matches(e));case"string":return t.some(property(e))}};t.sortBy=function sortBy(t,e){return orderBy(t,e,["asc"])};t.spread=function spread(t,e=0){e=Number.parseInt(e,10);(Number.isNaN(e)||e<0)&&(e=0);return function(...n){const r=n[e],o=n.slice(0,e);r&&o.push(...r);return t.apply(this,o)}};t.startCase=function startCase(t){return function startCase$1(t){const e=getWords(t.trim());let n="";for(const t of e){n&&(n+=" ");t===t.toUpperCase()?n+=t:n+=t[0].toUpperCase()+t.slice(1).toLowerCase()}return n}(normalizeForCase(t))};t.startsWith=function startsWith(t,e,n=0){return t.startsWith(e,n)};t.sum=sum;t.sumBy=function sumBy(t,e){return sum(t.map((t=>e(t))))};t.tail=function tail(t){return t.slice(1)};t.take=function take(t,e){return t.slice(0,e)};t.takeRight=function takeRight(t,e=1){return e<=0?[]:t.slice(-e)};t.takeRightWhile=function takeRightWhile(t,e){for(let n=t.length-1;n>=0;n--)if(!e(t[n]))return t.slice(n+1);return t.slice()};t.takeWhile=function takeWhile(t,e){const n=[];for(const r of t){if(!e(r))break;n.push(r)}return n};t.throttle=function throttle(t,e){let n;return function(...r){const o=Date.now();if(null==n||o-n>=e){n=o;t(...r)}}};t.timeout=timeout;t.toFilled=function toFilled(t,e,n=0,r=t.length){const o=t.length,i=Math.max(n>=0?n:o+n,0),c=Math.min(r>=0?r:o+r,o),u=t.slice();for(let t=i;t<c;t++)u[t]=e;return u};t.toMerged=function toMerged(t,e){return merge$1(cloneDeep$1(t),e)};t.toPath=toPath;t.toString=toString;t.trim=function trim(t,e,n){if(null==t)return"";if(null!=n||null==e)return t.toString().trim();switch(typeof e){case"string":return trim$1(t,e.toString().split(""));case"object":return Array.isArray(e)?trim$1(t,e.map((t=>t.toString()))):trim$1(t,e.toString().split(""))}};t.trimEnd=function trimEnd(t,e,n){if(null==t)return"";if(null!=n||null==e)return t.toString().trimEnd();switch(typeof e){case"string":return trimEnd$1(t,e.toString().split(""));case"object":return Array.isArray(e)?trimEnd$1(t,e.map((t=>t.toString()))):trimEnd$1(t,e.toString().split(""))}};t.trimStart=function trimStart(t,e,n){if(null==t)return"";if(null!=n||null==e)return t.toString().trimStart();switch(typeof e){case"string":return trimStart$1(t,e.toString().split(""));case"object":return Array.isArray(e)?trimStart$1(t,e.map((t=>t.toString()))):trimStart$1(t,e.toString().split(""))}};t.unary=function unary(t){return ary$1(t,1)};t.unescape=function unescape(t){return t.replace(/&(?:amp|lt|gt|quot|#(0+)?39);/g,(t=>W[t]||"'"))};t.union=union;t.unionBy=unionBy;t.unionWith=unionWith;t.uniq=uniq;t.uniqBy=function uniqBy(t,e){const n=new Map;for(const r of t){const t=e(r);n.has(t)||n.set(t,r)}return Array.from(n.values())};t.uniqWith=uniqWith;t.unset=unset;t.unzip=function unzip(t){let e=0;for(let n=0;n<t.length;n++)t[n].length>e&&(e=t[n].length);const n=new Array(e);for(let r=0;r<e;r++){n[r]=new Array(t.length);for(let e=0;e<t.length;e++)n[r][e]=t[e][r]}return n};t.unzipWith=function unzipWith(t,e){const n=Math.max(...t.map((t=>t.length))),r=new Array(n);for(let o=0;o<n;o++){const n=new Array(t.length);for(let e=0;e<t.length;e++)n[e]=t[e][o];r[o]=e(...n)}return r};t.upperCase=function upperCase(t){const e=getWords(t);let n="";for(let t=0;t<e.length;t++){n+=e[t].toUpperCase();t<e.length-1&&(n+=" ")}return n};t.upperFirst=function upperFirst(t){return t.substring(0,1).toUpperCase()+t.substring(1)};t.withTimeout=async function withTimeout(t,e){return Promise.race([t(),timeout(e)])};t.without=function without(t,...e){const n=new Set(e);return t.filter((t=>!n.has(t)))};t.xor=function xor(t,e){return difference$1(union(t,e),intersection(t,e))};t.xorBy=function xorBy(t,e,n){return differenceBy(unionBy(t,e,n),intersectionBy(t,e,n),n)};t.xorWith=function xorWith(t,e,n){return differenceWith(unionWith(t,e,n),intersectionWith(t,e,n),n)};t.zip=zip;t.zipObject=function zipObject(t,e){const n={};for(let r=0;r<t.length;r++)n[t[r]]=e[r];return n};t.zipObjectDeep=function zipObjectDeep(t,e){const n={},r=zip(t,e);for(let t=0;t<r.length;t++){const[e,o]=r[t];null!=e&&set(n,e,o)}return n};t.zipWith=function zipWith(t,...e){const n=[t,...e.slice(0,-1)],r=e[e.length-1],o=[],i=Math.max(...n.map((t=>t.length)));for(let t=0;t<i;t++){const e=n.map((e=>e[t]));o.push(r(...e))}return o};Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});return t}({});
|
|
2
2
|
//# sourceMappingURL=browser.global.js.map
|