@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,162 +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/parallelAsyncCalls.ts
|
|
21
|
-
var parallelAsyncCalls_exports = {};
|
|
22
|
-
__export(parallelAsyncCalls_exports, {
|
|
23
|
-
parallelAsyncCalls: () => parallelAsyncCalls
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(parallelAsyncCalls_exports);
|
|
26
|
-
var import_t_result = require("t-result");
|
|
27
|
-
|
|
28
|
-
// src/typeGuards.ts
|
|
29
|
-
function isObject(value) {
|
|
30
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// src/assertions.ts
|
|
34
|
-
function invariant(condition, error = "Invariant violation") {
|
|
35
|
-
if (!condition) {
|
|
36
|
-
throw typeof error === "function" ? error() : new Error(`Invariant violation: ${error}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
var isObject2 = isObject;
|
|
40
|
-
|
|
41
|
-
// src/sleep.ts
|
|
42
|
-
function sleep(ms) {
|
|
43
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// src/parallelAsyncCalls.ts
|
|
47
|
-
var ParallelAsyncResultCalls = class {
|
|
48
|
-
pendingCalls = [];
|
|
49
|
-
alreadyRun = false;
|
|
50
|
-
constructor() {
|
|
51
|
-
}
|
|
52
|
-
add(call) {
|
|
53
|
-
this.pendingCalls.push(
|
|
54
|
-
isObject2(call) ? call : { metadata: void 0, fn: call }
|
|
55
|
-
);
|
|
56
|
-
return this;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Adds calls return tuples with inferred results
|
|
60
|
-
*
|
|
61
|
-
* @param calls
|
|
62
|
-
*/
|
|
63
|
-
addTuple(...calls) {
|
|
64
|
-
for (const call of calls) {
|
|
65
|
-
this.pendingCalls.push(
|
|
66
|
-
isObject2(call) ? call : { metadata: void 0, fn: call }
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
runAll: this.runAll.bind(this),
|
|
71
|
-
runAllSettled: this.runAllSettled.bind(this)
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
async runAllSettled({ delayStart } = {}) {
|
|
75
|
-
invariant(!this.alreadyRun, "Already run");
|
|
76
|
-
const asyncResults = await Promise.allSettled(
|
|
77
|
-
this.pendingCalls.map(async (call, i) => {
|
|
78
|
-
try {
|
|
79
|
-
if (delayStart) {
|
|
80
|
-
await sleep(delayStart(i));
|
|
81
|
-
}
|
|
82
|
-
const result = await call.fn();
|
|
83
|
-
return { result, callMetadata: call.metadata };
|
|
84
|
-
} catch (exception) {
|
|
85
|
-
return {
|
|
86
|
-
result: import_t_result.Result.unknownToError(exception),
|
|
87
|
-
callMetadata: call.metadata
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
})
|
|
91
|
-
);
|
|
92
|
-
const failed = [];
|
|
93
|
-
const succeeded = [];
|
|
94
|
-
const results = [];
|
|
95
|
-
for (const asyncResult of asyncResults) {
|
|
96
|
-
invariant(asyncResult.status === "fulfilled");
|
|
97
|
-
const { result, callMetadata } = asyncResult.value;
|
|
98
|
-
if (result.ok) {
|
|
99
|
-
const success = { value: result.value, metadata: callMetadata };
|
|
100
|
-
results.push(success);
|
|
101
|
-
succeeded.push(success);
|
|
102
|
-
} else {
|
|
103
|
-
const fail = { metadata: callMetadata, error: result.error };
|
|
104
|
-
results.push(fail);
|
|
105
|
-
failed.push(fail);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
const allFailed = failed.length === this.pendingCalls.length;
|
|
109
|
-
this.alreadyRun = true;
|
|
110
|
-
this.pendingCalls = [];
|
|
111
|
-
return {
|
|
112
|
-
failed,
|
|
113
|
-
succeeded,
|
|
114
|
-
allFailed,
|
|
115
|
-
results
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
async runAll({
|
|
119
|
-
delayStart
|
|
120
|
-
} = {}) {
|
|
121
|
-
invariant(!this.alreadyRun, "Already run");
|
|
122
|
-
try {
|
|
123
|
-
const asyncResults = await Promise.all(
|
|
124
|
-
this.pendingCalls.map(async (call, i) => {
|
|
125
|
-
try {
|
|
126
|
-
if (delayStart) {
|
|
127
|
-
await sleep(delayStart(i));
|
|
128
|
-
}
|
|
129
|
-
const result = await call.fn();
|
|
130
|
-
if (!result.ok) {
|
|
131
|
-
throw result.error;
|
|
132
|
-
}
|
|
133
|
-
return {
|
|
134
|
-
value: result.value,
|
|
135
|
-
metadata: call.metadata
|
|
136
|
-
};
|
|
137
|
-
} catch (exception) {
|
|
138
|
-
throw {
|
|
139
|
-
metadata: call.metadata,
|
|
140
|
-
error: (0, import_t_result.unknownToError)(exception)
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
})
|
|
144
|
-
);
|
|
145
|
-
return import_t_result.Result.ok(asyncResults);
|
|
146
|
-
} catch (exception) {
|
|
147
|
-
return import_t_result.Result.err(
|
|
148
|
-
exception
|
|
149
|
-
);
|
|
150
|
-
} finally {
|
|
151
|
-
this.alreadyRun = true;
|
|
152
|
-
this.pendingCalls = [];
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
function parallelAsyncCalls() {
|
|
157
|
-
return new ParallelAsyncResultCalls();
|
|
158
|
-
}
|
|
159
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
160
|
-
0 && (module.exports = {
|
|
161
|
-
parallelAsyncCalls
|
|
162
|
-
});
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Result } from 't-result';
|
|
2
|
-
|
|
3
|
-
type ValidMetadata = string | number | boolean | Record<string, unknown>;
|
|
4
|
-
type TupleRunAllSuccess<T> = T extends () => Promise<Result<infer V>> ? Succeeded<V, undefined> : T extends {
|
|
5
|
-
metadata: infer M;
|
|
6
|
-
fn: () => Promise<Result<infer V>>;
|
|
7
|
-
} ? Succeeded<V, M> : never;
|
|
8
|
-
type TupleRunAllFailed<T> = T extends () => Promise<Result<any>> ? {
|
|
9
|
-
metadata: undefined;
|
|
10
|
-
error: Error;
|
|
11
|
-
} : T extends {
|
|
12
|
-
metadata: infer M extends ValidMetadata;
|
|
13
|
-
} ? {
|
|
14
|
-
metadata: M;
|
|
15
|
-
error: Error;
|
|
16
|
-
} : never;
|
|
17
|
-
type TupleRunAllSettled<T> = T extends () => Promise<Result<infer V>> ? Succeeded<V, undefined> | Failed<undefined> : T extends {
|
|
18
|
-
metadata: infer M;
|
|
19
|
-
fn: () => Promise<Result<infer V>>;
|
|
20
|
-
} ? Succeeded<V, M> | Failed<M> : never;
|
|
21
|
-
type RunProps = {
|
|
22
|
-
delayStart?: (index: number) => number;
|
|
23
|
-
};
|
|
24
|
-
type Failed<M> = {
|
|
25
|
-
metadata: M;
|
|
26
|
-
error: Error;
|
|
27
|
-
};
|
|
28
|
-
type Succeeded<R, M> = {
|
|
29
|
-
value: R;
|
|
30
|
-
metadata: M;
|
|
31
|
-
};
|
|
32
|
-
declare class ParallelAsyncResultCalls<M extends ValidMetadata | undefined = undefined, R = unknown> {
|
|
33
|
-
private pendingCalls;
|
|
34
|
-
alreadyRun: boolean;
|
|
35
|
-
constructor();
|
|
36
|
-
add(call: M extends undefined ? () => Promise<Result<R>> : {
|
|
37
|
-
metadata: M;
|
|
38
|
-
fn: () => Promise<Result<R>>;
|
|
39
|
-
}): this;
|
|
40
|
-
/**
|
|
41
|
-
* Adds calls return tuples with inferred results
|
|
42
|
-
*
|
|
43
|
-
* @param calls
|
|
44
|
-
*/
|
|
45
|
-
addTuple<T extends (M extends undefined ? () => Promise<Result<R>> : {
|
|
46
|
-
metadata: M;
|
|
47
|
-
fn: () => Promise<Result<R>>;
|
|
48
|
-
})[]>(...calls: T): {
|
|
49
|
-
runAllSettled: (props?: RunProps) => Promise<{
|
|
50
|
-
results: {
|
|
51
|
-
[I in keyof T]: TupleRunAllSettled<T[I]>;
|
|
52
|
-
};
|
|
53
|
-
allFailed: boolean;
|
|
54
|
-
}>;
|
|
55
|
-
runAll: (props?: RunProps) => Promise<Result<{
|
|
56
|
-
[I in keyof T]: TupleRunAllSuccess<T[I]>;
|
|
57
|
-
}, TupleRunAllFailed<T[number]>>>;
|
|
58
|
-
};
|
|
59
|
-
runAllSettled({ delayStart }?: RunProps): Promise<{
|
|
60
|
-
failed: Failed<M>[];
|
|
61
|
-
succeeded: Succeeded<R, M>[];
|
|
62
|
-
allFailed: boolean;
|
|
63
|
-
results: (Failed<M> | Succeeded<R, M>)[];
|
|
64
|
-
}>;
|
|
65
|
-
runAll({ delayStart, }?: {
|
|
66
|
-
delayStart?: (index: number) => number;
|
|
67
|
-
}): Promise<Result<Succeeded<R, M>[], {
|
|
68
|
-
metadata: M;
|
|
69
|
-
error: Error;
|
|
70
|
-
}>>;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Executes multiple asynchronous calls in parallel and collects the results in
|
|
74
|
-
* a easier to use format.
|
|
75
|
-
*
|
|
76
|
-
* @deprecated Use concurrentAsyncCalls instead.
|
|
77
|
-
* @template R - The type of the result value.
|
|
78
|
-
* @template M - The type of the call metadata.
|
|
79
|
-
*/
|
|
80
|
-
declare function parallelAsyncCalls<M extends ValidMetadata | undefined = undefined, R = unknown>(): ParallelAsyncResultCalls<M, R>;
|
|
81
|
-
|
|
82
|
-
export { parallelAsyncCalls };
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Result } from 't-result';
|
|
2
|
-
|
|
3
|
-
type ValidMetadata = string | number | boolean | Record<string, unknown>;
|
|
4
|
-
type TupleRunAllSuccess<T> = T extends () => Promise<Result<infer V>> ? Succeeded<V, undefined> : T extends {
|
|
5
|
-
metadata: infer M;
|
|
6
|
-
fn: () => Promise<Result<infer V>>;
|
|
7
|
-
} ? Succeeded<V, M> : never;
|
|
8
|
-
type TupleRunAllFailed<T> = T extends () => Promise<Result<any>> ? {
|
|
9
|
-
metadata: undefined;
|
|
10
|
-
error: Error;
|
|
11
|
-
} : T extends {
|
|
12
|
-
metadata: infer M extends ValidMetadata;
|
|
13
|
-
} ? {
|
|
14
|
-
metadata: M;
|
|
15
|
-
error: Error;
|
|
16
|
-
} : never;
|
|
17
|
-
type TupleRunAllSettled<T> = T extends () => Promise<Result<infer V>> ? Succeeded<V, undefined> | Failed<undefined> : T extends {
|
|
18
|
-
metadata: infer M;
|
|
19
|
-
fn: () => Promise<Result<infer V>>;
|
|
20
|
-
} ? Succeeded<V, M> | Failed<M> : never;
|
|
21
|
-
type RunProps = {
|
|
22
|
-
delayStart?: (index: number) => number;
|
|
23
|
-
};
|
|
24
|
-
type Failed<M> = {
|
|
25
|
-
metadata: M;
|
|
26
|
-
error: Error;
|
|
27
|
-
};
|
|
28
|
-
type Succeeded<R, M> = {
|
|
29
|
-
value: R;
|
|
30
|
-
metadata: M;
|
|
31
|
-
};
|
|
32
|
-
declare class ParallelAsyncResultCalls<M extends ValidMetadata | undefined = undefined, R = unknown> {
|
|
33
|
-
private pendingCalls;
|
|
34
|
-
alreadyRun: boolean;
|
|
35
|
-
constructor();
|
|
36
|
-
add(call: M extends undefined ? () => Promise<Result<R>> : {
|
|
37
|
-
metadata: M;
|
|
38
|
-
fn: () => Promise<Result<R>>;
|
|
39
|
-
}): this;
|
|
40
|
-
/**
|
|
41
|
-
* Adds calls return tuples with inferred results
|
|
42
|
-
*
|
|
43
|
-
* @param calls
|
|
44
|
-
*/
|
|
45
|
-
addTuple<T extends (M extends undefined ? () => Promise<Result<R>> : {
|
|
46
|
-
metadata: M;
|
|
47
|
-
fn: () => Promise<Result<R>>;
|
|
48
|
-
})[]>(...calls: T): {
|
|
49
|
-
runAllSettled: (props?: RunProps) => Promise<{
|
|
50
|
-
results: {
|
|
51
|
-
[I in keyof T]: TupleRunAllSettled<T[I]>;
|
|
52
|
-
};
|
|
53
|
-
allFailed: boolean;
|
|
54
|
-
}>;
|
|
55
|
-
runAll: (props?: RunProps) => Promise<Result<{
|
|
56
|
-
[I in keyof T]: TupleRunAllSuccess<T[I]>;
|
|
57
|
-
}, TupleRunAllFailed<T[number]>>>;
|
|
58
|
-
};
|
|
59
|
-
runAllSettled({ delayStart }?: RunProps): Promise<{
|
|
60
|
-
failed: Failed<M>[];
|
|
61
|
-
succeeded: Succeeded<R, M>[];
|
|
62
|
-
allFailed: boolean;
|
|
63
|
-
results: (Failed<M> | Succeeded<R, M>)[];
|
|
64
|
-
}>;
|
|
65
|
-
runAll({ delayStart, }?: {
|
|
66
|
-
delayStart?: (index: number) => number;
|
|
67
|
-
}): Promise<Result<Succeeded<R, M>[], {
|
|
68
|
-
metadata: M;
|
|
69
|
-
error: Error;
|
|
70
|
-
}>>;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Executes multiple asynchronous calls in parallel and collects the results in
|
|
74
|
-
* a easier to use format.
|
|
75
|
-
*
|
|
76
|
-
* @deprecated Use concurrentAsyncCalls instead.
|
|
77
|
-
* @template R - The type of the result value.
|
|
78
|
-
* @template M - The type of the call metadata.
|
|
79
|
-
*/
|
|
80
|
-
declare function parallelAsyncCalls<M extends ValidMetadata | undefined = undefined, R = unknown>(): ParallelAsyncResultCalls<M, R>;
|
|
81
|
-
|
|
82
|
-
export { parallelAsyncCalls };
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
sleep
|
|
3
|
-
} from "./chunk-5DZT3Z5Z.js";
|
|
4
|
-
import {
|
|
5
|
-
invariant,
|
|
6
|
-
isObject
|
|
7
|
-
} from "./chunk-C2SVCIWE.js";
|
|
8
|
-
import "./chunk-JF2MDHOJ.js";
|
|
9
|
-
|
|
10
|
-
// src/parallelAsyncCalls.ts
|
|
11
|
-
import { Result, unknownToError } from "t-result";
|
|
12
|
-
var ParallelAsyncResultCalls = class {
|
|
13
|
-
pendingCalls = [];
|
|
14
|
-
alreadyRun = false;
|
|
15
|
-
constructor() {
|
|
16
|
-
}
|
|
17
|
-
add(call) {
|
|
18
|
-
this.pendingCalls.push(
|
|
19
|
-
isObject(call) ? call : { metadata: void 0, fn: call }
|
|
20
|
-
);
|
|
21
|
-
return this;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Adds calls return tuples with inferred results
|
|
25
|
-
*
|
|
26
|
-
* @param calls
|
|
27
|
-
*/
|
|
28
|
-
addTuple(...calls) {
|
|
29
|
-
for (const call of calls) {
|
|
30
|
-
this.pendingCalls.push(
|
|
31
|
-
isObject(call) ? call : { metadata: void 0, fn: call }
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
runAll: this.runAll.bind(this),
|
|
36
|
-
runAllSettled: this.runAllSettled.bind(this)
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
async runAllSettled({ delayStart } = {}) {
|
|
40
|
-
invariant(!this.alreadyRun, "Already run");
|
|
41
|
-
const asyncResults = await Promise.allSettled(
|
|
42
|
-
this.pendingCalls.map(async (call, i) => {
|
|
43
|
-
try {
|
|
44
|
-
if (delayStart) {
|
|
45
|
-
await sleep(delayStart(i));
|
|
46
|
-
}
|
|
47
|
-
const result = await call.fn();
|
|
48
|
-
return { result, callMetadata: call.metadata };
|
|
49
|
-
} catch (exception) {
|
|
50
|
-
return {
|
|
51
|
-
result: Result.unknownToError(exception),
|
|
52
|
-
callMetadata: call.metadata
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
})
|
|
56
|
-
);
|
|
57
|
-
const failed = [];
|
|
58
|
-
const succeeded = [];
|
|
59
|
-
const results = [];
|
|
60
|
-
for (const asyncResult of asyncResults) {
|
|
61
|
-
invariant(asyncResult.status === "fulfilled");
|
|
62
|
-
const { result, callMetadata } = asyncResult.value;
|
|
63
|
-
if (result.ok) {
|
|
64
|
-
const success = { value: result.value, metadata: callMetadata };
|
|
65
|
-
results.push(success);
|
|
66
|
-
succeeded.push(success);
|
|
67
|
-
} else {
|
|
68
|
-
const fail = { metadata: callMetadata, error: result.error };
|
|
69
|
-
results.push(fail);
|
|
70
|
-
failed.push(fail);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const allFailed = failed.length === this.pendingCalls.length;
|
|
74
|
-
this.alreadyRun = true;
|
|
75
|
-
this.pendingCalls = [];
|
|
76
|
-
return {
|
|
77
|
-
failed,
|
|
78
|
-
succeeded,
|
|
79
|
-
allFailed,
|
|
80
|
-
results
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
async runAll({
|
|
84
|
-
delayStart
|
|
85
|
-
} = {}) {
|
|
86
|
-
invariant(!this.alreadyRun, "Already run");
|
|
87
|
-
try {
|
|
88
|
-
const asyncResults = await Promise.all(
|
|
89
|
-
this.pendingCalls.map(async (call, i) => {
|
|
90
|
-
try {
|
|
91
|
-
if (delayStart) {
|
|
92
|
-
await sleep(delayStart(i));
|
|
93
|
-
}
|
|
94
|
-
const result = await call.fn();
|
|
95
|
-
if (!result.ok) {
|
|
96
|
-
throw result.error;
|
|
97
|
-
}
|
|
98
|
-
return {
|
|
99
|
-
value: result.value,
|
|
100
|
-
metadata: call.metadata
|
|
101
|
-
};
|
|
102
|
-
} catch (exception) {
|
|
103
|
-
throw {
|
|
104
|
-
metadata: call.metadata,
|
|
105
|
-
error: unknownToError(exception)
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
})
|
|
109
|
-
);
|
|
110
|
-
return Result.ok(asyncResults);
|
|
111
|
-
} catch (exception) {
|
|
112
|
-
return Result.err(
|
|
113
|
-
exception
|
|
114
|
-
);
|
|
115
|
-
} finally {
|
|
116
|
-
this.alreadyRun = true;
|
|
117
|
-
this.pendingCalls = [];
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
function parallelAsyncCalls() {
|
|
122
|
-
return new ParallelAsyncResultCalls();
|
|
123
|
-
}
|
|
124
|
-
export {
|
|
125
|
-
parallelAsyncCalls
|
|
126
|
-
};
|