@ls-stack/utils 3.31.0 → 3.32.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.
@@ -10,7 +10,7 @@
10
10
 
11
11
  ### ConcurrentCalls\<R, E\>
12
12
 
13
- Defined in: [packages/utils/src/concurrentCalls.ts:124](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L124)
13
+ Defined in: [packages/utils/src/concurrentCalls.ts:141](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L141)
14
14
 
15
15
  #### Type Parameters
16
16
 
@@ -20,20 +20,38 @@ Defined in: [packages/utils/src/concurrentCalls.ts:124](https://github.com/lucas
20
20
 
21
21
  ##### E
22
22
 
23
- `E` *extends* `Error` = `Error`
23
+ `E` *extends* `ResultValidErrors` = `Error`
24
24
 
25
25
  #### Constructors
26
26
 
27
27
  ##### Constructor
28
28
 
29
29
  ```ts
30
- new ConcurrentCalls<R, E>(): ConcurrentCalls<R, E>;
30
+ new ConcurrentCalls<R, E>(allowResultify): ConcurrentCalls<R, E>;
31
31
  ```
32
32
 
33
+ Defined in: [packages/utils/src/concurrentCalls.ts:146](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L146)
34
+
35
+ ###### Parameters
36
+
37
+ ###### allowResultify
38
+
39
+ `boolean`
40
+
33
41
  ###### Returns
34
42
 
35
43
  [`ConcurrentCalls`](#concurrentcalls)\<`R`, `E`\>
36
44
 
45
+ #### Properties
46
+
47
+ ##### allowResultify
48
+
49
+ ```ts
50
+ allowResultify: boolean = true;
51
+ ```
52
+
53
+ Defined in: [packages/utils/src/concurrentCalls.ts:144](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L144)
54
+
37
55
  #### Methods
38
56
 
39
57
  ##### add()
@@ -42,7 +60,7 @@ new ConcurrentCalls<R, E>(): ConcurrentCalls<R, E>;
42
60
  add(...calls): this;
43
61
  ```
44
62
 
45
- Defined in: [packages/utils/src/concurrentCalls.ts:128](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L128)
63
+ Defined in: [packages/utils/src/concurrentCalls.ts:150](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L150)
46
64
 
47
65
  ###### Parameters
48
66
 
@@ -60,7 +78,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:128](https://github.com/lucas
60
78
  resultifyAdd(...calls): this;
61
79
  ```
62
80
 
63
- Defined in: [packages/utils/src/concurrentCalls.ts:134](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L134)
81
+ Defined in: [packages/utils/src/concurrentCalls.ts:156](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L156)
64
82
 
65
83
  ###### Parameters
66
84
 
@@ -78,7 +96,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:134](https://github.com/lucas
78
96
  runAll(__namedParameters): Promise<Result<R[], E>>;
79
97
  ```
80
98
 
81
- Defined in: [packages/utils/src/concurrentCalls.ts:151](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L151)
99
+ Defined in: [packages/utils/src/concurrentCalls.ts:179](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L179)
82
100
 
83
101
  ###### Parameters
84
102
 
@@ -103,7 +121,7 @@ runAllSettled(__namedParameters): Promise<{
103
121
  }>;
104
122
  ```
105
123
 
106
- Defined in: [packages/utils/src/concurrentCalls.ts:183](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L183)
124
+ Defined in: [packages/utils/src/concurrentCalls.ts:211](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L211)
107
125
 
108
126
  ###### Parameters
109
127
 
@@ -126,7 +144,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:183](https://github.com/lucas
126
144
 
127
145
  ### ConcurrentCallsWithMetadata\<M, R, E\>
128
146
 
129
- Defined in: [packages/utils/src/concurrentCalls.ts:250](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L250)
147
+ Defined in: [packages/utils/src/concurrentCalls.ts:277](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L277)
130
148
 
131
149
  #### Type Parameters
132
150
 
@@ -140,20 +158,38 @@ Defined in: [packages/utils/src/concurrentCalls.ts:250](https://github.com/lucas
140
158
 
141
159
  ##### E
142
160
 
143
- `E` *extends* `Error` = `Error`
161
+ `E` *extends* `ResultValidErrors` = `Error`
144
162
 
145
163
  #### Constructors
146
164
 
147
165
  ##### Constructor
148
166
 
149
167
  ```ts
150
- new ConcurrentCallsWithMetadata<M, R, E>(): ConcurrentCallsWithMetadata<M, R, E>;
168
+ new ConcurrentCallsWithMetadata<M, R, E>(allowResultify): ConcurrentCallsWithMetadata<M, R, E>;
151
169
  ```
152
170
 
171
+ Defined in: [packages/utils/src/concurrentCalls.ts:286](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L286)
172
+
173
+ ###### Parameters
174
+
175
+ ###### allowResultify
176
+
177
+ `boolean`
178
+
153
179
  ###### Returns
154
180
 
155
181
  [`ConcurrentCallsWithMetadata`](#concurrentcallswithmetadata)\<`M`, `R`, `E`\>
156
182
 
183
+ #### Properties
184
+
185
+ ##### allowResultify
186
+
187
+ ```ts
188
+ allowResultify: boolean = true;
189
+ ```
190
+
191
+ Defined in: [packages/utils/src/concurrentCalls.ts:284](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L284)
192
+
157
193
  #### Methods
158
194
 
159
195
  ##### add()
@@ -162,7 +198,7 @@ new ConcurrentCallsWithMetadata<M, R, E>(): ConcurrentCallsWithMetadata<M, R, E>
162
198
  add(...calls): this;
163
199
  ```
164
200
 
165
- Defined in: [packages/utils/src/concurrentCalls.ts:258](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L258)
201
+ Defined in: [packages/utils/src/concurrentCalls.ts:290](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L290)
166
202
 
167
203
  ###### Parameters
168
204
 
@@ -180,7 +216,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:258](https://github.com/lucas
180
216
  resultifyAdd(...items): this;
181
217
  ```
182
218
 
183
- Defined in: [packages/utils/src/concurrentCalls.ts:272](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L272)
219
+ Defined in: [packages/utils/src/concurrentCalls.ts:304](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L304)
184
220
 
185
221
  ###### Parameters
186
222
 
@@ -198,7 +234,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:272](https://github.com/lucas
198
234
  runAll(__namedParameters): Promise<Result<SucceededCall<R, M>[], FailedCall<M, E>>>;
199
235
  ```
200
236
 
201
- Defined in: [packages/utils/src/concurrentCalls.ts:292](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L292)
237
+ Defined in: [packages/utils/src/concurrentCalls.ts:330](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L330)
202
238
 
203
239
  ###### Parameters
204
240
 
@@ -225,7 +261,7 @@ runAllSettled(__namedParameters): Promise<{
225
261
  }>;
226
262
  ```
227
263
 
228
- Defined in: [packages/utils/src/concurrentCalls.ts:339](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L339)
264
+ Defined in: [packages/utils/src/concurrentCalls.ts:377](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L377)
229
265
 
230
266
  ###### Parameters
231
267
 
@@ -254,7 +290,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:339](https://github.com/lucas
254
290
  type Action<R, E> = () => Promise<Result<R, E>>;
255
291
  ```
256
292
 
257
- Defined in: [packages/utils/src/concurrentCalls.ts:117](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L117)
293
+ Defined in: [packages/utils/src/concurrentCalls.ts:134](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L134)
258
294
 
259
295
  #### Type Parameters
260
296
 
@@ -264,7 +300,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:117](https://github.com/lucas
264
300
 
265
301
  ##### E
266
302
 
267
- `E` *extends* `Error`
303
+ `E` *extends* `ResultValidErrors`
268
304
 
269
305
  #### Returns
270
306
 
@@ -272,13 +308,29 @@ Defined in: [packages/utils/src/concurrentCalls.ts:117](https://github.com/lucas
272
308
 
273
309
  ***
274
310
 
311
+ ### ErrorFromResult\<R\>
312
+
313
+ ```ts
314
+ type ErrorFromResult<R> = R extends Result<any, infer E> ? E : never;
315
+ ```
316
+
317
+ Defined in: [packages/utils/src/concurrentCalls.ts:480](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L480)
318
+
319
+ #### Type Parameters
320
+
321
+ ##### R
322
+
323
+ `R`
324
+
325
+ ***
326
+
275
327
  ### FailedCall\<M, E\>
276
328
 
277
329
  ```ts
278
330
  type FailedCall<M, E> = object;
279
331
  ```
280
332
 
281
- Defined in: [packages/utils/src/concurrentCalls.ts:112](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L112)
333
+ Defined in: [packages/utils/src/concurrentCalls.ts:129](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L129)
282
334
 
283
335
  #### Type Parameters
284
336
 
@@ -288,7 +340,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:112](https://github.com/lucas
288
340
 
289
341
  ##### E
290
342
 
291
- `E` *extends* `Error` = `Error`
343
+ `E` *extends* `ResultValidErrors` = `Error`
292
344
 
293
345
  #### Properties
294
346
 
@@ -298,7 +350,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:112](https://github.com/lucas
298
350
  error: E;
299
351
  ```
300
352
 
301
- Defined in: [packages/utils/src/concurrentCalls.ts:114](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L114)
353
+ Defined in: [packages/utils/src/concurrentCalls.ts:131](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L131)
302
354
 
303
355
  ##### metadata
304
356
 
@@ -306,7 +358,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:114](https://github.com/lucas
306
358
  metadata: M;
307
359
  ```
308
360
 
309
- Defined in: [packages/utils/src/concurrentCalls.ts:113](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L113)
361
+ Defined in: [packages/utils/src/concurrentCalls.ts:130](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L130)
310
362
 
311
363
  ***
312
364
 
@@ -316,7 +368,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:113](https://github.com/lucas
316
368
  type RunProps = object;
317
369
  ```
318
370
 
319
- Defined in: [packages/utils/src/concurrentCalls.ts:103](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L103)
371
+ Defined in: [packages/utils/src/concurrentCalls.ts:120](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L120)
320
372
 
321
373
  #### Properties
322
374
 
@@ -326,7 +378,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:103](https://github.com/lucas
326
378
  optional delayStart: (index) => number;
327
379
  ```
328
380
 
329
- Defined in: [packages/utils/src/concurrentCalls.ts:104](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L104)
381
+ Defined in: [packages/utils/src/concurrentCalls.ts:121](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L121)
330
382
 
331
383
  ###### Parameters
332
384
 
@@ -357,7 +409,7 @@ type SettledResultWithMetadata<R, M, E> =
357
409
  };
358
410
  ```
359
411
 
360
- Defined in: [packages/utils/src/concurrentCalls.ts:120](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L120)
412
+ Defined in: [packages/utils/src/concurrentCalls.ts:137](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L137)
361
413
 
362
414
  #### Type Parameters
363
415
 
@@ -371,7 +423,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:120](https://github.com/lucas
371
423
 
372
424
  ##### E
373
425
 
374
- `E` *extends* `Error` = `Error`
426
+ `E` *extends* `ResultValidErrors` = `Error`
375
427
 
376
428
  ***
377
429
 
@@ -381,7 +433,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:120](https://github.com/lucas
381
433
  type SucceededCall<R, M> = object;
382
434
  ```
383
435
 
384
- Defined in: [packages/utils/src/concurrentCalls.ts:108](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L108)
436
+ Defined in: [packages/utils/src/concurrentCalls.ts:125](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L125)
385
437
 
386
438
  #### Type Parameters
387
439
 
@@ -401,7 +453,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:108](https://github.com/lucas
401
453
  metadata: M;
402
454
  ```
403
455
 
404
- Defined in: [packages/utils/src/concurrentCalls.ts:110](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L110)
456
+ Defined in: [packages/utils/src/concurrentCalls.ts:127](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L127)
405
457
 
406
458
  ##### value
407
459
 
@@ -409,7 +461,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:110](https://github.com/lucas
409
461
  value: R;
410
462
  ```
411
463
 
412
- Defined in: [packages/utils/src/concurrentCalls.ts:109](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L109)
464
+ Defined in: [packages/utils/src/concurrentCalls.ts:126](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L126)
413
465
 
414
466
  ***
415
467
 
@@ -419,4 +471,20 @@ Defined in: [packages/utils/src/concurrentCalls.ts:109](https://github.com/lucas
419
471
  type ValidMetadata = string | number | boolean | Record<string, unknown>;
420
472
  ```
421
473
 
422
- Defined in: [packages/utils/src/concurrentCalls.ts:101](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L101)
474
+ Defined in: [packages/utils/src/concurrentCalls.ts:118](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L118)
475
+
476
+ ***
477
+
478
+ ### ValueFromResult\<R\>
479
+
480
+ ```ts
481
+ type ValueFromResult<R> = R extends Result<infer T, any> ? T : never;
482
+ ```
483
+
484
+ Defined in: [packages/utils/src/concurrentCalls.ts:479](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L479)
485
+
486
+ #### Type Parameters
487
+
488
+ ##### R
489
+
490
+ `R`
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### ConcurrentCallsAggregateError
16
16
 
17
- Defined in: [packages/utils/src/concurrentCalls.ts:32](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L32)
17
+ Defined in: [packages/utils/src/concurrentCalls.ts:38](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L38)
18
18
 
19
19
  #### Extends
20
20
 
@@ -31,13 +31,13 @@ new ConcurrentCallsAggregateError(
31
31
  failed): ConcurrentCallsAggregateError;
32
32
  ```
33
33
 
34
- Defined in: [packages/utils/src/concurrentCalls.ts:37](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L37)
34
+ Defined in: [packages/utils/src/concurrentCalls.ts:43](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L43)
35
35
 
36
36
  ###### Parameters
37
37
 
38
38
  ###### errors
39
39
 
40
- `Error`[]
40
+ `ResultValidErrors`[]
41
41
 
42
42
  ###### total
43
43
 
@@ -62,10 +62,10 @@ AggregateError.constructor
62
62
  ##### errors
63
63
 
64
64
  ```ts
65
- errors: Error[] = [];
65
+ errors: ResultValidErrors[] = [];
66
66
  ```
67
67
 
68
- Defined in: [packages/utils/src/concurrentCalls.ts:33](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L33)
68
+ Defined in: [packages/utils/src/concurrentCalls.ts:39](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L39)
69
69
 
70
70
  ###### Overrides
71
71
 
@@ -79,7 +79,7 @@ AggregateError.errors
79
79
  failed: number = 0;
80
80
  ```
81
81
 
82
- Defined in: [packages/utils/src/concurrentCalls.ts:35](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L35)
82
+ Defined in: [packages/utils/src/concurrentCalls.ts:41](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L41)
83
83
 
84
84
  ##### total
85
85
 
@@ -87,13 +87,13 @@ Defined in: [packages/utils/src/concurrentCalls.ts:35](https://github.com/lucaso
87
87
  total: number = 0;
88
88
  ```
89
89
 
90
- Defined in: [packages/utils/src/concurrentCalls.ts:34](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L34)
90
+ Defined in: [packages/utils/src/concurrentCalls.ts:40](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L40)
91
91
 
92
92
  ***
93
93
 
94
94
  ### ConcurrentCallsWithMetadataAggregateError\<M\>
95
95
 
96
- Defined in: [packages/utils/src/concurrentCalls.ts:50](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L50)
96
+ Defined in: [packages/utils/src/concurrentCalls.ts:62](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L62)
97
97
 
98
98
  #### Extends
99
99
 
@@ -116,7 +116,7 @@ new ConcurrentCallsWithMetadataAggregateError<M>(
116
116
  failed): ConcurrentCallsWithMetadataAggregateError<M>;
117
117
  ```
118
118
 
119
- Defined in: [packages/utils/src/concurrentCalls.ts:58](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L58)
119
+ Defined in: [packages/utils/src/concurrentCalls.ts:70](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L70)
120
120
 
121
121
  ###### Parameters
122
122
 
@@ -147,10 +147,10 @@ AggregateError.constructor
147
147
  ##### errors
148
148
 
149
149
  ```ts
150
- errors: Error[] = [];
150
+ errors: ResultValidErrors[] = [];
151
151
  ```
152
152
 
153
- Defined in: [packages/utils/src/concurrentCalls.ts:53](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L53)
153
+ Defined in: [packages/utils/src/concurrentCalls.ts:65](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L65)
154
154
 
155
155
  ###### Overrides
156
156
 
@@ -164,12 +164,12 @@ AggregateError.errors
164
164
  errorsWithMetadata: object[] = [];
165
165
  ```
166
166
 
167
- Defined in: [packages/utils/src/concurrentCalls.ts:54](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L54)
167
+ Defined in: [packages/utils/src/concurrentCalls.ts:66](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L66)
168
168
 
169
169
  ###### error
170
170
 
171
171
  ```ts
172
- error: Error;
172
+ error: ResultValidErrors;
173
173
  ```
174
174
 
175
175
  ###### metadata
@@ -184,7 +184,7 @@ metadata: M;
184
184
  failed: number = 0;
185
185
  ```
186
186
 
187
- Defined in: [packages/utils/src/concurrentCalls.ts:56](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L56)
187
+ Defined in: [packages/utils/src/concurrentCalls.ts:68](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L68)
188
188
 
189
189
  ##### total
190
190
 
@@ -192,7 +192,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:56](https://github.com/lucaso
192
192
  total: number = 0;
193
193
  ```
194
194
 
195
- Defined in: [packages/utils/src/concurrentCalls.ts:55](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L55)
195
+ Defined in: [packages/utils/src/concurrentCalls.ts:67](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L67)
196
196
 
197
197
  ## Functions
198
198
 
@@ -202,7 +202,7 @@ Defined in: [packages/utils/src/concurrentCalls.ts:55](https://github.com/lucaso
202
202
  function concurrentCalls<R>(): ConcurrentCalls<R, Error>;
203
203
  ```
204
204
 
205
- Defined in: [packages/utils/src/concurrentCalls.ts:246](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L246)
205
+ Defined in: [packages/utils/src/concurrentCalls.ts:273](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L273)
206
206
 
207
207
  Executes multiple asynchronous calls concurrently and collects the results in a easier to use format.
208
208
 
@@ -226,9 +226,9 @@ The type of the result value.
226
226
  function concurrentCallsWithMetadata<M, R>(): ConcurrentCallsWithMetadata<M, R, Error>;
227
227
  ```
228
228
 
229
- Defined in: [packages/utils/src/concurrentCalls.ts:435](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L435)
229
+ Defined in: [packages/utils/src/concurrentCalls.ts:472](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L472)
230
230
 
231
- Executes multiple asynchronous calls concurrently and collects the results in a easier to use format.
231
+ Executes multiple asynchronous calls concurrently with metadata for each call and collects the results in a easier to use format.
232
232
 
233
233
  #### Type Parameters
234
234
 
@@ -247,3 +247,53 @@ The type of the result value.
247
247
  #### Returns
248
248
 
249
249
  [`ConcurrentCallsWithMetadata`](-internal-.md#concurrentcallswithmetadata)\<`M`, `R`, `Error`\>
250
+
251
+ ***
252
+
253
+ ### concurrentResultCalls()
254
+
255
+ ```ts
256
+ function concurrentResultCalls<ResultFn>(): ConcurrentCalls<ValueFromResult<Awaited<ReturnType<ResultFn>>>, ErrorFromResult<Awaited<ReturnType<ResultFn>>>>;
257
+ ```
258
+
259
+ Defined in: [packages/utils/src/concurrentCalls.ts:487](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L487)
260
+
261
+ Executes multiple asynchronous result calls concurrently and collects the results in a easier to use format.
262
+
263
+ #### Type Parameters
264
+
265
+ ##### ResultFn
266
+
267
+ `ResultFn` *extends* (...`args`) => `Promise`\<`Result`\<`unknown`, `ResultValidErrors`\>\>
268
+
269
+ #### Returns
270
+
271
+ [`ConcurrentCalls`](-internal-.md#concurrentcalls)\<[`ValueFromResult`](-internal-.md#valuefromresult)\<`Awaited`\<`ReturnType`\<`ResultFn`\>\>\>, [`ErrorFromResult`](-internal-.md#errorfromresult)\<`Awaited`\<`ReturnType`\<`ResultFn`\>\>\>\>
272
+
273
+ ***
274
+
275
+ ### concurrentResultsWithMetadata()
276
+
277
+ ```ts
278
+ function concurrentResultsWithMetadata<M, ResultFn>(): ConcurrentCallsWithMetadata<M, ValueFromResult<Awaited<ReturnType<ResultFn>>>, ErrorFromResult<Awaited<ReturnType<ResultFn>>>>;
279
+ ```
280
+
281
+ Defined in: [packages/utils/src/concurrentCalls.ts:504](https://github.com/lucasols/utils/blob/main/packages/utils/src/concurrentCalls.ts#L504)
282
+
283
+ Executes multiple asynchronous result calls concurrently with metadata for each call and collects the results in a easier to use format.
284
+
285
+ #### Type Parameters
286
+
287
+ ##### M
288
+
289
+ `M` *extends* [`ValidMetadata`](-internal-.md#validmetadata)
290
+
291
+ ##### ResultFn
292
+
293
+ `ResultFn` *extends* (...`args`) => `Promise`\<`Result`\<`unknown`, `ResultValidErrors`\>\>
294
+
295
+ The type of the result function that will be called.
296
+
297
+ #### Returns
298
+
299
+ [`ConcurrentCallsWithMetadata`](-internal-.md#concurrentcallswithmetadata)\<`M`, [`ValueFromResult`](-internal-.md#valuefromresult)\<`Awaited`\<`ReturnType`\<`ResultFn`\>\>\>, [`ErrorFromResult`](-internal-.md#errorfromresult)\<`Awaited`\<`ReturnType`\<`ResultFn`\>\>\>\>
@@ -23,7 +23,9 @@ __export(concurrentCalls_exports, {
23
23
  ConcurrentCallsAggregateError: () => ConcurrentCallsAggregateError,
24
24
  ConcurrentCallsWithMetadataAggregateError: () => ConcurrentCallsWithMetadataAggregateError,
25
25
  concurrentCalls: () => concurrentCalls,
26
- concurrentCallsWithMetadata: () => concurrentCallsWithMetadata
26
+ concurrentCallsWithMetadata: () => concurrentCallsWithMetadata,
27
+ concurrentResultCalls: () => concurrentResultCalls,
28
+ concurrentResultsWithMetadata: () => concurrentResultsWithMetadata
27
29
  });
28
30
  module.exports = __toCommonJS(concurrentCalls_exports);
29
31
  var import_t_result = require("t-result");
@@ -60,6 +62,15 @@ function truncateArray(array, maxLength, appendIfTruncated) {
60
62
  return result;
61
63
  }
62
64
 
65
+ // src/safeJson.ts
66
+ function safeJsonStringify(value) {
67
+ try {
68
+ return JSON.stringify(value);
69
+ } catch (_) {
70
+ return void 0;
71
+ }
72
+ }
73
+
63
74
  // src/sleep.ts
64
75
  function sleep(ms) {
65
76
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -93,7 +104,10 @@ var ConcurrentCallsAggregateError = class extends AggregateError {
93
104
  failed = 0;
94
105
  constructor(errors, total, failed) {
95
106
  const messages = errors.map(
96
- (error) => `- ${truncateString(error.message, 100)}`
107
+ (error) => `- ${truncateString(
108
+ error instanceof Error ? error.message : safeJsonStringify(error) ?? "???",
109
+ 100
110
+ )}`
97
111
  );
98
112
  const message = formatErrorMessagesWithCounts(messages, failed, total);
99
113
  super(errors, message);
@@ -122,7 +136,10 @@ var ConcurrentCallsWithMetadataAggregateError = class extends AggregateError {
122
136
  }
123
137
  } catch (_) {
124
138
  }
125
- return `- ${metadataPrefix}${truncateString(error.message, 100)}`;
139
+ return `- ${metadataPrefix}${truncateString(
140
+ error instanceof Error ? error.message : safeJsonStringify(error) ?? "???",
141
+ 100
142
+ )}`;
126
143
  });
127
144
  const message = formatErrorMessagesWithCounts(messages, failed, total);
128
145
  const errorInstances = errors.map((e) => e.error);
@@ -136,11 +153,20 @@ var ConcurrentCallsWithMetadataAggregateError = class extends AggregateError {
136
153
  var ConcurrentCalls = class {
137
154
  #pendingCalls = [];
138
155
  #alreadyRun = false;
156
+ allowResultify = true;
157
+ constructor(allowResultify) {
158
+ this.allowResultify = allowResultify;
159
+ }
139
160
  add(...calls) {
140
161
  this.#pendingCalls.push(...calls);
141
162
  return this;
142
163
  }
143
164
  resultifyAdd(...calls) {
165
+ if (!this.allowResultify) {
166
+ throw new Error(
167
+ "resultifyAdd is not allowed when using concurrentResults"
168
+ );
169
+ }
144
170
  const processedCalls = calls.map((call) => {
145
171
  return async () => {
146
172
  try {
@@ -221,11 +247,15 @@ var ConcurrentCalls = class {
221
247
  }
222
248
  };
223
249
  function concurrentCalls() {
224
- return new ConcurrentCalls();
250
+ return new ConcurrentCalls(true);
225
251
  }
226
252
  var ConcurrentCallsWithMetadata = class {
227
253
  #pendingCalls = [];
228
254
  #alreadyRun = false;
255
+ allowResultify = true;
256
+ constructor(allowResultify) {
257
+ this.allowResultify = allowResultify;
258
+ }
229
259
  add(...calls) {
230
260
  invariant(
231
261
  !this.#alreadyRun,
@@ -235,6 +265,11 @@ var ConcurrentCallsWithMetadata = class {
235
265
  return this;
236
266
  }
237
267
  resultifyAdd(...items) {
268
+ if (!this.allowResultify) {
269
+ throw new Error(
270
+ "resultifyAdd is not allowed when using concurrentResultsWithMetadata"
271
+ );
272
+ }
238
273
  const processedItems = items.map(({ fn, metadata }) => {
239
274
  const cb = () => (0, import_t_result.resultify)(async () => {
240
275
  const valueOrPromise = fn();
@@ -352,12 +387,20 @@ var ConcurrentCallsWithMetadata = class {
352
387
  }
353
388
  };
354
389
  function concurrentCallsWithMetadata() {
355
- return new ConcurrentCallsWithMetadata();
390
+ return new ConcurrentCallsWithMetadata(true);
391
+ }
392
+ function concurrentResultCalls() {
393
+ return new ConcurrentCalls(false);
394
+ }
395
+ function concurrentResultsWithMetadata() {
396
+ return new ConcurrentCallsWithMetadata(false);
356
397
  }
357
398
  // Annotate the CommonJS export names for ESM import in node:
358
399
  0 && (module.exports = {
359
400
  ConcurrentCallsAggregateError,
360
401
  ConcurrentCallsWithMetadataAggregateError,
361
402
  concurrentCalls,
362
- concurrentCallsWithMetadata
403
+ concurrentCallsWithMetadata,
404
+ concurrentResultCalls,
405
+ concurrentResultsWithMetadata
363
406
  });
@@ -1,21 +1,21 @@
1
- import { Result } from 't-result';
1
+ import { ResultValidErrors, Result } from 't-result';
2
2
 
3
3
  declare class ConcurrentCallsAggregateError extends AggregateError {
4
- errors: Error[];
4
+ errors: ResultValidErrors[];
5
5
  total: number;
6
6
  failed: number;
7
- constructor(errors: Error[], total: number, failed: number);
7
+ constructor(errors: ResultValidErrors[], total: number, failed: number);
8
8
  }
9
9
  declare class ConcurrentCallsWithMetadataAggregateError<M extends ValidMetadata> extends AggregateError {
10
- errors: Error[];
10
+ errors: ResultValidErrors[];
11
11
  errorsWithMetadata: {
12
- error: Error;
12
+ error: ResultValidErrors;
13
13
  metadata: M;
14
14
  }[];
15
15
  total: number;
16
16
  failed: number;
17
17
  constructor(errors: {
18
- error: Error;
18
+ error: ResultValidErrors;
19
19
  metadata: M;
20
20
  }[], total: number, failed: number);
21
21
  }
@@ -27,12 +27,12 @@ type SucceededCall<R, M> = {
27
27
  value: R;
28
28
  metadata: M;
29
29
  };
30
- type FailedCall<M, E extends Error = Error> = {
30
+ type FailedCall<M, E extends ResultValidErrors = Error> = {
31
31
  metadata: M;
32
32
  error: E;
33
33
  };
34
- type Action<R, E extends Error> = () => Promise<Result<R, E>>;
35
- type SettledResultWithMetadata<R, M, E extends Error = Error> = {
34
+ type Action<R, E extends ResultValidErrors> = () => Promise<Result<R, E>>;
35
+ type SettledResultWithMetadata<R, M, E extends ResultValidErrors = Error> = {
36
36
  ok: true;
37
37
  value: R;
38
38
  metadata: M;
@@ -42,8 +42,10 @@ type SettledResultWithMetadata<R, M, E extends Error = Error> = {
42
42
  error: E;
43
43
  metadata: M;
44
44
  };
45
- declare class ConcurrentCalls<R = unknown, E extends Error = Error> {
45
+ declare class ConcurrentCalls<R = unknown, E extends ResultValidErrors = Error> {
46
46
  #private;
47
+ allowResultify: boolean;
48
+ constructor(allowResultify: boolean);
47
49
  add(...calls: Action<R, E>[]): this;
48
50
  resultifyAdd(...calls: ((() => R) | (() => Promise<R>))[]): this;
49
51
  runAll({ delayStart }?: RunProps): Promise<Result<R[], E>>;
@@ -59,11 +61,12 @@ declare class ConcurrentCalls<R = unknown, E extends Error = Error> {
59
61
  * Executes multiple asynchronous calls concurrently and collects the results in a easier to use format.
60
62
  *
61
63
  * @template R - The type of the result value.
62
- * @template E - The type of the error.
63
64
  */
64
65
  declare function concurrentCalls<R = unknown>(): ConcurrentCalls<R, Error>;
65
- declare class ConcurrentCallsWithMetadata<M extends ValidMetadata, R = unknown, E extends Error = Error> {
66
+ declare class ConcurrentCallsWithMetadata<M extends ValidMetadata, R = unknown, E extends ResultValidErrors = Error> {
66
67
  #private;
68
+ allowResultify: boolean;
69
+ constructor(allowResultify: boolean);
67
70
  add(...calls: {
68
71
  fn: Action<R, E>;
69
72
  metadata: M;
@@ -85,12 +88,25 @@ declare class ConcurrentCallsWithMetadata<M extends ValidMetadata, R = unknown,
85
88
  }>;
86
89
  }
87
90
  /**
88
- * Executes multiple asynchronous calls concurrently and collects the results in a easier to use format.
91
+ * Executes multiple asynchronous calls concurrently with metadata for each call and collects the results in a easier to use format.
89
92
  *
90
93
  * @template M - The type of the call metadata.
91
94
  * @template R - The type of the result value.
92
- * @template E - The type of the error from individual Result objects.
93
95
  */
94
96
  declare function concurrentCallsWithMetadata<M extends ValidMetadata, R = unknown>(): ConcurrentCallsWithMetadata<M, R, Error>;
97
+ type ValueFromResult<R> = R extends Result<infer T, any> ? T : never;
98
+ type ErrorFromResult<R> = R extends Result<any, infer E> ? E : never;
99
+ /**
100
+ * Executes multiple asynchronous result calls concurrently and collects the results in a easier to use format.
101
+ *
102
+ * @template R - The type of the result function that will be called.
103
+ */
104
+ declare function concurrentResultCalls<ResultFn extends (...args: any[]) => Promise<Result<unknown, ResultValidErrors>>>(): ConcurrentCalls<ValueFromResult<Awaited<ReturnType<ResultFn>>>, ErrorFromResult<Awaited<ReturnType<ResultFn>>>>;
105
+ /**
106
+ * Executes multiple asynchronous result calls concurrently with metadata for each call and collects the results in a easier to use format.
107
+ *
108
+ * @template ResultFn - The type of the result function that will be called.
109
+ */
110
+ declare function concurrentResultsWithMetadata<M extends ValidMetadata, ResultFn extends (...args: any[]) => Promise<Result<unknown, ResultValidErrors>>>(): ConcurrentCallsWithMetadata<M, ValueFromResult<Awaited<ReturnType<ResultFn>>>, ErrorFromResult<Awaited<ReturnType<ResultFn>>>>;
95
111
 
96
- export { ConcurrentCallsAggregateError, ConcurrentCallsWithMetadataAggregateError, concurrentCalls, concurrentCallsWithMetadata };
112
+ export { ConcurrentCallsAggregateError, ConcurrentCallsWithMetadataAggregateError, concurrentCalls, concurrentCallsWithMetadata, concurrentResultCalls, concurrentResultsWithMetadata };
@@ -1,21 +1,21 @@
1
- import { Result } from 't-result';
1
+ import { ResultValidErrors, Result } from 't-result';
2
2
 
3
3
  declare class ConcurrentCallsAggregateError extends AggregateError {
4
- errors: Error[];
4
+ errors: ResultValidErrors[];
5
5
  total: number;
6
6
  failed: number;
7
- constructor(errors: Error[], total: number, failed: number);
7
+ constructor(errors: ResultValidErrors[], total: number, failed: number);
8
8
  }
9
9
  declare class ConcurrentCallsWithMetadataAggregateError<M extends ValidMetadata> extends AggregateError {
10
- errors: Error[];
10
+ errors: ResultValidErrors[];
11
11
  errorsWithMetadata: {
12
- error: Error;
12
+ error: ResultValidErrors;
13
13
  metadata: M;
14
14
  }[];
15
15
  total: number;
16
16
  failed: number;
17
17
  constructor(errors: {
18
- error: Error;
18
+ error: ResultValidErrors;
19
19
  metadata: M;
20
20
  }[], total: number, failed: number);
21
21
  }
@@ -27,12 +27,12 @@ type SucceededCall<R, M> = {
27
27
  value: R;
28
28
  metadata: M;
29
29
  };
30
- type FailedCall<M, E extends Error = Error> = {
30
+ type FailedCall<M, E extends ResultValidErrors = Error> = {
31
31
  metadata: M;
32
32
  error: E;
33
33
  };
34
- type Action<R, E extends Error> = () => Promise<Result<R, E>>;
35
- type SettledResultWithMetadata<R, M, E extends Error = Error> = {
34
+ type Action<R, E extends ResultValidErrors> = () => Promise<Result<R, E>>;
35
+ type SettledResultWithMetadata<R, M, E extends ResultValidErrors = Error> = {
36
36
  ok: true;
37
37
  value: R;
38
38
  metadata: M;
@@ -42,8 +42,10 @@ type SettledResultWithMetadata<R, M, E extends Error = Error> = {
42
42
  error: E;
43
43
  metadata: M;
44
44
  };
45
- declare class ConcurrentCalls<R = unknown, E extends Error = Error> {
45
+ declare class ConcurrentCalls<R = unknown, E extends ResultValidErrors = Error> {
46
46
  #private;
47
+ allowResultify: boolean;
48
+ constructor(allowResultify: boolean);
47
49
  add(...calls: Action<R, E>[]): this;
48
50
  resultifyAdd(...calls: ((() => R) | (() => Promise<R>))[]): this;
49
51
  runAll({ delayStart }?: RunProps): Promise<Result<R[], E>>;
@@ -59,11 +61,12 @@ declare class ConcurrentCalls<R = unknown, E extends Error = Error> {
59
61
  * Executes multiple asynchronous calls concurrently and collects the results in a easier to use format.
60
62
  *
61
63
  * @template R - The type of the result value.
62
- * @template E - The type of the error.
63
64
  */
64
65
  declare function concurrentCalls<R = unknown>(): ConcurrentCalls<R, Error>;
65
- declare class ConcurrentCallsWithMetadata<M extends ValidMetadata, R = unknown, E extends Error = Error> {
66
+ declare class ConcurrentCallsWithMetadata<M extends ValidMetadata, R = unknown, E extends ResultValidErrors = Error> {
66
67
  #private;
68
+ allowResultify: boolean;
69
+ constructor(allowResultify: boolean);
67
70
  add(...calls: {
68
71
  fn: Action<R, E>;
69
72
  metadata: M;
@@ -85,12 +88,25 @@ declare class ConcurrentCallsWithMetadata<M extends ValidMetadata, R = unknown,
85
88
  }>;
86
89
  }
87
90
  /**
88
- * Executes multiple asynchronous calls concurrently and collects the results in a easier to use format.
91
+ * Executes multiple asynchronous calls concurrently with metadata for each call and collects the results in a easier to use format.
89
92
  *
90
93
  * @template M - The type of the call metadata.
91
94
  * @template R - The type of the result value.
92
- * @template E - The type of the error from individual Result objects.
93
95
  */
94
96
  declare function concurrentCallsWithMetadata<M extends ValidMetadata, R = unknown>(): ConcurrentCallsWithMetadata<M, R, Error>;
97
+ type ValueFromResult<R> = R extends Result<infer T, any> ? T : never;
98
+ type ErrorFromResult<R> = R extends Result<any, infer E> ? E : never;
99
+ /**
100
+ * Executes multiple asynchronous result calls concurrently and collects the results in a easier to use format.
101
+ *
102
+ * @template R - The type of the result function that will be called.
103
+ */
104
+ declare function concurrentResultCalls<ResultFn extends (...args: any[]) => Promise<Result<unknown, ResultValidErrors>>>(): ConcurrentCalls<ValueFromResult<Awaited<ReturnType<ResultFn>>>, ErrorFromResult<Awaited<ReturnType<ResultFn>>>>;
105
+ /**
106
+ * Executes multiple asynchronous result calls concurrently with metadata for each call and collects the results in a easier to use format.
107
+ *
108
+ * @template ResultFn - The type of the result function that will be called.
109
+ */
110
+ declare function concurrentResultsWithMetadata<M extends ValidMetadata, ResultFn extends (...args: any[]) => Promise<Result<unknown, ResultValidErrors>>>(): ConcurrentCallsWithMetadata<M, ValueFromResult<Awaited<ReturnType<ResultFn>>>, ErrorFromResult<Awaited<ReturnType<ResultFn>>>>;
95
111
 
96
- export { ConcurrentCallsAggregateError, ConcurrentCallsWithMetadataAggregateError, concurrentCalls, concurrentCallsWithMetadata };
112
+ export { ConcurrentCallsAggregateError, ConcurrentCallsWithMetadataAggregateError, concurrentCalls, concurrentCallsWithMetadata, concurrentResultCalls, concurrentResultsWithMetadata };
@@ -4,6 +4,9 @@ import {
4
4
  import {
5
5
  sleep
6
6
  } from "./chunk-5DZT3Z5Z.js";
7
+ import {
8
+ safeJsonStringify
9
+ } from "./chunk-VAAMRG4K.js";
7
10
  import {
8
11
  truncateArray
9
12
  } from "./chunk-SRVMMYSW.js";
@@ -16,7 +19,11 @@ import {
16
19
  } from "./chunk-JF2MDHOJ.js";
17
20
 
18
21
  // src/concurrentCalls.ts
19
- import { Result, resultify, unknownToError } from "t-result";
22
+ import {
23
+ Result,
24
+ resultify,
25
+ unknownToError
26
+ } from "t-result";
20
27
  function formatErrorMessagesWithCounts(messages, failed, total) {
21
28
  const errorMessageCounts = /* @__PURE__ */ new Map();
22
29
  for (const message of messages) {
@@ -38,7 +45,10 @@ var ConcurrentCallsAggregateError = class extends AggregateError {
38
45
  failed = 0;
39
46
  constructor(errors, total, failed) {
40
47
  const messages = errors.map(
41
- (error) => `- ${truncateString(error.message, 100)}`
48
+ (error) => `- ${truncateString(
49
+ error instanceof Error ? error.message : safeJsonStringify(error) ?? "???",
50
+ 100
51
+ )}`
42
52
  );
43
53
  const message = formatErrorMessagesWithCounts(messages, failed, total);
44
54
  super(errors, message);
@@ -67,7 +77,10 @@ var ConcurrentCallsWithMetadataAggregateError = class extends AggregateError {
67
77
  }
68
78
  } catch (_) {
69
79
  }
70
- return `- ${metadataPrefix}${truncateString(error.message, 100)}`;
80
+ return `- ${metadataPrefix}${truncateString(
81
+ error instanceof Error ? error.message : safeJsonStringify(error) ?? "???",
82
+ 100
83
+ )}`;
71
84
  });
72
85
  const message = formatErrorMessagesWithCounts(messages, failed, total);
73
86
  const errorInstances = errors.map((e) => e.error);
@@ -81,11 +94,20 @@ var ConcurrentCallsWithMetadataAggregateError = class extends AggregateError {
81
94
  var ConcurrentCalls = class {
82
95
  #pendingCalls = [];
83
96
  #alreadyRun = false;
97
+ allowResultify = true;
98
+ constructor(allowResultify) {
99
+ this.allowResultify = allowResultify;
100
+ }
84
101
  add(...calls) {
85
102
  this.#pendingCalls.push(...calls);
86
103
  return this;
87
104
  }
88
105
  resultifyAdd(...calls) {
106
+ if (!this.allowResultify) {
107
+ throw new Error(
108
+ "resultifyAdd is not allowed when using concurrentResults"
109
+ );
110
+ }
89
111
  const processedCalls = calls.map((call) => {
90
112
  return async () => {
91
113
  try {
@@ -166,11 +188,15 @@ var ConcurrentCalls = class {
166
188
  }
167
189
  };
168
190
  function concurrentCalls() {
169
- return new ConcurrentCalls();
191
+ return new ConcurrentCalls(true);
170
192
  }
171
193
  var ConcurrentCallsWithMetadata = class {
172
194
  #pendingCalls = [];
173
195
  #alreadyRun = false;
196
+ allowResultify = true;
197
+ constructor(allowResultify) {
198
+ this.allowResultify = allowResultify;
199
+ }
174
200
  add(...calls) {
175
201
  invariant(
176
202
  !this.#alreadyRun,
@@ -180,6 +206,11 @@ var ConcurrentCallsWithMetadata = class {
180
206
  return this;
181
207
  }
182
208
  resultifyAdd(...items) {
209
+ if (!this.allowResultify) {
210
+ throw new Error(
211
+ "resultifyAdd is not allowed when using concurrentResultsWithMetadata"
212
+ );
213
+ }
183
214
  const processedItems = items.map(({ fn, metadata }) => {
184
215
  const cb = () => resultify(async () => {
185
216
  const valueOrPromise = fn();
@@ -297,11 +328,19 @@ var ConcurrentCallsWithMetadata = class {
297
328
  }
298
329
  };
299
330
  function concurrentCallsWithMetadata() {
300
- return new ConcurrentCallsWithMetadata();
331
+ return new ConcurrentCallsWithMetadata(true);
332
+ }
333
+ function concurrentResultCalls() {
334
+ return new ConcurrentCalls(false);
335
+ }
336
+ function concurrentResultsWithMetadata() {
337
+ return new ConcurrentCallsWithMetadata(false);
301
338
  }
302
339
  export {
303
340
  ConcurrentCallsAggregateError,
304
341
  ConcurrentCallsWithMetadataAggregateError,
305
342
  concurrentCalls,
306
- concurrentCallsWithMetadata
343
+ concurrentCallsWithMetadata,
344
+ concurrentResultCalls,
345
+ concurrentResultsWithMetadata
307
346
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ls-stack/utils",
3
3
  "description": "Universal TypeScript utilities for browser and Node.js",
4
- "version": "3.31.0",
4
+ "version": "3.32.0",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "lib",