@ls-stack/utils 3.65.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 -242
- 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/keyedMap.cjs +0 -224
- package/dist/keyedMap.d.cts +0 -75
- package/dist/keyedMap.d.ts +0 -75
- package/dist/keyedMap.js +0 -145
- package/dist/keyedSet.cjs +0 -205
- package/dist/keyedSet.d.cts +0 -76
- package/dist/keyedSet.d.ts +0 -76
- package/dist/keyedSet.js +0 -126
- 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
|
@@ -1,193 +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/createThrottleController.ts
|
|
21
|
-
var createThrottleController_exports = {};
|
|
22
|
-
__export(createThrottleController_exports, {
|
|
23
|
-
createThrottleController: () => createThrottleController
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(createThrottleController_exports);
|
|
26
|
-
|
|
27
|
-
// src/typeGuards.ts
|
|
28
|
-
function isFunction(value) {
|
|
29
|
-
return typeof value === "function";
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// src/assertions.ts
|
|
33
|
-
var isFunction2 = isFunction;
|
|
34
|
-
|
|
35
|
-
// src/enhancedMap.ts
|
|
36
|
-
var enhancedMapReject = Symbol();
|
|
37
|
-
var EnhancedMap = class _EnhancedMap extends Map {
|
|
38
|
-
find(predicate) {
|
|
39
|
-
for (const [key, value] of this) {
|
|
40
|
-
if (predicate(value, key)) {
|
|
41
|
-
return { key, value };
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return void 0;
|
|
45
|
-
}
|
|
46
|
-
setMultiple(...values) {
|
|
47
|
-
if (Array.isArray(values[0])) {
|
|
48
|
-
for (const [key, value] of values) {
|
|
49
|
-
this.set(key, value);
|
|
50
|
-
}
|
|
51
|
-
} else {
|
|
52
|
-
for (const [key, value] of Object.entries(values[0])) {
|
|
53
|
-
this.set(key, value);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return this;
|
|
57
|
-
}
|
|
58
|
-
getOrThrow(key) {
|
|
59
|
-
const value = this.get(key);
|
|
60
|
-
if (value === void 0) {
|
|
61
|
-
throw new Error(`Key ${key} not found in EnhancedMap`);
|
|
62
|
-
}
|
|
63
|
-
return value;
|
|
64
|
-
}
|
|
65
|
-
getOrInsert(key, fallback) {
|
|
66
|
-
if (!this.has(key)) {
|
|
67
|
-
this.set(key, fallback());
|
|
68
|
-
}
|
|
69
|
-
return this.getOrThrow(key);
|
|
70
|
-
}
|
|
71
|
-
toFilteredValues(predicate) {
|
|
72
|
-
const values = [];
|
|
73
|
-
for (const [key, value] of this) {
|
|
74
|
-
if (predicate(value, key)) {
|
|
75
|
-
values.push(value);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return values;
|
|
79
|
-
}
|
|
80
|
-
toMap(mapFunction) {
|
|
81
|
-
const values = [];
|
|
82
|
-
for (const [key, value] of this) {
|
|
83
|
-
const result = mapFunction(value, key, enhancedMapReject);
|
|
84
|
-
if (result !== enhancedMapReject) {
|
|
85
|
-
values.push(result);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return values;
|
|
89
|
-
}
|
|
90
|
-
toObjMap(mapFunction) {
|
|
91
|
-
const values = {};
|
|
92
|
-
for (const [key, value] of this) {
|
|
93
|
-
const result = mapFunction(value, key);
|
|
94
|
-
if (result) {
|
|
95
|
-
values[result[0]] = result[1];
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return values;
|
|
99
|
-
}
|
|
100
|
-
toValues() {
|
|
101
|
-
return [...this.values()];
|
|
102
|
-
}
|
|
103
|
-
toKeys() {
|
|
104
|
-
return [...this.keys()];
|
|
105
|
-
}
|
|
106
|
-
static from(array, mapFunction) {
|
|
107
|
-
const map = new _EnhancedMap();
|
|
108
|
-
if (!array) return map;
|
|
109
|
-
const isFn = isFunction2(mapFunction);
|
|
110
|
-
for (const item of array) {
|
|
111
|
-
if (isFn) {
|
|
112
|
-
const result = mapFunction(item);
|
|
113
|
-
if (result) {
|
|
114
|
-
map.set(result[0], result[1]);
|
|
115
|
-
}
|
|
116
|
-
} else {
|
|
117
|
-
const key = item[mapFunction];
|
|
118
|
-
if (key !== void 0) {
|
|
119
|
-
map.set(key, item);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return map;
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
// src/time.ts
|
|
128
|
-
var MINUTE_AS_MS = 60 * 1e3;
|
|
129
|
-
var HOUR_AS_MS = 60 * MINUTE_AS_MS;
|
|
130
|
-
var DAY_AS_MS = 24 * HOUR_AS_MS;
|
|
131
|
-
var WEEK_AS_MS = 7 * DAY_AS_MS;
|
|
132
|
-
var MONTH_AS_MS = 30 * DAY_AS_MS;
|
|
133
|
-
var YEAR_AS_MS = 365 * DAY_AS_MS;
|
|
134
|
-
var HOUR_AS_SECS = 60 * 60;
|
|
135
|
-
var DAY_AS_SECS = 24 * HOUR_AS_SECS;
|
|
136
|
-
var WEEK_AS_SECS = 7 * DAY_AS_SECS;
|
|
137
|
-
var MONTH_AS_SECS = 30 * DAY_AS_SECS;
|
|
138
|
-
var YEAR_AS_SECS = 365 * DAY_AS_SECS;
|
|
139
|
-
function durationObjToMs(durationObj) {
|
|
140
|
-
return (durationObj.hours ?? 0) * HOUR_AS_MS + (durationObj.minutes ?? 0) * MINUTE_AS_MS + (durationObj.seconds ?? 0) * 1e3 + (durationObj.ms ?? 0) + (durationObj.days ?? 0) * DAY_AS_MS;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
// src/createThrottleController.ts
|
|
144
|
-
function createThrottleController({
|
|
145
|
-
maxCalls,
|
|
146
|
-
per,
|
|
147
|
-
cleanupCheckSecsInterval = 60 * 30
|
|
148
|
-
}) {
|
|
149
|
-
const msInterval = durationObjToMs(per);
|
|
150
|
-
if (msInterval === 0) {
|
|
151
|
-
throw new Error("Invalid interval");
|
|
152
|
-
}
|
|
153
|
-
let lastCleanupCheck = Date.now();
|
|
154
|
-
const windows = new EnhancedMap();
|
|
155
|
-
function cleanup(checkTime) {
|
|
156
|
-
const shouldCleanup = checkTime - lastCleanupCheck > cleanupCheckSecsInterval * 1e3;
|
|
157
|
-
if (!shouldCleanup) return;
|
|
158
|
-
setTimeout(() => {
|
|
159
|
-
const now = Date.now();
|
|
160
|
-
lastCleanupCheck = now;
|
|
161
|
-
for (const [key, value] of windows) {
|
|
162
|
-
if (now - value.windowStartTime > msInterval) {
|
|
163
|
-
windows.delete(key);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}, 2);
|
|
167
|
-
}
|
|
168
|
-
return {
|
|
169
|
-
shouldSkip(callId = "") {
|
|
170
|
-
const now = Date.now();
|
|
171
|
-
const serializedCallId = String(callId);
|
|
172
|
-
const window = windows.getOrInsert(serializedCallId, () => ({
|
|
173
|
-
windowStartTime: now,
|
|
174
|
-
calls: 0
|
|
175
|
-
}));
|
|
176
|
-
if (now - window.windowStartTime > msInterval) {
|
|
177
|
-
window.windowStartTime = now;
|
|
178
|
-
window.calls = 0;
|
|
179
|
-
}
|
|
180
|
-
window.calls++;
|
|
181
|
-
cleanup(now);
|
|
182
|
-
if (window.calls > maxCalls) {
|
|
183
|
-
return true;
|
|
184
|
-
}
|
|
185
|
-
return false;
|
|
186
|
-
},
|
|
187
|
-
_currentWindows: windows
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
191
|
-
0 && (module.exports = {
|
|
192
|
-
createThrottleController
|
|
193
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DurationObj } from './time.cjs';
|
|
2
|
-
|
|
3
|
-
type Options = {
|
|
4
|
-
maxCalls: number;
|
|
5
|
-
per: DurationObj;
|
|
6
|
-
cleanupCheckSecsInterval?: number;
|
|
7
|
-
};
|
|
8
|
-
type ThrottleController = {
|
|
9
|
-
shouldSkip: (callId?: string | number | (string | number)[]) => boolean;
|
|
10
|
-
};
|
|
11
|
-
declare function createThrottleController({ maxCalls, per, cleanupCheckSecsInterval, }: Options): ThrottleController;
|
|
12
|
-
|
|
13
|
-
export { createThrottleController };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DurationObj } from './time.js';
|
|
2
|
-
|
|
3
|
-
type Options = {
|
|
4
|
-
maxCalls: number;
|
|
5
|
-
per: DurationObj;
|
|
6
|
-
cleanupCheckSecsInterval?: number;
|
|
7
|
-
};
|
|
8
|
-
type ThrottleController = {
|
|
9
|
-
shouldSkip: (callId?: string | number | (string | number)[]) => boolean;
|
|
10
|
-
};
|
|
11
|
-
declare function createThrottleController({ maxCalls, per, cleanupCheckSecsInterval, }: Options): ThrottleController;
|
|
12
|
-
|
|
13
|
-
export { createThrottleController };
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EnhancedMap
|
|
3
|
-
} from "./chunk-7CQPOM5I.js";
|
|
4
|
-
import {
|
|
5
|
-
durationObjToMs
|
|
6
|
-
} from "./chunk-6FBIEPWU.js";
|
|
7
|
-
import "./chunk-DBOWTYR4.js";
|
|
8
|
-
import "./chunk-II4R3VVX.js";
|
|
9
|
-
import "./chunk-C2SVCIWE.js";
|
|
10
|
-
import "./chunk-JF2MDHOJ.js";
|
|
11
|
-
|
|
12
|
-
// src/createThrottleController.ts
|
|
13
|
-
function createThrottleController({
|
|
14
|
-
maxCalls,
|
|
15
|
-
per,
|
|
16
|
-
cleanupCheckSecsInterval = 60 * 30
|
|
17
|
-
}) {
|
|
18
|
-
const msInterval = durationObjToMs(per);
|
|
19
|
-
if (msInterval === 0) {
|
|
20
|
-
throw new Error("Invalid interval");
|
|
21
|
-
}
|
|
22
|
-
let lastCleanupCheck = Date.now();
|
|
23
|
-
const windows = new EnhancedMap();
|
|
24
|
-
function cleanup(checkTime) {
|
|
25
|
-
const shouldCleanup = checkTime - lastCleanupCheck > cleanupCheckSecsInterval * 1e3;
|
|
26
|
-
if (!shouldCleanup) return;
|
|
27
|
-
setTimeout(() => {
|
|
28
|
-
const now = Date.now();
|
|
29
|
-
lastCleanupCheck = now;
|
|
30
|
-
for (const [key, value] of windows) {
|
|
31
|
-
if (now - value.windowStartTime > msInterval) {
|
|
32
|
-
windows.delete(key);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}, 2);
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
shouldSkip(callId = "") {
|
|
39
|
-
const now = Date.now();
|
|
40
|
-
const serializedCallId = String(callId);
|
|
41
|
-
const window = windows.getOrInsert(serializedCallId, () => ({
|
|
42
|
-
windowStartTime: now,
|
|
43
|
-
calls: 0
|
|
44
|
-
}));
|
|
45
|
-
if (now - window.windowStartTime > msInterval) {
|
|
46
|
-
window.windowStartTime = now;
|
|
47
|
-
window.calls = 0;
|
|
48
|
-
}
|
|
49
|
-
window.calls++;
|
|
50
|
-
cleanup(now);
|
|
51
|
-
if (window.calls > maxCalls) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
},
|
|
56
|
-
_currentWindows: windows
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
export {
|
|
60
|
-
createThrottleController
|
|
61
|
-
};
|
package/dist/debounce.cjs
DELETED
|
@@ -1,157 +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/debounce.ts
|
|
21
|
-
var debounce_exports = {};
|
|
22
|
-
__export(debounce_exports, {
|
|
23
|
-
debounce: () => debounce,
|
|
24
|
-
isDebouncedFn: () => isDebouncedFn
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(debounce_exports);
|
|
27
|
-
function debounce(func, wait, options) {
|
|
28
|
-
let currentCallback = func;
|
|
29
|
-
let waitMs = wait;
|
|
30
|
-
let currentOptions = options;
|
|
31
|
-
let lastArgs;
|
|
32
|
-
let lastThis;
|
|
33
|
-
let maxWait;
|
|
34
|
-
let result;
|
|
35
|
-
let timerId;
|
|
36
|
-
let lastCallTime;
|
|
37
|
-
let lastInvokeTime = 0;
|
|
38
|
-
let leading = false;
|
|
39
|
-
let maxing = false;
|
|
40
|
-
let trailing = true;
|
|
41
|
-
function applyOptions() {
|
|
42
|
-
const opts = currentOptions;
|
|
43
|
-
leading = !!opts?.leading;
|
|
44
|
-
trailing = opts && "trailing" in opts ? !!opts.trailing : true;
|
|
45
|
-
maxing = !!(opts && "maxWait" in opts);
|
|
46
|
-
maxWait = maxing ? Math.max(opts?.maxWait ?? 0, waitMs) : void 0;
|
|
47
|
-
}
|
|
48
|
-
applyOptions();
|
|
49
|
-
function invokeFunc(time) {
|
|
50
|
-
const args = lastArgs;
|
|
51
|
-
const thisArg = lastThis;
|
|
52
|
-
lastArgs = lastThis = void 0;
|
|
53
|
-
lastInvokeTime = time;
|
|
54
|
-
result = currentCallback.apply(thisArg, args);
|
|
55
|
-
return result;
|
|
56
|
-
}
|
|
57
|
-
function leadingEdge(time) {
|
|
58
|
-
lastInvokeTime = time;
|
|
59
|
-
timerId = setTimeout(timerExpired, waitMs);
|
|
60
|
-
return leading ? invokeFunc(time) : result;
|
|
61
|
-
}
|
|
62
|
-
function remainingWait(time) {
|
|
63
|
-
const timeSinceLastCall = time - (lastCallTime ?? 0);
|
|
64
|
-
const timeSinceLastInvoke = time - lastInvokeTime;
|
|
65
|
-
const timeWaiting = waitMs - timeSinceLastCall;
|
|
66
|
-
return maxing ? Math.min(timeWaiting, (maxWait ?? 0) - timeSinceLastInvoke) : timeWaiting;
|
|
67
|
-
}
|
|
68
|
-
function shouldInvoke(time) {
|
|
69
|
-
const timeSinceLastCall = time - (lastCallTime ?? 0);
|
|
70
|
-
const timeSinceLastInvoke = time - lastInvokeTime;
|
|
71
|
-
return lastCallTime === void 0 || timeSinceLastCall >= waitMs || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= (maxWait ?? 0);
|
|
72
|
-
}
|
|
73
|
-
function timerExpired() {
|
|
74
|
-
const time = Date.now();
|
|
75
|
-
if (shouldInvoke(time)) {
|
|
76
|
-
return trailingEdge(time);
|
|
77
|
-
}
|
|
78
|
-
timerId = setTimeout(timerExpired, remainingWait(time));
|
|
79
|
-
}
|
|
80
|
-
function trailingEdge(time) {
|
|
81
|
-
timerId = void 0;
|
|
82
|
-
if (trailing && lastArgs) {
|
|
83
|
-
return invokeFunc(time);
|
|
84
|
-
}
|
|
85
|
-
lastArgs = lastThis = void 0;
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
function cancel() {
|
|
89
|
-
if (timerId !== void 0) {
|
|
90
|
-
clearTimeout(timerId);
|
|
91
|
-
}
|
|
92
|
-
lastInvokeTime = 0;
|
|
93
|
-
lastArgs = lastCallTime = lastThis = timerId = void 0;
|
|
94
|
-
}
|
|
95
|
-
function flush() {
|
|
96
|
-
return timerId === void 0 ? result : trailingEdge(Date.now());
|
|
97
|
-
}
|
|
98
|
-
function pending() {
|
|
99
|
-
return timerId !== void 0;
|
|
100
|
-
}
|
|
101
|
-
function updateCb(callback) {
|
|
102
|
-
currentCallback = callback;
|
|
103
|
-
}
|
|
104
|
-
function updateParams(newWait, newOptions) {
|
|
105
|
-
waitMs = newWait;
|
|
106
|
-
if (newOptions !== void 0) {
|
|
107
|
-
currentOptions = newOptions;
|
|
108
|
-
}
|
|
109
|
-
applyOptions();
|
|
110
|
-
if (timerId !== void 0) {
|
|
111
|
-
const time = Date.now();
|
|
112
|
-
const shouldRun = shouldInvoke(time);
|
|
113
|
-
clearTimeout(timerId);
|
|
114
|
-
if (shouldRun) {
|
|
115
|
-
timerId = setTimeout(timerExpired, 0);
|
|
116
|
-
} else {
|
|
117
|
-
const delay = remainingWait(time);
|
|
118
|
-
timerId = setTimeout(timerExpired, delay > 0 ? delay : 0);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
function debounced() {
|
|
123
|
-
const time = Date.now();
|
|
124
|
-
const isInvoking = shouldInvoke(time);
|
|
125
|
-
lastArgs = arguments;
|
|
126
|
-
lastThis = this;
|
|
127
|
-
lastCallTime = time;
|
|
128
|
-
if (isInvoking) {
|
|
129
|
-
if (timerId === void 0) {
|
|
130
|
-
return leadingEdge(lastCallTime);
|
|
131
|
-
}
|
|
132
|
-
if (maxing) {
|
|
133
|
-
clearTimeout(timerId);
|
|
134
|
-
timerId = setTimeout(timerExpired, waitMs);
|
|
135
|
-
return invokeFunc(lastCallTime);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (timerId === void 0) {
|
|
139
|
-
timerId = setTimeout(timerExpired, waitMs);
|
|
140
|
-
}
|
|
141
|
-
return result;
|
|
142
|
-
}
|
|
143
|
-
debounced.cancel = cancel;
|
|
144
|
-
debounced.flush = flush;
|
|
145
|
-
debounced.pending = pending;
|
|
146
|
-
debounced.updateCb = updateCb;
|
|
147
|
-
debounced.updateParams = updateParams;
|
|
148
|
-
return debounced;
|
|
149
|
-
}
|
|
150
|
-
function isDebouncedFn(fn) {
|
|
151
|
-
return typeof fn === "function" && "cancel" in fn && typeof fn.cancel === "function" && "flush" in fn && typeof fn.flush === "function" && "pending" in fn && typeof fn.pending === "function" && "updateCb" in fn && typeof fn.updateCb === "function" && "updateParams" in fn && typeof fn.updateParams === "function";
|
|
152
|
-
}
|
|
153
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
154
|
-
0 && (module.exports = {
|
|
155
|
-
debounce,
|
|
156
|
-
isDebouncedFn
|
|
157
|
-
});
|
package/dist/debounce.d.cts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
type DebounceOptions = {
|
|
2
|
-
/** @see _.leading */
|
|
3
|
-
leading?: boolean;
|
|
4
|
-
/** @see _.maxWait */
|
|
5
|
-
maxWait?: number;
|
|
6
|
-
/** @see _.trailing */
|
|
7
|
-
trailing?: boolean;
|
|
8
|
-
};
|
|
9
|
-
interface DebouncedFunc<T extends (...args: any[]) => void> {
|
|
10
|
-
/**
|
|
11
|
-
* Call the original function, but applying the debounce rules.
|
|
12
|
-
*
|
|
13
|
-
* If the debounced function can be run immediately, this calls it and returns
|
|
14
|
-
* its return value.
|
|
15
|
-
*
|
|
16
|
-
* Otherwise, it returns the return value of the last invocation, or undefined
|
|
17
|
-
* if the debounced function was not invoked yet.
|
|
18
|
-
*/
|
|
19
|
-
(...args: Parameters<T>): ReturnType<T> | undefined;
|
|
20
|
-
/** Throw away any pending invocation of the debounced function. */
|
|
21
|
-
cancel: () => void;
|
|
22
|
-
/**
|
|
23
|
-
* If there is a pending invocation of the debounced function, invoke it
|
|
24
|
-
* immediately and return its return value.
|
|
25
|
-
*
|
|
26
|
-
* Otherwise, return the value from the last invocation, or undefined if the
|
|
27
|
-
* debounced function was never invoked.
|
|
28
|
-
*/
|
|
29
|
-
flush: () => ReturnType<T> | undefined;
|
|
30
|
-
/** Return true if the debounced function still has a scheduled run. */
|
|
31
|
-
pending: () => boolean;
|
|
32
|
-
/** Update the debounced function with a new callback. */
|
|
33
|
-
updateCb: (callback: T) => void;
|
|
34
|
-
/** Update the debounce wait and options while keeping scheduled runs. */
|
|
35
|
-
updateParams: (wait: number, options?: DebounceOptions) => void;
|
|
36
|
-
}
|
|
37
|
-
declare function debounce<T extends (...args: any[]) => void>(func: T, wait: number, options?: DebounceOptions): DebouncedFunc<T>;
|
|
38
|
-
declare function isDebouncedFn<T extends (...args: any[]) => void>(fn: T): fn is T & {
|
|
39
|
-
cancel: () => void;
|
|
40
|
-
flush: () => ReturnType<T> | undefined;
|
|
41
|
-
pending: () => boolean;
|
|
42
|
-
updateCb: (callback: T) => void;
|
|
43
|
-
updateParams: (wait: number, options?: DebounceOptions) => void;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export { type DebounceOptions, type DebouncedFunc, debounce, isDebouncedFn };
|
package/dist/debounce.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
type DebounceOptions = {
|
|
2
|
-
/** @see _.leading */
|
|
3
|
-
leading?: boolean;
|
|
4
|
-
/** @see _.maxWait */
|
|
5
|
-
maxWait?: number;
|
|
6
|
-
/** @see _.trailing */
|
|
7
|
-
trailing?: boolean;
|
|
8
|
-
};
|
|
9
|
-
interface DebouncedFunc<T extends (...args: any[]) => void> {
|
|
10
|
-
/**
|
|
11
|
-
* Call the original function, but applying the debounce rules.
|
|
12
|
-
*
|
|
13
|
-
* If the debounced function can be run immediately, this calls it and returns
|
|
14
|
-
* its return value.
|
|
15
|
-
*
|
|
16
|
-
* Otherwise, it returns the return value of the last invocation, or undefined
|
|
17
|
-
* if the debounced function was not invoked yet.
|
|
18
|
-
*/
|
|
19
|
-
(...args: Parameters<T>): ReturnType<T> | undefined;
|
|
20
|
-
/** Throw away any pending invocation of the debounced function. */
|
|
21
|
-
cancel: () => void;
|
|
22
|
-
/**
|
|
23
|
-
* If there is a pending invocation of the debounced function, invoke it
|
|
24
|
-
* immediately and return its return value.
|
|
25
|
-
*
|
|
26
|
-
* Otherwise, return the value from the last invocation, or undefined if the
|
|
27
|
-
* debounced function was never invoked.
|
|
28
|
-
*/
|
|
29
|
-
flush: () => ReturnType<T> | undefined;
|
|
30
|
-
/** Return true if the debounced function still has a scheduled run. */
|
|
31
|
-
pending: () => boolean;
|
|
32
|
-
/** Update the debounced function with a new callback. */
|
|
33
|
-
updateCb: (callback: T) => void;
|
|
34
|
-
/** Update the debounce wait and options while keeping scheduled runs. */
|
|
35
|
-
updateParams: (wait: number, options?: DebounceOptions) => void;
|
|
36
|
-
}
|
|
37
|
-
declare function debounce<T extends (...args: any[]) => void>(func: T, wait: number, options?: DebounceOptions): DebouncedFunc<T>;
|
|
38
|
-
declare function isDebouncedFn<T extends (...args: any[]) => void>(fn: T): fn is T & {
|
|
39
|
-
cancel: () => void;
|
|
40
|
-
flush: () => ReturnType<T> | undefined;
|
|
41
|
-
pending: () => boolean;
|
|
42
|
-
updateCb: (callback: T) => void;
|
|
43
|
-
updateParams: (wait: number, options?: DebounceOptions) => void;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export { type DebounceOptions, type DebouncedFunc, debounce, isDebouncedFn };
|
package/dist/debounce.js
DELETED
package/dist/dedent.cjs
DELETED
|
@@ -1,104 +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/dedent.ts
|
|
21
|
-
var dedent_exports = {};
|
|
22
|
-
__export(dedent_exports, {
|
|
23
|
-
dedent: () => dedent
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(dedent_exports);
|
|
26
|
-
var dedent = createDedent({
|
|
27
|
-
identInterpolations: true
|
|
28
|
-
});
|
|
29
|
-
function createDedent(options) {
|
|
30
|
-
d.withOptions = (newOptions) => createDedent({ ...options, ...newOptions });
|
|
31
|
-
return d;
|
|
32
|
-
function d(strings, ...values) {
|
|
33
|
-
const raw = typeof strings === "string" ? [strings] : strings.raw;
|
|
34
|
-
const {
|
|
35
|
-
escapeSpecialCharacters = Array.isArray(strings),
|
|
36
|
-
trimWhitespace = true,
|
|
37
|
-
identInterpolations = true,
|
|
38
|
-
showNullishOrFalseValues = false
|
|
39
|
-
} = options;
|
|
40
|
-
let result = "";
|
|
41
|
-
for (let i = 0; i < raw.length; i++) {
|
|
42
|
-
let next = raw[i];
|
|
43
|
-
if (escapeSpecialCharacters) {
|
|
44
|
-
next = next.replace(/\\\n[ \t]*/g, "").replace(/\\`/g, "`").replace(/\\\$/g, "$").replace(/\\\{/g, "{");
|
|
45
|
-
}
|
|
46
|
-
result += next;
|
|
47
|
-
if (i < values.length) {
|
|
48
|
-
let val = values[i];
|
|
49
|
-
if (!showNullishOrFalseValues && (val === false || val === null || val === void 0)) {
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
val = String(val);
|
|
53
|
-
if (identInterpolations && val.includes("\n")) {
|
|
54
|
-
let withIdent = val;
|
|
55
|
-
const currentIndent = getCurrentIndent(result);
|
|
56
|
-
if (currentIndent && withIdent) {
|
|
57
|
-
const lines2 = withIdent.split("\n");
|
|
58
|
-
withIdent = lines2.map((line, index) => {
|
|
59
|
-
return index === 0 || line === "" ? line : currentIndent + line;
|
|
60
|
-
}).join("\n");
|
|
61
|
-
}
|
|
62
|
-
result += withIdent;
|
|
63
|
-
} else {
|
|
64
|
-
result += val;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
const lines = result.split("\n");
|
|
69
|
-
let mindent = null;
|
|
70
|
-
for (const l of lines) {
|
|
71
|
-
const m = l.match(/^(\s+)\S+/);
|
|
72
|
-
if (m) {
|
|
73
|
-
const indent = m[1].length;
|
|
74
|
-
if (!mindent) {
|
|
75
|
-
mindent = indent;
|
|
76
|
-
} else {
|
|
77
|
-
mindent = Math.min(mindent, indent);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (mindent !== null) {
|
|
82
|
-
const m = mindent;
|
|
83
|
-
result = lines.map((l) => l[0] === " " || l[0] === " " ? l.slice(m) : l).join("\n");
|
|
84
|
-
}
|
|
85
|
-
if (trimWhitespace) {
|
|
86
|
-
result = result.trim();
|
|
87
|
-
}
|
|
88
|
-
if (escapeSpecialCharacters) {
|
|
89
|
-
result = result.replace(/\\n/g, "\n");
|
|
90
|
-
}
|
|
91
|
-
return result;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
function getCurrentIndent(str) {
|
|
95
|
-
const lines = str.split("\n");
|
|
96
|
-
const lastLine = lines[lines.length - 1];
|
|
97
|
-
if (!lastLine) return "";
|
|
98
|
-
const match = lastLine.match(/^(\s*)/);
|
|
99
|
-
return match ? match[1] : "";
|
|
100
|
-
}
|
|
101
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
102
|
-
0 && (module.exports = {
|
|
103
|
-
dedent
|
|
104
|
-
});
|