@ls-stack/utils 1.13.2 → 2.0.1

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.
Files changed (140) hide show
  1. package/dist/arrayUtils.cjs +91 -0
  2. package/dist/arrayUtils.d.cts +51 -0
  3. package/dist/arrayUtils.js +1 -2
  4. package/dist/assertions.cjs +99 -0
  5. package/dist/assertions.d.cts +17 -0
  6. package/dist/assertions.js +1 -2
  7. package/dist/castValues.cjs +41 -0
  8. package/dist/castValues.d.cts +4 -0
  9. package/dist/castValues.js +0 -1
  10. package/dist/chunk-3PXKYWJF.js +148 -0
  11. package/dist/{chunk-FYMTZQ42.js → chunk-4UGSP3L3.js} +0 -1
  12. package/dist/{chunk-HLFWWIDK.js → chunk-5DZT3Z5Z.js} +0 -1
  13. package/dist/{chunk-W7X6NSGR.js → chunk-AZBBTE33.js} +0 -1
  14. package/dist/{chunk-MMKMF4GG.js → chunk-IATIXMCE.js} +0 -1
  15. package/dist/{chunk-M74KKYE4.js → chunk-KCOXGSRA.js} +0 -1
  16. package/dist/{chunk-NKCC3375.js → chunk-NWXBMMHO.js} +0 -1
  17. package/dist/{chunk-SNAAKCTH.js → chunk-RVVH3MDA.js} +0 -1
  18. package/dist/{chunk-4QK76IRX.js → chunk-T5WDDPFI.js} +1 -6
  19. package/dist/{chunk-GLZ5MZC5.js → chunk-V2L472LS.js} +0 -30
  20. package/dist/consoleFmt.cjs +84 -0
  21. package/dist/consoleFmt.d.cts +48 -0
  22. package/dist/consoleFmt.js +0 -1
  23. package/dist/conversions.cjs +44 -0
  24. package/dist/conversions.d.cts +3 -0
  25. package/dist/conversions.js +1 -2
  26. package/dist/createThrottleController.cjs +183 -0
  27. package/dist/createThrottleController.d.cts +16 -0
  28. package/dist/createThrottleController.js +2 -3
  29. package/dist/debounce.cjs +125 -0
  30. package/dist/debounce.d.cts +45 -0
  31. package/dist/debounce.js +0 -1
  32. package/dist/dedent.cjs +57 -0
  33. package/dist/dedent.d.cts +4 -0
  34. package/dist/dedent.js +0 -1
  35. package/dist/deepEqual.cjs +88 -0
  36. package/dist/deepEqual.d.cts +4 -0
  37. package/dist/deepEqual.js +1 -2
  38. package/dist/enhancedMap.cjs +128 -0
  39. package/dist/enhancedMap.d.cts +20 -0
  40. package/dist/enhancedMap.d.ts +0 -2
  41. package/dist/enhancedMap.js +2 -3
  42. package/dist/exhaustiveMatch.cjs +55 -0
  43. package/dist/exhaustiveMatch.d.cts +6 -0
  44. package/dist/exhaustiveMatch.js +0 -1
  45. package/dist/interpolate.cjs +88 -0
  46. package/dist/interpolate.d.cts +11 -0
  47. package/dist/interpolate.js +2 -3
  48. package/dist/levenshtein.cjs +180 -0
  49. package/dist/levenshtein.d.cts +5 -0
  50. package/dist/levenshtein.js +0 -1
  51. package/dist/main.cjs +4 -0
  52. package/dist/main.d.cts +2 -0
  53. package/dist/main.d.ts +1 -1
  54. package/dist/main.js +0 -1
  55. package/dist/mathUtils.cjs +50 -0
  56. package/dist/mathUtils.d.cts +6 -0
  57. package/dist/mathUtils.js +1 -2
  58. package/dist/objUtils.cjs +67 -0
  59. package/dist/objUtils.d.cts +7 -0
  60. package/dist/objUtils.js +1 -2
  61. package/dist/parallelAsyncCalls.cjs +266 -0
  62. package/dist/{parallelAsyncResultCalls.d.ts → parallelAsyncCalls.d.cts} +7 -7
  63. package/dist/parallelAsyncCalls.d.ts +76 -0
  64. package/dist/{parallelAsyncResultCalls.js → parallelAsyncCalls.js} +7 -9
  65. package/dist/promiseUtils.cjs +38 -0
  66. package/dist/promiseUtils.d.cts +8 -0
  67. package/dist/promiseUtils.js +0 -1
  68. package/dist/rsResult.cjs +180 -0
  69. package/dist/rsResult.d.cts +83 -0
  70. package/dist/rsResult.d.ts +34 -69
  71. package/dist/rsResult.js +6 -10
  72. package/dist/runShellCmd.cjs +127 -0
  73. package/dist/runShellCmd.d.cts +23 -0
  74. package/dist/runShellCmd.d.ts +2 -1
  75. package/dist/runShellCmd.js +9 -4
  76. package/dist/shallowEqual.cjs +88 -0
  77. package/dist/shallowEqual.d.cts +4 -0
  78. package/dist/shallowEqual.js +0 -1
  79. package/dist/sleep.cjs +32 -0
  80. package/dist/sleep.d.cts +3 -0
  81. package/dist/sleep.js +1 -2
  82. package/dist/stringUtils.cjs +66 -0
  83. package/dist/stringUtils.d.cts +16 -0
  84. package/dist/stringUtils.d.ts +1 -3
  85. package/dist/stringUtils.js +1 -4
  86. package/dist/testUtils.cjs +357 -0
  87. package/dist/testUtils.d.cts +38 -0
  88. package/dist/testUtils.js +5 -6
  89. package/dist/typingFnUtils.cjs +55 -0
  90. package/dist/typingFnUtils.d.cts +15 -0
  91. package/dist/typingFnUtils.js +0 -1
  92. package/dist/typingTestUtils.cjs +43 -0
  93. package/dist/typingTestUtils.d.cts +12 -0
  94. package/dist/typingTestUtils.js +0 -1
  95. package/dist/typingUtils.cjs +18 -0
  96. package/dist/typingUtils.d.cts +11 -0
  97. package/dist/typingUtils.js +0 -1
  98. package/dist/yamlStringify.cjs +346 -0
  99. package/dist/yamlStringify.d.cts +8 -0
  100. package/dist/yamlStringify.js +3 -4
  101. package/package.json +64 -34
  102. package/dist/arrayUtils.js.map +0 -1
  103. package/dist/assertions.js.map +0 -1
  104. package/dist/castValues.js.map +0 -1
  105. package/dist/chunk-4QK76IRX.js.map +0 -1
  106. package/dist/chunk-FYMTZQ42.js.map +0 -1
  107. package/dist/chunk-GLZ5MZC5.js.map +0 -1
  108. package/dist/chunk-HLFWWIDK.js.map +0 -1
  109. package/dist/chunk-I7ZDKDUM.js +0 -217
  110. package/dist/chunk-I7ZDKDUM.js.map +0 -1
  111. package/dist/chunk-M74KKYE4.js.map +0 -1
  112. package/dist/chunk-MMKMF4GG.js.map +0 -1
  113. package/dist/chunk-NKCC3375.js.map +0 -1
  114. package/dist/chunk-SNAAKCTH.js.map +0 -1
  115. package/dist/chunk-W7X6NSGR.js.map +0 -1
  116. package/dist/consoleFmt.js.map +0 -1
  117. package/dist/conversions.js.map +0 -1
  118. package/dist/createThrottleController.js.map +0 -1
  119. package/dist/debounce.js.map +0 -1
  120. package/dist/dedent.js.map +0 -1
  121. package/dist/deepEqual.js.map +0 -1
  122. package/dist/enhancedMap.js.map +0 -1
  123. package/dist/exhaustiveMatch.js.map +0 -1
  124. package/dist/interpolate.js.map +0 -1
  125. package/dist/levenshtein.js.map +0 -1
  126. package/dist/main.js.map +0 -1
  127. package/dist/mathUtils.js.map +0 -1
  128. package/dist/objUtils.js.map +0 -1
  129. package/dist/parallelAsyncResultCalls.js.map +0 -1
  130. package/dist/promiseUtils.js.map +0 -1
  131. package/dist/rsResult.js.map +0 -1
  132. package/dist/runShellCmd.js.map +0 -1
  133. package/dist/shallowEqual.js.map +0 -1
  134. package/dist/sleep.js.map +0 -1
  135. package/dist/stringUtils.js.map +0 -1
  136. package/dist/testUtils.js.map +0 -1
  137. package/dist/typingFnUtils.js.map +0 -1
  138. package/dist/typingTestUtils.js.map +0 -1
  139. package/dist/typingUtils.js.map +0 -1
  140. package/dist/yamlStringify.js.map +0 -1
@@ -0,0 +1,67 @@
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/objUtils.ts
21
+ var objUtils_exports = {};
22
+ __export(objUtils_exports, {
23
+ mapArrayToObject: () => mapArrayToObject,
24
+ mapObjectToObject: () => mapObjectToObject,
25
+ objectTypedEntries: () => objectTypedEntries,
26
+ omit: () => omit,
27
+ pick: () => pick
28
+ });
29
+ module.exports = __toCommonJS(objUtils_exports);
30
+ function objectTypedEntries(obj) {
31
+ return Object.entries(obj);
32
+ }
33
+ function pick(obj, keys, rename) {
34
+ const result = {};
35
+ if (!obj) {
36
+ return result;
37
+ }
38
+ for (const key of keys) {
39
+ result[rename?.[key] || key] = obj[key];
40
+ }
41
+ return result;
42
+ }
43
+ function mapArrayToObject(array, mapper) {
44
+ return Object.fromEntries(array.map(mapper));
45
+ }
46
+ function mapObjectToObject(obj, mapper) {
47
+ return Object.fromEntries(
48
+ objectTypedEntries(obj).map(([key, value]) => mapper(key, value))
49
+ );
50
+ }
51
+ function omit(obj, keys) {
52
+ const result = {};
53
+ for (const key of Object.keys(obj)) {
54
+ if (!keys.includes(key)) {
55
+ result[key] = obj[key];
56
+ }
57
+ }
58
+ return result;
59
+ }
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ mapArrayToObject,
63
+ mapObjectToObject,
64
+ objectTypedEntries,
65
+ omit,
66
+ pick
67
+ });
@@ -0,0 +1,7 @@
1
+ declare function objectTypedEntries<T extends Record<string, unknown>>(obj: T): [Extract<keyof T, string>, T[keyof T]][];
2
+ declare function pick<T, K extends keyof T>(obj: T | undefined, keys: K[], rename?: Partial<Record<K, string>>): Record<string, unknown>;
3
+ declare function mapArrayToObject<T, K extends string, O>(array: T[], mapper: (item: T, index: number) => [K, O]): Record<K, O>;
4
+ declare function mapObjectToObject<I extends Record<string | number | symbol, unknown>, K extends string | number | symbol, O>(obj: I, mapper: (key: keyof I, value: I[keyof I]) => [K, O]): Record<K, O>;
5
+ declare function omit<T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
6
+
7
+ export { mapArrayToObject, mapObjectToObject, objectTypedEntries, omit, pick };
package/dist/objUtils.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  objectTypedEntries,
5
5
  omit,
6
6
  pick
7
- } from "./chunk-SNAAKCTH.js";
7
+ } from "./chunk-RVVH3MDA.js";
8
8
  export {
9
9
  mapArrayToObject,
10
10
  mapObjectToObject,
@@ -12,4 +12,3 @@ export {
12
12
  omit,
13
13
  pick
14
14
  };
15
- //# sourceMappingURL=objUtils.js.map
@@ -0,0 +1,266 @@
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
+
27
+ // src/assertions.ts
28
+ function invariant(condition, errorMsg = "Invariant violation") {
29
+ if (!condition) {
30
+ throw new Error(`Invariant violation: ${errorMsg}`);
31
+ }
32
+ }
33
+ function isObject(value) {
34
+ return typeof value === "object" && value !== null && !Array.isArray(value);
35
+ }
36
+
37
+ // src/rsResult.ts
38
+ function okUnwrapOr() {
39
+ return this.value;
40
+ }
41
+ function okMap(mapFn) {
42
+ return this.ok ? ok(mapFn(this.value)) : this;
43
+ }
44
+ function errMap(mapFn) {
45
+ return this.ok ? this : err(mapFn(this.error));
46
+ }
47
+ function mapOkAndErr({
48
+ ok: mapFn,
49
+ err: mapErrFn
50
+ }) {
51
+ return this.ok ? ok(mapFn(this.value)) : err(mapErrFn(this.error));
52
+ }
53
+ function returnResult() {
54
+ return this;
55
+ }
56
+ function ok(value = void 0) {
57
+ return {
58
+ ok: true,
59
+ error: false,
60
+ value,
61
+ unwrapOrNull: okUnwrapOr,
62
+ unwrapOr: okUnwrapOr,
63
+ unwrap: okUnwrapOr,
64
+ mapOk: okMap,
65
+ mapErr: returnResult,
66
+ mapOkAndErr
67
+ };
68
+ }
69
+ function err(error) {
70
+ return {
71
+ ok: false,
72
+ error,
73
+ unwrapOrNull: () => null,
74
+ unwrapOr: (defaultValue) => defaultValue,
75
+ errorResult() {
76
+ return err(error);
77
+ },
78
+ unwrap: () => {
79
+ if (error instanceof Error) {
80
+ throw error;
81
+ }
82
+ throw normalizeError(error);
83
+ },
84
+ mapOk: returnResult,
85
+ mapErr: errMap,
86
+ mapOkAndErr
87
+ };
88
+ }
89
+ function unknownToError(error) {
90
+ return err(normalizeError(error));
91
+ }
92
+ async function asyncUnwrap(result) {
93
+ const unwrapped = await result;
94
+ if (unwrapped.ok) {
95
+ return unwrapped.value;
96
+ }
97
+ if (unwrapped.error instanceof Error) {
98
+ throw unwrapped.error;
99
+ }
100
+ throw normalizeError(unwrapped.error);
101
+ }
102
+ function asyncMap(resultPromise) {
103
+ return {
104
+ err: async (mapFn) => {
105
+ const result = await resultPromise;
106
+ return result.ok ? ok(result.value) : err(mapFn(result.error));
107
+ },
108
+ ok: async (mapFn) => {
109
+ const result = await resultPromise;
110
+ return result.ok ? ok(mapFn(result.value)) : err(result.error);
111
+ },
112
+ okAndErr: async ({
113
+ ok: mapFn,
114
+ err: mapErrFn
115
+ }) => {
116
+ const result = await resultPromise;
117
+ return result.ok ? ok(mapFn(result.value)) : err(mapErrFn(result.error));
118
+ }
119
+ };
120
+ }
121
+ var Result = {
122
+ ok,
123
+ err,
124
+ unknownToError,
125
+ asyncUnwrap,
126
+ asyncMap
127
+ };
128
+ function normalizeError(error) {
129
+ if (error instanceof Error) return error;
130
+ if (typeof error === "string") {
131
+ return new Error(error);
132
+ }
133
+ if (isObject(error)) {
134
+ return new Error(
135
+ "message" in error && error.message && typeof error.message === "string" ? error.message : safeJsonStringify(error) ?? "unknown",
136
+ { cause: error }
137
+ );
138
+ }
139
+ return new Error(safeJsonStringify(error) ?? "unknown", { cause: error });
140
+ }
141
+ function safeJsonStringify(value) {
142
+ try {
143
+ return JSON.stringify(value);
144
+ } catch (_) {
145
+ return null;
146
+ }
147
+ }
148
+
149
+ // src/sleep.ts
150
+ function sleep(ms) {
151
+ return new Promise((resolve) => setTimeout(resolve, ms));
152
+ }
153
+
154
+ // src/parallelAsyncCalls.ts
155
+ var ParallelAsyncResultCalls = class {
156
+ pendingCalls = [];
157
+ alreadyRun = false;
158
+ constructor() {
159
+ }
160
+ add(call) {
161
+ this.pendingCalls.push(
162
+ isObject(call) ? call : { metadata: void 0, fn: call }
163
+ );
164
+ return this;
165
+ }
166
+ /** adds calls return tuples with inferred results */
167
+ addTuple(...calls) {
168
+ for (const call of calls) {
169
+ this.pendingCalls.push(
170
+ isObject(call) ? call : { metadata: void 0, fn: call }
171
+ );
172
+ }
173
+ return {
174
+ runAll: this.runAll.bind(this),
175
+ runAllSettled: this.runAllSettled.bind(this)
176
+ };
177
+ }
178
+ async runAllSettled({ delayStart } = {}) {
179
+ invariant(!this.alreadyRun, "Already run");
180
+ const asyncResults = await Promise.allSettled(
181
+ this.pendingCalls.map(async (call, i) => {
182
+ try {
183
+ if (delayStart) {
184
+ await sleep(delayStart(i));
185
+ }
186
+ const result = await call.fn();
187
+ return { result, callMetadata: call.metadata };
188
+ } catch (exception) {
189
+ return {
190
+ result: Result.unknownToError(exception),
191
+ callMetadata: call.metadata
192
+ };
193
+ }
194
+ })
195
+ );
196
+ const failed = [];
197
+ const succeeded = [];
198
+ const results = [];
199
+ for (const asyncResult of asyncResults) {
200
+ invariant(asyncResult.status === "fulfilled");
201
+ const { result, callMetadata } = asyncResult.value;
202
+ if (result.ok) {
203
+ const success = { value: result.value, metadata: callMetadata };
204
+ results.push(success);
205
+ succeeded.push(success);
206
+ } else {
207
+ const fail = { metadata: callMetadata, error: result.error };
208
+ results.push(fail);
209
+ failed.push(fail);
210
+ }
211
+ }
212
+ const allFailed = failed.length === this.pendingCalls.length;
213
+ this.alreadyRun = true;
214
+ this.pendingCalls = [];
215
+ return {
216
+ failed,
217
+ succeeded,
218
+ allFailed,
219
+ results
220
+ };
221
+ }
222
+ async runAll({
223
+ delayStart
224
+ } = {}) {
225
+ invariant(!this.alreadyRun, "Already run");
226
+ try {
227
+ const asyncResults = await Promise.all(
228
+ this.pendingCalls.map(async (call, i) => {
229
+ try {
230
+ if (delayStart) {
231
+ await sleep(delayStart(i));
232
+ }
233
+ const result = await call.fn();
234
+ if (!result.ok) {
235
+ throw result.error;
236
+ }
237
+ return {
238
+ value: result.value,
239
+ metadata: call.metadata
240
+ };
241
+ } catch (exception) {
242
+ throw {
243
+ metadata: call.metadata,
244
+ error: normalizeError(exception)
245
+ };
246
+ }
247
+ })
248
+ );
249
+ return Result.ok(asyncResults);
250
+ } catch (exception) {
251
+ return Result.err(
252
+ exception
253
+ );
254
+ } finally {
255
+ this.alreadyRun = true;
256
+ this.pendingCalls = [];
257
+ }
258
+ }
259
+ };
260
+ function parallelAsyncCalls() {
261
+ return new ParallelAsyncResultCalls();
262
+ }
263
+ // Annotate the CommonJS export names for ESM import in node:
264
+ 0 && (module.exports = {
265
+ parallelAsyncCalls
266
+ });
@@ -1,4 +1,4 @@
1
- import { Result, NormalizedError } from './rsResult.js';
1
+ import { Result } from './rsResult.cjs';
2
2
 
3
3
  type ValidMetadata = string | number | boolean | Record<string, unknown>;
4
4
  type TupleRunAllSuccess<T> = T extends () => Promise<Result<infer V>> ? Succeeded<V, undefined> : T extends {
@@ -7,12 +7,12 @@ type TupleRunAllSuccess<T> = T extends () => Promise<Result<infer V>> ? Succeede
7
7
  } ? Succeeded<V, M> : never;
8
8
  type TupleRunAllFailed<T> = T extends () => Promise<Result<any>> ? {
9
9
  metadata: undefined;
10
- error: NormalizedError;
10
+ error: Error;
11
11
  } : T extends {
12
12
  metadata: infer M extends ValidMetadata;
13
13
  } ? {
14
14
  metadata: M;
15
- error: NormalizedError;
15
+ error: Error;
16
16
  } : never;
17
17
  type TupleRunAllSettled<T> = T extends () => Promise<Result<infer V>> ? Succeeded<V, undefined> | Failed<undefined> : T extends {
18
18
  metadata: infer M;
@@ -23,7 +23,7 @@ type RunProps = {
23
23
  };
24
24
  type Failed<M> = {
25
25
  metadata: M;
26
- error: NormalizedError;
26
+ error: Error;
27
27
  };
28
28
  type Succeeded<R, M> = {
29
29
  value: R;
@@ -62,7 +62,7 @@ declare class ParallelAsyncResultCalls<M extends ValidMetadata | undefined = und
62
62
  delayStart?: (index: number) => number;
63
63
  }): Promise<Result<Succeeded<R, M>[], {
64
64
  metadata: M;
65
- error: NormalizedError;
65
+ error: Error;
66
66
  }>>;
67
67
  }
68
68
  /**
@@ -71,6 +71,6 @@ declare class ParallelAsyncResultCalls<M extends ValidMetadata | undefined = und
71
71
  * @template R - The type of the result value.
72
72
  * @template M - The type of the call metadata.
73
73
  */
74
- declare function parallelAsyncResultCalls<M extends ValidMetadata | undefined = undefined, R = unknown>(): ParallelAsyncResultCalls<M, R>;
74
+ declare function parallelAsyncCalls<M extends ValidMetadata | undefined = undefined, R = unknown>(): ParallelAsyncResultCalls<M, R>;
75
75
 
76
- export { parallelAsyncResultCalls };
76
+ export { parallelAsyncCalls };
@@ -0,0 +1,76 @@
1
+ import { Result } from './rsResult.js';
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
+ /** adds calls return tuples with inferred results */
41
+ addTuple<T extends (M extends undefined ? () => Promise<Result<R>> : {
42
+ metadata: M;
43
+ fn: () => Promise<Result<R>>;
44
+ })[]>(...calls: T): {
45
+ runAllSettled: (props?: RunProps) => Promise<{
46
+ results: {
47
+ [I in keyof T]: TupleRunAllSettled<T[I]>;
48
+ };
49
+ allFailed: boolean;
50
+ }>;
51
+ runAll: (props?: RunProps) => Promise<Result<{
52
+ [I in keyof T]: TupleRunAllSuccess<T[I]>;
53
+ }, TupleRunAllFailed<T[number]>>>;
54
+ };
55
+ runAllSettled({ delayStart }?: RunProps): Promise<{
56
+ failed: Failed<M>[];
57
+ succeeded: Succeeded<R, M>[];
58
+ allFailed: boolean;
59
+ results: (Failed<M> | Succeeded<R, M>)[];
60
+ }>;
61
+ runAll({ delayStart, }?: {
62
+ delayStart?: (index: number) => number;
63
+ }): Promise<Result<Succeeded<R, M>[], {
64
+ metadata: M;
65
+ error: Error;
66
+ }>>;
67
+ }
68
+ /**
69
+ * Executes multiple asynchronous calls in parallel and collects the results in a easier to use format.
70
+ *
71
+ * @template R - The type of the result value.
72
+ * @template M - The type of the call metadata.
73
+ */
74
+ declare function parallelAsyncCalls<M extends ValidMetadata | undefined = undefined, R = unknown>(): ParallelAsyncResultCalls<M, R>;
75
+
76
+ export { parallelAsyncCalls };
@@ -1,17 +1,16 @@
1
1
  import {
2
2
  Result,
3
3
  normalizeError
4
- } from "./chunk-I7ZDKDUM.js";
4
+ } from "./chunk-3PXKYWJF.js";
5
5
  import {
6
6
  sleep
7
- } from "./chunk-HLFWWIDK.js";
8
- import "./chunk-GLZ5MZC5.js";
7
+ } from "./chunk-5DZT3Z5Z.js";
9
8
  import {
10
9
  invariant,
11
10
  isObject
12
- } from "./chunk-FYMTZQ42.js";
11
+ } from "./chunk-4UGSP3L3.js";
13
12
 
14
- // src/parallelAsyncResultCalls.ts
13
+ // src/parallelAsyncCalls.ts
15
14
  var ParallelAsyncResultCalls = class {
16
15
  pendingCalls = [];
17
16
  alreadyRun = false;
@@ -47,7 +46,7 @@ var ParallelAsyncResultCalls = class {
47
46
  return { result, callMetadata: call.metadata };
48
47
  } catch (exception) {
49
48
  return {
50
- result: Result.normalizedUnknownErr(exception),
49
+ result: Result.unknownToError(exception),
51
50
  callMetadata: call.metadata
52
51
  };
53
52
  }
@@ -117,10 +116,9 @@ var ParallelAsyncResultCalls = class {
117
116
  }
118
117
  }
119
118
  };
120
- function parallelAsyncResultCalls() {
119
+ function parallelAsyncCalls() {
121
120
  return new ParallelAsyncResultCalls();
122
121
  }
123
122
  export {
124
- parallelAsyncResultCalls
123
+ parallelAsyncCalls
125
124
  };
126
- //# sourceMappingURL=parallelAsyncResultCalls.js.map
@@ -0,0 +1,38 @@
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/promiseUtils.ts
21
+ var promiseUtils_exports = {};
22
+ __export(promiseUtils_exports, {
23
+ defer: () => defer
24
+ });
25
+ module.exports = __toCommonJS(promiseUtils_exports);
26
+ function defer() {
27
+ let resolve;
28
+ let reject;
29
+ const promise = new Promise((_resolve, _reject) => {
30
+ resolve = _resolve;
31
+ reject = _reject;
32
+ });
33
+ return { resolve, reject, promise };
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ defer
38
+ });
@@ -0,0 +1,8 @@
1
+ type Deferred<T> = {
2
+ resolve: (value: T | PromiseLike<T>) => void;
3
+ reject: (reason: unknown) => void;
4
+ promise: Promise<T>;
5
+ };
6
+ declare function defer<T = void>(): Deferred<T>;
7
+
8
+ export { defer };
@@ -11,4 +11,3 @@ function defer() {
11
11
  export {
12
12
  defer
13
13
  };
14
- //# sourceMappingURL=promiseUtils.js.map