@ls-stack/utils 3.63.0 → 3.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{arrayUtils.d.cts → arrayUtils.d.mts} +24 -23
- package/dist/arrayUtils.mjs +249 -0
- package/dist/assertions-qMxfVhSu.mjs +207 -0
- package/dist/{assertions.d.ts → assertions.d.mts} +4 -3
- package/dist/assertions.mjs +3 -0
- package/dist/asyncQueue.d.mts +497 -0
- package/dist/asyncQueue.mjs +757 -0
- package/dist/{awaitDebounce.d.cts → awaitDebounce.d.mts} +11 -6
- package/dist/awaitDebounce.mjs +54 -0
- package/dist/{cache.d.ts → cache.d.mts} +76 -68
- package/dist/cache.mjs +355 -0
- package/dist/castValues-DfICShCc.mjs +19 -0
- package/dist/{castValues.d.cts → castValues.d.mts} +3 -2
- package/dist/castValues.mjs +3 -0
- package/dist/{concurrentCalls.d.ts → concurrentCalls.d.mts} +74 -65
- package/dist/concurrentCalls.mjs +295 -0
- package/dist/consoleFmt.d.mts +55 -0
- package/dist/consoleFmt.mjs +63 -0
- package/dist/conversions-DTmwEMIu.mjs +12 -0
- package/dist/conversions.d.mts +4 -0
- package/dist/conversions.mjs +3 -0
- package/dist/createThrottleController.d.mts +18 -0
- package/dist/createThrottleController.mjs +40 -0
- package/dist/debounce.d.mts +47 -0
- package/dist/debounce.mjs +117 -0
- package/dist/dedent.d.mts +74 -0
- package/dist/dedent.mjs +80 -0
- package/dist/deepEqual-C7EZEixx.mjs +78 -0
- package/dist/{deepEqual.d.cts → deepEqual.d.mts} +3 -2
- package/dist/deepEqual.mjs +3 -0
- package/dist/{deepReplaceValues.d.cts → deepReplaceValues.d.mts} +4 -3
- package/dist/deepReplaceValues.mjs +61 -0
- package/dist/diffParser.d.mts +63 -0
- package/dist/diffParser.mjs +410 -0
- package/dist/enhancedMap.d.mts +21 -0
- package/dist/enhancedMap.mjs +69 -0
- package/dist/exhaustiveMatch.d.mts +10 -0
- package/dist/exhaustiveMatch.mjs +48 -0
- package/dist/{filterObjectOrArrayKeys.d.cts → filterObjectOrArrayKeys.d.mts} +15 -8
- package/dist/filterObjectOrArrayKeys.mjs +497 -0
- package/dist/{getAutoIncrementId.d.cts → getAutoIncrementId.d.mts} +9 -5
- package/dist/getAutoIncrementId.mjs +53 -0
- package/dist/{getCompositeKey.d.cts → getCompositeKey.d.mts} +3 -2
- package/dist/getCompositeKey.mjs +50 -0
- package/dist/{getValueStableKey.d.cts → getValueStableKey.d.mts} +5 -3
- package/dist/getValueStableKey.mjs +17 -0
- package/dist/{hash.d.cts → hash.d.mts} +3 -2
- package/dist/hash.mjs +28 -0
- package/dist/interpolate.d.mts +17 -0
- package/dist/interpolate.mjs +28 -0
- package/dist/{iteratorUtils.d.cts → iteratorUtils.d.mts} +5 -4
- package/dist/iteratorUtils.mjs +39 -0
- package/dist/keepPrevIfUnchanged.d.mts +12 -0
- package/dist/keepPrevIfUnchanged.mjs +9 -0
- package/dist/keyedMap.d.mts +76 -0
- package/dist/keyedMap.mjs +139 -0
- package/dist/keyedSet.d.mts +77 -0
- package/dist/keyedSet.mjs +129 -0
- package/dist/{levenshtein.d.cts → levenshtein.d.mts} +3 -2
- package/dist/levenshtein.mjs +121 -0
- package/dist/main.d.mts +4 -0
- package/dist/main.mjs +7 -0
- package/dist/matchPath.d.mts +50 -0
- package/dist/matchPath.mjs +81 -0
- package/dist/mathUtils-BDP1lM_z.mjs +81 -0
- package/dist/{mathUtils.d.cts → mathUtils.d.mts} +3 -2
- package/dist/mathUtils.mjs +3 -0
- package/dist/{mutationUtils.d.cts → mutationUtils.d.mts} +6 -5
- package/dist/mutationUtils.mjs +44 -0
- package/dist/{objUtils.d.ts → objUtils.d.mts} +8 -6
- package/dist/objUtils.mjs +115 -0
- package/dist/parallelAsyncCalls.d.mts +83 -0
- package/dist/parallelAsyncCalls.mjs +121 -0
- package/dist/partialEqual.d.mts +139 -0
- package/dist/partialEqual.mjs +1055 -0
- package/dist/promiseUtils.d.mts +9 -0
- package/dist/promiseUtils.mjs +17 -0
- package/dist/regexUtils.d.mts +18 -0
- package/dist/regexUtils.mjs +34 -0
- package/dist/{retryOnError.d.cts → retryOnError.d.mts} +38 -37
- package/dist/retryOnError.mjs +91 -0
- package/dist/{runShellCmd.d.ts → runShellCmd.d.mts} +24 -15
- package/dist/runShellCmd.mjs +151 -0
- package/dist/{safeJson.d.cts → safeJson.d.mts} +3 -2
- package/dist/safeJson.mjs +30 -0
- package/dist/{saferTyping.d.cts → saferTyping.d.mts} +4 -3
- package/dist/saferTyping.mjs +45 -0
- package/dist/serializeXML.d.mts +23 -0
- package/dist/serializeXML.mjs +74 -0
- package/dist/{shallowEqual.d.cts → shallowEqual.d.mts} +3 -2
- package/dist/shallowEqual.mjs +54 -0
- package/dist/sleep.d.mts +4 -0
- package/dist/sleep.mjs +7 -0
- package/dist/stringUtils-DjhWOiYn.mjs +113 -0
- package/dist/{stringUtils.d.cts → stringUtils.d.mts} +3 -2
- package/dist/stringUtils.mjs +3 -0
- package/dist/{testUtils.d.ts → testUtils.d.mts} +83 -52
- package/dist/testUtils.mjs +310 -0
- package/dist/{throttle.d.ts → throttle.d.mts} +18 -17
- package/dist/throttle.mjs +102 -0
- package/dist/time-sr2lhQRw.mjs +67 -0
- package/dist/{time.d.ts → time.d.mts} +8 -7
- package/dist/time.mjs +3 -0
- package/dist/{timers.d.cts → timers.d.mts} +22 -13
- package/dist/timers.mjs +220 -0
- package/dist/{tsResult.d.cts → tsResult.d.mts} +52 -48
- package/dist/tsResult.mjs +142 -0
- package/dist/typeGuards-B1mzA-Rz.mjs +128 -0
- package/dist/{typeGuards.d.cts → typeGuards.d.mts} +3 -2
- package/dist/typeGuards.mjs +3 -0
- package/dist/{typeUtils.d.ts → typeUtils.d.mts} +13 -34
- package/dist/typeUtils.mjs +1 -0
- package/dist/{typedStrings.d.cts → typedStrings.d.mts} +5 -4
- package/dist/typedStrings.mjs +131 -0
- package/dist/typingFnUtils-Bb8drgKF.mjs +101 -0
- package/dist/{typingFnUtils.d.cts → typingFnUtils.d.mts} +13 -22
- package/dist/typingFnUtils.mjs +3 -0
- package/dist/{typingTestUtils.d.cts → typingTestUtils.d.mts} +11 -15
- package/dist/typingTestUtils.mjs +80 -0
- package/dist/typingUtils.d.mts +20 -0
- package/dist/typingUtils.mjs +1 -0
- package/dist/yamlStringify.d.mts +17 -0
- package/dist/yamlStringify.mjs +189 -0
- package/package.json +65 -234
- package/dist/arrayUtils.cjs +0 -229
- package/dist/arrayUtils.d.ts +0 -171
- package/dist/arrayUtils.js +0 -42
- package/dist/assertions.cjs +0 -107
- package/dist/assertions.d.cts +0 -192
- package/dist/assertions.js +0 -25
- package/dist/asyncQueue.cjs +0 -672
- package/dist/asyncQueue.d.cts +0 -488
- package/dist/asyncQueue.d.ts +0 -488
- package/dist/asyncQueue.js +0 -631
- package/dist/awaitDebounce.cjs +0 -106
- package/dist/awaitDebounce.d.ts +0 -41
- package/dist/awaitDebounce.js +0 -28
- package/dist/cache.cjs +0 -367
- package/dist/cache.d.cts +0 -228
- package/dist/cache.js +0 -19
- package/dist/castValues.cjs +0 -50
- package/dist/castValues.d.ts +0 -4
- package/dist/castValues.js +0 -8
- package/dist/chunk-5DZT3Z5Z.js +0 -8
- package/dist/chunk-6FBIEPWU.js +0 -96
- package/dist/chunk-6FIBVC2P.js +0 -56
- package/dist/chunk-7CQPOM5I.js +0 -100
- package/dist/chunk-B6DNOZCP.js +0 -369
- package/dist/chunk-BM4PYVOX.js +0 -109
- package/dist/chunk-C2SVCIWE.js +0 -57
- package/dist/chunk-CCUPDGSZ.js +0 -132
- package/dist/chunk-DBOWTYR4.js +0 -49
- package/dist/chunk-DFXNVEH6.js +0 -14
- package/dist/chunk-DX2524CZ.js +0 -314
- package/dist/chunk-GMJTLFM6.js +0 -60
- package/dist/chunk-IATIXMCE.js +0 -20
- package/dist/chunk-II4R3VVX.js +0 -25
- package/dist/chunk-JF2MDHOJ.js +0 -40
- package/dist/chunk-JQFUKJU5.js +0 -71
- package/dist/chunk-MI4UE2PQ.js +0 -561
- package/dist/chunk-PUKVXYYL.js +0 -52
- package/dist/chunk-QQS7I7ZL.js +0 -16
- package/dist/chunk-VAAMRG4K.js +0 -20
- package/dist/chunk-WFQJUJTC.js +0 -182
- package/dist/chunk-ZXIKIA5B.js +0 -178
- package/dist/concurrentCalls.cjs +0 -406
- package/dist/concurrentCalls.d.cts +0 -116
- package/dist/concurrentCalls.js +0 -346
- package/dist/consoleFmt.cjs +0 -85
- package/dist/consoleFmt.d.cts +0 -54
- package/dist/consoleFmt.d.ts +0 -54
- package/dist/consoleFmt.js +0 -60
- package/dist/conversions.cjs +0 -44
- package/dist/conversions.d.cts +0 -3
- package/dist/conversions.d.ts +0 -3
- package/dist/conversions.js +0 -6
- package/dist/createThrottleController.cjs +0 -193
- package/dist/createThrottleController.d.cts +0 -13
- package/dist/createThrottleController.d.ts +0 -13
- package/dist/createThrottleController.js +0 -61
- package/dist/debounce.cjs +0 -157
- package/dist/debounce.d.cts +0 -46
- package/dist/debounce.d.ts +0 -46
- package/dist/debounce.js +0 -8
- package/dist/dedent.cjs +0 -104
- package/dist/dedent.d.cts +0 -73
- package/dist/dedent.d.ts +0 -73
- package/dist/dedent.js +0 -79
- package/dist/deepEqual.cjs +0 -96
- package/dist/deepEqual.d.ts +0 -21
- package/dist/deepEqual.js +0 -8
- package/dist/deepReplaceValues.cjs +0 -87
- package/dist/deepReplaceValues.d.ts +0 -27
- package/dist/deepReplaceValues.js +0 -7
- package/dist/enhancedMap.cjs +0 -131
- package/dist/enhancedMap.d.cts +0 -20
- package/dist/enhancedMap.d.ts +0 -20
- package/dist/enhancedMap.js +0 -10
- package/dist/exhaustiveMatch.cjs +0 -66
- package/dist/exhaustiveMatch.d.cts +0 -9
- package/dist/exhaustiveMatch.d.ts +0 -9
- package/dist/exhaustiveMatch.js +0 -40
- package/dist/filterObjectOrArrayKeys.cjs +0 -619
- package/dist/filterObjectOrArrayKeys.d.ts +0 -88
- package/dist/filterObjectOrArrayKeys.js +0 -9
- package/dist/getAutoIncrementId.cjs +0 -44
- package/dist/getAutoIncrementId.d.ts +0 -46
- package/dist/getAutoIncrementId.js +0 -18
- package/dist/getCompositeKey.cjs +0 -86
- package/dist/getCompositeKey.d.ts +0 -11
- package/dist/getCompositeKey.js +0 -8
- package/dist/getValueStableKey.cjs +0 -89
- package/dist/getValueStableKey.d.ts +0 -15
- package/dist/getValueStableKey.js +0 -11
- package/dist/hash.cjs +0 -57
- package/dist/hash.d.ts +0 -7
- package/dist/hash.js +0 -32
- package/dist/interpolate.cjs +0 -88
- package/dist/interpolate.d.cts +0 -11
- package/dist/interpolate.d.ts +0 -11
- package/dist/interpolate.js +0 -46
- package/dist/iteratorUtils.cjs +0 -73
- package/dist/iteratorUtils.d.ts +0 -10
- package/dist/iteratorUtils.js +0 -44
- package/dist/keepPrevIfUnchanged.cjs +0 -102
- package/dist/keepPrevIfUnchanged.d.cts +0 -7
- package/dist/keepPrevIfUnchanged.d.ts +0 -7
- package/dist/keepPrevIfUnchanged.js +0 -7
- package/dist/levenshtein.cjs +0 -180
- package/dist/levenshtein.d.ts +0 -5
- package/dist/levenshtein.js +0 -153
- package/dist/main.cjs +0 -32
- package/dist/main.d.cts +0 -3
- package/dist/main.d.ts +0 -3
- package/dist/main.js +0 -7
- package/dist/matchPath.cjs +0 -155
- package/dist/matchPath.d.cts +0 -53
- package/dist/matchPath.d.ts +0 -53
- package/dist/matchPath.js +0 -108
- package/dist/mathUtils.cjs +0 -81
- package/dist/mathUtils.d.ts +0 -54
- package/dist/mathUtils.js +0 -22
- package/dist/mutationUtils.cjs +0 -153
- package/dist/mutationUtils.d.ts +0 -15
- package/dist/mutationUtils.js +0 -55
- package/dist/objUtils.cjs +0 -242
- package/dist/objUtils.d.cts +0 -28
- package/dist/objUtils.js +0 -38
- package/dist/parallelAsyncCalls.cjs +0 -162
- package/dist/parallelAsyncCalls.d.cts +0 -82
- package/dist/parallelAsyncCalls.d.ts +0 -82
- package/dist/parallelAsyncCalls.js +0 -126
- package/dist/partialEqual.cjs +0 -1196
- package/dist/partialEqual.d.cts +0 -141
- package/dist/partialEqual.d.ts +0 -141
- package/dist/partialEqual.js +0 -1168
- package/dist/promiseUtils.cjs +0 -38
- package/dist/promiseUtils.d.cts +0 -8
- package/dist/promiseUtils.d.ts +0 -8
- package/dist/promiseUtils.js +0 -6
- package/dist/regexUtils.cjs +0 -60
- package/dist/regexUtils.d.cts +0 -17
- package/dist/regexUtils.d.ts +0 -17
- package/dist/regexUtils.js +0 -33
- package/dist/retryOnError.cjs +0 -130
- package/dist/retryOnError.d.ts +0 -83
- package/dist/retryOnError.js +0 -101
- package/dist/runShellCmd.cjs +0 -127
- package/dist/runShellCmd.d.cts +0 -90
- package/dist/runShellCmd.js +0 -98
- package/dist/safeJson.cjs +0 -45
- package/dist/safeJson.d.ts +0 -16
- package/dist/safeJson.js +0 -8
- package/dist/saferTyping.cjs +0 -52
- package/dist/saferTyping.d.ts +0 -47
- package/dist/saferTyping.js +0 -23
- package/dist/serializeXML.cjs +0 -154
- package/dist/serializeXML.d.cts +0 -22
- package/dist/serializeXML.d.ts +0 -22
- package/dist/serializeXML.js +0 -116
- package/dist/shallowEqual.cjs +0 -88
- package/dist/shallowEqual.d.ts +0 -4
- package/dist/shallowEqual.js +0 -63
- package/dist/sleep.cjs +0 -32
- package/dist/sleep.d.cts +0 -3
- package/dist/sleep.d.ts +0 -3
- package/dist/sleep.js +0 -6
- package/dist/stringUtils.cjs +0 -155
- package/dist/stringUtils.d.ts +0 -55
- package/dist/stringUtils.js +0 -50
- package/dist/testUtils.cjs +0 -1490
- package/dist/testUtils.d.cts +0 -133
- package/dist/testUtils.js +0 -359
- package/dist/throttle.cjs +0 -282
- package/dist/throttle.d.cts +0 -98
- package/dist/throttle.js +0 -38
- package/dist/time.cjs +0 -152
- package/dist/time.d.cts +0 -25
- package/dist/time.js +0 -38
- package/dist/timers.cjs +0 -194
- package/dist/timers.d.ts +0 -121
- package/dist/timers.js +0 -156
- package/dist/tsResult.cjs +0 -226
- package/dist/tsResult.d.ts +0 -114
- package/dist/tsResult.js +0 -180
- package/dist/typeGuards.cjs +0 -70
- package/dist/typeGuards.d.ts +0 -111
- package/dist/typeGuards.js +0 -18
- package/dist/typeUtils.cjs +0 -18
- package/dist/typeUtils.d.cts +0 -61
- package/dist/typeUtils.js +0 -0
- package/dist/typedStrings.cjs +0 -90
- package/dist/typedStrings.d.ts +0 -163
- package/dist/typedStrings.js +0 -57
- package/dist/typingFnUtils.cjs +0 -96
- package/dist/typingFnUtils.d.ts +0 -100
- package/dist/typingFnUtils.js +0 -30
- package/dist/typingTestUtils.cjs +0 -52
- package/dist/typingTestUtils.d.ts +0 -79
- package/dist/typingTestUtils.js +0 -27
- package/dist/typingUtils.cjs +0 -18
- package/dist/typingUtils.d.cts +0 -35
- package/dist/typingUtils.d.ts +0 -35
- package/dist/typingUtils.js +0 -0
- package/dist/yamlStringify.cjs +0 -423
- package/dist/yamlStringify.d.cts +0 -10
- package/dist/yamlStringify.d.ts +0 -10
- package/dist/yamlStringify.js +0 -9
package/dist/matchPath.cjs
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/matchPath.ts
|
|
21
|
-
var matchPath_exports = {};
|
|
22
|
-
__export(matchPath_exports, {
|
|
23
|
-
matchPath: () => matchPath,
|
|
24
|
-
matchPathWith: () => matchPathWith
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(matchPath_exports);
|
|
27
|
-
|
|
28
|
-
// src/cache.ts
|
|
29
|
-
function fastCache({ maxCacheSize = 1e3 } = {}) {
|
|
30
|
-
const cache2 = /* @__PURE__ */ new Map();
|
|
31
|
-
function trimCache() {
|
|
32
|
-
const cacheSize = cache2.size;
|
|
33
|
-
if (cacheSize > maxCacheSize) {
|
|
34
|
-
const keys = Array.from(cache2.keys());
|
|
35
|
-
for (let i = 0; i < cacheSize - maxCacheSize; i++) {
|
|
36
|
-
cache2.delete(keys[i]);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
function getOrInsert(cacheKey, val) {
|
|
41
|
-
if (!cache2.has(cacheKey)) {
|
|
42
|
-
const value = val();
|
|
43
|
-
cache2.set(cacheKey, value);
|
|
44
|
-
trimCache();
|
|
45
|
-
return cache2.get(cacheKey) ?? value;
|
|
46
|
-
}
|
|
47
|
-
return cache2.get(cacheKey);
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
getOrInsert,
|
|
51
|
-
/** Clears all cached values */
|
|
52
|
-
clear: () => cache2.clear()
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// src/matchPath.ts
|
|
57
|
-
function matchPath(pattern, pathname) {
|
|
58
|
-
if (typeof pattern === "string") {
|
|
59
|
-
pattern = { path: pattern, caseSensitive: false, end: true };
|
|
60
|
-
}
|
|
61
|
-
const normalizedPathname = pathname === "" ? "" : pathname.replace(/^\/*/, "/");
|
|
62
|
-
const [matcher, compiledParams] = compilePath(
|
|
63
|
-
pattern.path,
|
|
64
|
-
pattern.caseSensitive,
|
|
65
|
-
pattern.end
|
|
66
|
-
);
|
|
67
|
-
const match = normalizedPathname.match(matcher);
|
|
68
|
-
if (!match) return null;
|
|
69
|
-
const matchedPathname = match[0];
|
|
70
|
-
let pathnameBase = matchedPathname.replace(/(.)\/+$/, "$1");
|
|
71
|
-
const captureGroups = match.slice(1);
|
|
72
|
-
const params = compiledParams.reduce(
|
|
73
|
-
(memo, { paramName, isOptional }, index) => {
|
|
74
|
-
if (paramName === "*") {
|
|
75
|
-
const splatValue = captureGroups[index] || "";
|
|
76
|
-
pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\/+$/, "$1");
|
|
77
|
-
}
|
|
78
|
-
const value = captureGroups[index];
|
|
79
|
-
if (isOptional && !value) {
|
|
80
|
-
memo[paramName] = void 0;
|
|
81
|
-
} else {
|
|
82
|
-
memo[paramName] = (value || "").replace(/%2F/g, "/");
|
|
83
|
-
}
|
|
84
|
-
return memo;
|
|
85
|
-
},
|
|
86
|
-
{}
|
|
87
|
-
);
|
|
88
|
-
const glob = params["*"];
|
|
89
|
-
const globPath = glob && `/${glob}`;
|
|
90
|
-
return {
|
|
91
|
-
params,
|
|
92
|
-
pathname: matchedPathname,
|
|
93
|
-
pathnameBase,
|
|
94
|
-
pattern,
|
|
95
|
-
glob: globPath ? {
|
|
96
|
-
matchPath: (subPattern) => matchPath(subPattern, globPath),
|
|
97
|
-
path: globPath
|
|
98
|
-
} : null
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
function warning(condition, message) {
|
|
102
|
-
if (process.env.NODE_ENV === "development" && !condition) {
|
|
103
|
-
console.warn(message);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
var cache = fastCache({ maxCacheSize: 5e3 });
|
|
107
|
-
function compilePath(path, caseSensitive = false, end = true) {
|
|
108
|
-
return cache.getOrInsert(
|
|
109
|
-
`${path}-${caseSensitive ? "s" : "i"}${end ? "e" : ""}`,
|
|
110
|
-
() => {
|
|
111
|
-
warning(
|
|
112
|
-
path === "*" || !path.endsWith("*") || path.endsWith("/*"),
|
|
113
|
-
`Route path "${path}" will be treated as if it were "${path.replace(/\*$/, "/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${path.replace(/\*$/, "/*")}".`
|
|
114
|
-
);
|
|
115
|
-
const params = [];
|
|
116
|
-
let regexpSource = `^${path.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace(
|
|
117
|
-
/\/:([\w-]+)(\?)?/g,
|
|
118
|
-
(_, paramName, isOptional) => {
|
|
119
|
-
params.push({ paramName, isOptional: isOptional != null });
|
|
120
|
-
return isOptional ? "/?([^\\/]+)?" : "/([^\\/]+)";
|
|
121
|
-
}
|
|
122
|
-
)}`;
|
|
123
|
-
if (path.endsWith("*")) {
|
|
124
|
-
params.push({ paramName: "*" });
|
|
125
|
-
regexpSource += path === "*" || path === "/*" ? "(.*)$" : "(?:\\/(.+)|\\/*)$";
|
|
126
|
-
} else if (end) {
|
|
127
|
-
regexpSource += "\\/*$";
|
|
128
|
-
} else if (path !== "" && path !== "/") {
|
|
129
|
-
regexpSource += "(?:(?=\\/|$))";
|
|
130
|
-
} else {
|
|
131
|
-
}
|
|
132
|
-
const matcher = new RegExp(regexpSource, caseSensitive ? void 0 : "i");
|
|
133
|
-
return [matcher, params];
|
|
134
|
-
}
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
function matchPathWith(path) {
|
|
138
|
-
return {
|
|
139
|
-
patterns: (patternsToMatch) => {
|
|
140
|
-
if (!path) return null;
|
|
141
|
-
for (const [key, pattern] of Object.entries(patternsToMatch)) {
|
|
142
|
-
const match = matchPath(key, path);
|
|
143
|
-
if (match) {
|
|
144
|
-
return pattern(match);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return null;
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
152
|
-
0 && (module.exports = {
|
|
153
|
-
matchPath,
|
|
154
|
-
matchPathWith
|
|
155
|
-
});
|
package/dist/matchPath.d.cts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
type _PathParam<Path extends string> = Path extends `${infer L}/${infer R}` ? _PathParam<L> | _PathParam<R> : Path extends `:${infer Param}` ? Param extends `${infer Optional}?` ? Optional : Param : never;
|
|
2
|
-
type PathParam<Path extends string> = Path extends '*' | '/*' ? '*' : Path extends `${infer Rest}/*` ? '*' | _PathParam<Rest> : _PathParam<Path>;
|
|
3
|
-
type ParamParseKey<Segment extends string> = [
|
|
4
|
-
PathParam<Segment>
|
|
5
|
-
] extends [never] ? string : PathParam<Segment>;
|
|
6
|
-
/** A PathPattern is used to match on some portion of a URL pathname. */
|
|
7
|
-
interface PathPattern<Path extends string = string> {
|
|
8
|
-
/**
|
|
9
|
-
* A string to match against a URL pathname. May contain `:id`-style segments
|
|
10
|
-
* to indicate placeholders for dynamic parameters. May also end with `/*` to
|
|
11
|
-
* indicate matching the rest of the URL pathname.
|
|
12
|
-
*/
|
|
13
|
-
path: Path;
|
|
14
|
-
/**
|
|
15
|
-
* Should be `true` if the static portions of the `path` should be matched in
|
|
16
|
-
* the same case.
|
|
17
|
-
*/
|
|
18
|
-
caseSensitive?: boolean;
|
|
19
|
-
/** Should be `true` if this pattern should match the entire URL pathname. */
|
|
20
|
-
end?: boolean;
|
|
21
|
-
}
|
|
22
|
-
/** The parameters that were parsed from the URL path. */
|
|
23
|
-
type Params<Key extends string = string> = {
|
|
24
|
-
readonly [key in Key]: string | undefined;
|
|
25
|
-
};
|
|
26
|
-
type PathMatchGlob = {
|
|
27
|
-
matchPath: <K extends ParamParseKey<Path>, Path extends string>(pattern: PathPattern<Path> | Path) => PathMatch<K> | null;
|
|
28
|
-
path: string;
|
|
29
|
-
};
|
|
30
|
-
/** A PathMatch contains info about how a PathPattern matched on a URL pathname. */
|
|
31
|
-
interface PathMatch<ParamKey extends string = string> {
|
|
32
|
-
/** The names and values of dynamic parameters in the URL. */
|
|
33
|
-
params: Params<ParamKey>;
|
|
34
|
-
/** The portion of the URL pathname that was matched. */
|
|
35
|
-
pathname: string;
|
|
36
|
-
/** The portion of the URL pathname that was matched before child routes. */
|
|
37
|
-
pathnameBase: string;
|
|
38
|
-
/** The pattern that was used to match. */
|
|
39
|
-
pattern: PathPattern;
|
|
40
|
-
glob: null | PathMatchGlob;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Performs pattern matching on a URL pathname and returns information about the
|
|
44
|
-
* match.
|
|
45
|
-
*
|
|
46
|
-
* @see https://reactrouter.com/utils/match-path
|
|
47
|
-
*/
|
|
48
|
-
declare function matchPath<ParamKey extends ParamParseKey<Path>, Path extends string>(pattern: PathPattern<Path> | Path, pathname: string): PathMatch<ParamKey> | null;
|
|
49
|
-
declare function matchPathWith(path: string | undefined | null): {
|
|
50
|
-
patterns: <R>(patterns: Record<string, (match: PathMatch) => R>) => R | null;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export { type ParamParseKey, type Params, type PathMatch, type PathMatchGlob, type PathParam, type PathPattern, matchPath, matchPathWith };
|
package/dist/matchPath.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
type _PathParam<Path extends string> = Path extends `${infer L}/${infer R}` ? _PathParam<L> | _PathParam<R> : Path extends `:${infer Param}` ? Param extends `${infer Optional}?` ? Optional : Param : never;
|
|
2
|
-
type PathParam<Path extends string> = Path extends '*' | '/*' ? '*' : Path extends `${infer Rest}/*` ? '*' | _PathParam<Rest> : _PathParam<Path>;
|
|
3
|
-
type ParamParseKey<Segment extends string> = [
|
|
4
|
-
PathParam<Segment>
|
|
5
|
-
] extends [never] ? string : PathParam<Segment>;
|
|
6
|
-
/** A PathPattern is used to match on some portion of a URL pathname. */
|
|
7
|
-
interface PathPattern<Path extends string = string> {
|
|
8
|
-
/**
|
|
9
|
-
* A string to match against a URL pathname. May contain `:id`-style segments
|
|
10
|
-
* to indicate placeholders for dynamic parameters. May also end with `/*` to
|
|
11
|
-
* indicate matching the rest of the URL pathname.
|
|
12
|
-
*/
|
|
13
|
-
path: Path;
|
|
14
|
-
/**
|
|
15
|
-
* Should be `true` if the static portions of the `path` should be matched in
|
|
16
|
-
* the same case.
|
|
17
|
-
*/
|
|
18
|
-
caseSensitive?: boolean;
|
|
19
|
-
/** Should be `true` if this pattern should match the entire URL pathname. */
|
|
20
|
-
end?: boolean;
|
|
21
|
-
}
|
|
22
|
-
/** The parameters that were parsed from the URL path. */
|
|
23
|
-
type Params<Key extends string = string> = {
|
|
24
|
-
readonly [key in Key]: string | undefined;
|
|
25
|
-
};
|
|
26
|
-
type PathMatchGlob = {
|
|
27
|
-
matchPath: <K extends ParamParseKey<Path>, Path extends string>(pattern: PathPattern<Path> | Path) => PathMatch<K> | null;
|
|
28
|
-
path: string;
|
|
29
|
-
};
|
|
30
|
-
/** A PathMatch contains info about how a PathPattern matched on a URL pathname. */
|
|
31
|
-
interface PathMatch<ParamKey extends string = string> {
|
|
32
|
-
/** The names and values of dynamic parameters in the URL. */
|
|
33
|
-
params: Params<ParamKey>;
|
|
34
|
-
/** The portion of the URL pathname that was matched. */
|
|
35
|
-
pathname: string;
|
|
36
|
-
/** The portion of the URL pathname that was matched before child routes. */
|
|
37
|
-
pathnameBase: string;
|
|
38
|
-
/** The pattern that was used to match. */
|
|
39
|
-
pattern: PathPattern;
|
|
40
|
-
glob: null | PathMatchGlob;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Performs pattern matching on a URL pathname and returns information about the
|
|
44
|
-
* match.
|
|
45
|
-
*
|
|
46
|
-
* @see https://reactrouter.com/utils/match-path
|
|
47
|
-
*/
|
|
48
|
-
declare function matchPath<ParamKey extends ParamParseKey<Path>, Path extends string>(pattern: PathPattern<Path> | Path, pathname: string): PathMatch<ParamKey> | null;
|
|
49
|
-
declare function matchPathWith(path: string | undefined | null): {
|
|
50
|
-
patterns: <R>(patterns: Record<string, (match: PathMatch) => R>) => R | null;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export { type ParamParseKey, type Params, type PathMatch, type PathMatchGlob, type PathParam, type PathPattern, matchPath, matchPathWith };
|
package/dist/matchPath.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
fastCache
|
|
3
|
-
} from "./chunk-DX2524CZ.js";
|
|
4
|
-
import "./chunk-6FBIEPWU.js";
|
|
5
|
-
import "./chunk-DBOWTYR4.js";
|
|
6
|
-
import "./chunk-II4R3VVX.js";
|
|
7
|
-
import "./chunk-C2SVCIWE.js";
|
|
8
|
-
import "./chunk-JF2MDHOJ.js";
|
|
9
|
-
|
|
10
|
-
// src/matchPath.ts
|
|
11
|
-
function matchPath(pattern, pathname) {
|
|
12
|
-
if (typeof pattern === "string") {
|
|
13
|
-
pattern = { path: pattern, caseSensitive: false, end: true };
|
|
14
|
-
}
|
|
15
|
-
const normalizedPathname = pathname === "" ? "" : pathname.replace(/^\/*/, "/");
|
|
16
|
-
const [matcher, compiledParams] = compilePath(
|
|
17
|
-
pattern.path,
|
|
18
|
-
pattern.caseSensitive,
|
|
19
|
-
pattern.end
|
|
20
|
-
);
|
|
21
|
-
const match = normalizedPathname.match(matcher);
|
|
22
|
-
if (!match) return null;
|
|
23
|
-
const matchedPathname = match[0];
|
|
24
|
-
let pathnameBase = matchedPathname.replace(/(.)\/+$/, "$1");
|
|
25
|
-
const captureGroups = match.slice(1);
|
|
26
|
-
const params = compiledParams.reduce(
|
|
27
|
-
(memo, { paramName, isOptional }, index) => {
|
|
28
|
-
if (paramName === "*") {
|
|
29
|
-
const splatValue = captureGroups[index] || "";
|
|
30
|
-
pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\/+$/, "$1");
|
|
31
|
-
}
|
|
32
|
-
const value = captureGroups[index];
|
|
33
|
-
if (isOptional && !value) {
|
|
34
|
-
memo[paramName] = void 0;
|
|
35
|
-
} else {
|
|
36
|
-
memo[paramName] = (value || "").replace(/%2F/g, "/");
|
|
37
|
-
}
|
|
38
|
-
return memo;
|
|
39
|
-
},
|
|
40
|
-
{}
|
|
41
|
-
);
|
|
42
|
-
const glob = params["*"];
|
|
43
|
-
const globPath = glob && `/${glob}`;
|
|
44
|
-
return {
|
|
45
|
-
params,
|
|
46
|
-
pathname: matchedPathname,
|
|
47
|
-
pathnameBase,
|
|
48
|
-
pattern,
|
|
49
|
-
glob: globPath ? {
|
|
50
|
-
matchPath: (subPattern) => matchPath(subPattern, globPath),
|
|
51
|
-
path: globPath
|
|
52
|
-
} : null
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function warning(condition, message) {
|
|
56
|
-
if (process.env.NODE_ENV === "development" && !condition) {
|
|
57
|
-
console.warn(message);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
var cache = fastCache({ maxCacheSize: 5e3 });
|
|
61
|
-
function compilePath(path, caseSensitive = false, end = true) {
|
|
62
|
-
return cache.getOrInsert(
|
|
63
|
-
`${path}-${caseSensitive ? "s" : "i"}${end ? "e" : ""}`,
|
|
64
|
-
() => {
|
|
65
|
-
warning(
|
|
66
|
-
path === "*" || !path.endsWith("*") || path.endsWith("/*"),
|
|
67
|
-
`Route path "${path}" will be treated as if it were "${path.replace(/\*$/, "/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${path.replace(/\*$/, "/*")}".`
|
|
68
|
-
);
|
|
69
|
-
const params = [];
|
|
70
|
-
let regexpSource = `^${path.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace(
|
|
71
|
-
/\/:([\w-]+)(\?)?/g,
|
|
72
|
-
(_, paramName, isOptional) => {
|
|
73
|
-
params.push({ paramName, isOptional: isOptional != null });
|
|
74
|
-
return isOptional ? "/?([^\\/]+)?" : "/([^\\/]+)";
|
|
75
|
-
}
|
|
76
|
-
)}`;
|
|
77
|
-
if (path.endsWith("*")) {
|
|
78
|
-
params.push({ paramName: "*" });
|
|
79
|
-
regexpSource += path === "*" || path === "/*" ? "(.*)$" : "(?:\\/(.+)|\\/*)$";
|
|
80
|
-
} else if (end) {
|
|
81
|
-
regexpSource += "\\/*$";
|
|
82
|
-
} else if (path !== "" && path !== "/") {
|
|
83
|
-
regexpSource += "(?:(?=\\/|$))";
|
|
84
|
-
} else {
|
|
85
|
-
}
|
|
86
|
-
const matcher = new RegExp(regexpSource, caseSensitive ? void 0 : "i");
|
|
87
|
-
return [matcher, params];
|
|
88
|
-
}
|
|
89
|
-
);
|
|
90
|
-
}
|
|
91
|
-
function matchPathWith(path) {
|
|
92
|
-
return {
|
|
93
|
-
patterns: (patternsToMatch) => {
|
|
94
|
-
if (!path) return null;
|
|
95
|
-
for (const [key, pattern] of Object.entries(patternsToMatch)) {
|
|
96
|
-
const match = matchPath(key, path);
|
|
97
|
-
if (match) {
|
|
98
|
-
return pattern(match);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
export {
|
|
106
|
-
matchPath,
|
|
107
|
-
matchPathWith
|
|
108
|
-
};
|
package/dist/mathUtils.cjs
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/mathUtils.ts
|
|
21
|
-
var mathUtils_exports = {};
|
|
22
|
-
__export(mathUtils_exports, {
|
|
23
|
-
ceilToStep: () => ceilToStep,
|
|
24
|
-
clamp: () => clamp,
|
|
25
|
-
clampMax: () => clampMax,
|
|
26
|
-
clampMin: () => clampMin,
|
|
27
|
-
clampRange: () => clampRange,
|
|
28
|
-
fixFloatingPointNumber: () => fixFloatingPointNumber,
|
|
29
|
-
floorToStep: () => floorToStep,
|
|
30
|
-
round: () => round,
|
|
31
|
-
roundToStep: () => roundToStep
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(mathUtils_exports);
|
|
34
|
-
function clampMax(value, max) {
|
|
35
|
-
return value > max ? max : value;
|
|
36
|
-
}
|
|
37
|
-
function clampMin(value, min) {
|
|
38
|
-
return value < min ? min : value;
|
|
39
|
-
}
|
|
40
|
-
function clampRange(num, v1, v2) {
|
|
41
|
-
if (v2 > v1) {
|
|
42
|
-
return clamp(num, v1, v2);
|
|
43
|
-
}
|
|
44
|
-
return clamp(num, v2, v1);
|
|
45
|
-
}
|
|
46
|
-
function clamp(num, min, max) {
|
|
47
|
-
return num > max ? max : num < min ? min : num;
|
|
48
|
-
}
|
|
49
|
-
function fixFloatingPointNumber(value) {
|
|
50
|
-
return Number(value.toPrecision(15));
|
|
51
|
-
}
|
|
52
|
-
function roundToStep(value, step, offset = 0) {
|
|
53
|
-
const inv = 1 / step;
|
|
54
|
-
const snapped = Math.round((value - offset) * inv) / inv + offset;
|
|
55
|
-
return Number(snapped.toFixed(12));
|
|
56
|
-
}
|
|
57
|
-
function floorToStep(value, step, offset = 0) {
|
|
58
|
-
const inv = 1 / step;
|
|
59
|
-
const snapped = Math.floor((value - offset) * inv) / inv + offset;
|
|
60
|
-
return Number(snapped.toFixed(12));
|
|
61
|
-
}
|
|
62
|
-
function ceilToStep(value, step, offset = 0) {
|
|
63
|
-
const inv = 1 / step;
|
|
64
|
-
const snapped = Math.ceil((value - offset) * inv) / inv + offset;
|
|
65
|
-
return Number(snapped.toFixed(12));
|
|
66
|
-
}
|
|
67
|
-
function round(num, precision) {
|
|
68
|
-
return Math.round(num * 10 ** precision) / 10 ** precision;
|
|
69
|
-
}
|
|
70
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
-
0 && (module.exports = {
|
|
72
|
-
ceilToStep,
|
|
73
|
-
clamp,
|
|
74
|
-
clampMax,
|
|
75
|
-
clampMin,
|
|
76
|
-
clampRange,
|
|
77
|
-
fixFloatingPointNumber,
|
|
78
|
-
floorToStep,
|
|
79
|
-
round,
|
|
80
|
-
roundToStep
|
|
81
|
-
});
|
package/dist/mathUtils.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
declare function clampMax(value: number, max: number): number;
|
|
2
|
-
declare function clampMin(value: number, min: number): number;
|
|
3
|
-
declare function clampRange(num: number, v1: number, v2: number): number;
|
|
4
|
-
declare function clamp(num: number, min: number, max: number): number;
|
|
5
|
-
declare function fixFloatingPointNumber(value: number): number;
|
|
6
|
-
/**
|
|
7
|
-
* Rounds a number to the nearest multiple of the specified step value.
|
|
8
|
-
*
|
|
9
|
-
* @param value - The number to round
|
|
10
|
-
* @param step - The step size to round to
|
|
11
|
-
* @param offset - Optional offset to shift the rounding grid
|
|
12
|
-
* @returns The rounded value
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* roundToStep(23, 5) // 25 (nearest multiple of 5)
|
|
16
|
-
*/
|
|
17
|
-
declare function roundToStep(value: number, step: number, offset?: number): number;
|
|
18
|
-
/**
|
|
19
|
-
* Floors a number down to the nearest multiple of the specified step value.
|
|
20
|
-
*
|
|
21
|
-
* @param value - The number to floor
|
|
22
|
-
* @param step - The step size to floor to
|
|
23
|
-
* @param offset - Optional offset to shift the flooring grid
|
|
24
|
-
* @returns The floored value
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* floorToStep(23, 5) // 20 (largest multiple of 5 ≤ 23)
|
|
28
|
-
*/
|
|
29
|
-
declare function floorToStep(value: number, step: number, offset?: number): number;
|
|
30
|
-
/**
|
|
31
|
-
* Ceils a number up to the nearest multiple of the specified step value.
|
|
32
|
-
*
|
|
33
|
-
* @param value - The number to ceil
|
|
34
|
-
* @param step - The step size to ceil to
|
|
35
|
-
* @param offset - Optional offset to shift the ceiling grid
|
|
36
|
-
* @returns The ceiled value
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ceilToStep(23, 5) // 25 (smallest multiple of 5 ≥ 23)
|
|
40
|
-
*/
|
|
41
|
-
declare function ceilToStep(value: number, step: number, offset?: number): number;
|
|
42
|
-
/**
|
|
43
|
-
* Rounds a number to the specified number of decimal places.
|
|
44
|
-
*
|
|
45
|
-
* @param num - The number to round
|
|
46
|
-
* @param precision - Number of decimal places
|
|
47
|
-
* @returns The rounded number
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
* round(3.14159, 2) // 3.14
|
|
51
|
-
*/
|
|
52
|
-
declare function round(num: number, precision: number): number;
|
|
53
|
-
|
|
54
|
-
export { ceilToStep, clamp, clampMax, clampMin, clampRange, fixFloatingPointNumber, floorToStep, round, roundToStep };
|
package/dist/mathUtils.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ceilToStep,
|
|
3
|
-
clamp,
|
|
4
|
-
clampMax,
|
|
5
|
-
clampMin,
|
|
6
|
-
clampRange,
|
|
7
|
-
fixFloatingPointNumber,
|
|
8
|
-
floorToStep,
|
|
9
|
-
round,
|
|
10
|
-
roundToStep
|
|
11
|
-
} from "./chunk-DBOWTYR4.js";
|
|
12
|
-
export {
|
|
13
|
-
ceilToStep,
|
|
14
|
-
clamp,
|
|
15
|
-
clampMax,
|
|
16
|
-
clampMin,
|
|
17
|
-
clampRange,
|
|
18
|
-
fixFloatingPointNumber,
|
|
19
|
-
floorToStep,
|
|
20
|
-
round,
|
|
21
|
-
roundToStep
|
|
22
|
-
};
|
package/dist/mutationUtils.cjs
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/mutationUtils.ts
|
|
21
|
-
var mutationUtils_exports = {};
|
|
22
|
-
__export(mutationUtils_exports, {
|
|
23
|
-
getArrayMethodsFromProduce: () => getArrayMethodsFromProduce,
|
|
24
|
-
updateObject: () => updateObject
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(mutationUtils_exports);
|
|
27
|
-
|
|
28
|
-
// src/deepEqual.ts
|
|
29
|
-
var has = Object.prototype.hasOwnProperty;
|
|
30
|
-
function find(iter, tar, maxDepth) {
|
|
31
|
-
for (const key of iter.keys()) {
|
|
32
|
-
if (deepEqual(key, tar, maxDepth)) return key;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
function deepEqual(foo, bar, maxDepth = 20) {
|
|
36
|
-
let ctor, len, tmp;
|
|
37
|
-
if (foo === bar) return true;
|
|
38
|
-
if (maxDepth && maxDepth <= 0) return false;
|
|
39
|
-
if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
|
|
40
|
-
if (ctor === Date)
|
|
41
|
-
return deepEqual(foo.getTime(), bar.getTime(), maxDepth - 1);
|
|
42
|
-
if (ctor === RegExp) return foo.toString() === bar.toString();
|
|
43
|
-
if (ctor === Array) {
|
|
44
|
-
if ((len = foo.length) === bar.length) {
|
|
45
|
-
while (len-- && deepEqual(foo[len], bar[len], maxDepth - 1)) ;
|
|
46
|
-
}
|
|
47
|
-
return len === -1;
|
|
48
|
-
}
|
|
49
|
-
if (ctor === Set) {
|
|
50
|
-
if (foo.size !== bar.size) {
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
for (len of foo) {
|
|
54
|
-
tmp = len;
|
|
55
|
-
if (tmp && typeof tmp === "object") {
|
|
56
|
-
tmp = find(bar, tmp, maxDepth - 1);
|
|
57
|
-
if (!tmp) return false;
|
|
58
|
-
}
|
|
59
|
-
if (!bar.has(tmp)) return false;
|
|
60
|
-
}
|
|
61
|
-
return true;
|
|
62
|
-
}
|
|
63
|
-
if (ctor === Map) {
|
|
64
|
-
if (foo.size !== bar.size) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
for (len of foo) {
|
|
68
|
-
tmp = len[0];
|
|
69
|
-
if (tmp && typeof tmp === "object") {
|
|
70
|
-
tmp = find(bar, tmp, maxDepth - 1);
|
|
71
|
-
if (!tmp) return false;
|
|
72
|
-
}
|
|
73
|
-
if (!deepEqual(len[1], bar.get(tmp), maxDepth - 1)) {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
if (!ctor || typeof foo === "object") {
|
|
80
|
-
len = 0;
|
|
81
|
-
for (ctor in foo) {
|
|
82
|
-
if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
|
|
83
|
-
if (!(ctor in bar) || !deepEqual(foo[ctor], bar[ctor], maxDepth - 1))
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
return Object.keys(bar).length === len;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return foo !== foo && bar !== bar;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// src/keepPrevIfUnchanged.ts
|
|
93
|
-
function keepPrevIfUnchanged({
|
|
94
|
-
prev,
|
|
95
|
-
newValue,
|
|
96
|
-
equalityFn = deepEqual
|
|
97
|
-
}) {
|
|
98
|
-
return equalityFn(prev, newValue) ? prev : newValue;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// src/typeGuards.ts
|
|
102
|
-
function isFunction(value) {
|
|
103
|
-
return typeof value === "function";
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// src/mutationUtils.ts
|
|
107
|
-
function updateObject(object, updates) {
|
|
108
|
-
if (!object || typeof object !== "object") {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
for (const key of Object.keys(updates)) {
|
|
112
|
-
const value = updates[key];
|
|
113
|
-
if (value !== void 0) {
|
|
114
|
-
object[key] = keepPrevIfUnchanged({
|
|
115
|
-
prev: object[key],
|
|
116
|
-
newValue: value
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
function getArrayMethodsFromProduce(produceFn, getItemId) {
|
|
122
|
-
return {
|
|
123
|
-
add: (item) => produceFn((draft) => {
|
|
124
|
-
draft.push(item);
|
|
125
|
-
}),
|
|
126
|
-
remove: (id) => produceFn((draft) => {
|
|
127
|
-
const index = draft.findIndex((item) => getItemId(item) === id);
|
|
128
|
-
if (index !== -1) {
|
|
129
|
-
draft.splice(index, 1);
|
|
130
|
-
}
|
|
131
|
-
}),
|
|
132
|
-
update: (id, updateItem) => produceFn((draft) => {
|
|
133
|
-
const index = draft.findIndex((item2) => getItemId(item2) === id);
|
|
134
|
-
const item = draft[index];
|
|
135
|
-
if (!item) {
|
|
136
|
-
throw new Error(`Item with id ${id} not found`);
|
|
137
|
-
}
|
|
138
|
-
if (isFunction(updateItem)) {
|
|
139
|
-
const updatedItem = updateItem(item);
|
|
140
|
-
if (updatedItem) {
|
|
141
|
-
draft[index] = updatedItem;
|
|
142
|
-
}
|
|
143
|
-
} else {
|
|
144
|
-
updateObject(item, updateItem);
|
|
145
|
-
}
|
|
146
|
-
})
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
150
|
-
0 && (module.exports = {
|
|
151
|
-
getArrayMethodsFromProduce,
|
|
152
|
-
updateObject
|
|
153
|
-
});
|