@xylabs/promise 4.13.20 → 4.13.21

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 (2) hide show
  1. package/README.md +576 -3
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -12,13 +12,586 @@
12
12
  [![snyk-badge][]][snyk-link]
13
13
  [![socket-badge][]][socket-link]
14
14
 
15
- Version: 4.13.19
16
15
 
17
16
  Base functionality used throughout XY Labs TypeScript/JavaScript libraries
18
17
 
19
- ## Documentation
18
+ ## API Documentation
19
+
20
+ **@xylabs/promise**
21
+
22
+ ***
23
+
24
+ ## Classes
25
+
26
+ - [PromiseEx](#classes/PromiseEx)
27
+
28
+ ## Interfaces
29
+
30
+ - [PromiseType](#interfaces/PromiseType)
31
+
32
+ ## Type Aliases
33
+
34
+ - [PromiseExSubFunc](#type-aliases/PromiseExSubFunc)
35
+ - [PromiseExFunc](#type-aliases/PromiseExFunc)
36
+ - [PromiseExValueFunc](#type-aliases/PromiseExValueFunc)
37
+ - [AnyNonPromise](#type-aliases/AnyNonPromise)
38
+ - [Promisable](#type-aliases/Promisable)
39
+ - [PromisableArray](#type-aliases/PromisableArray)
40
+ - [OptionalPromisable](#type-aliases/OptionalPromisable)
41
+ - [OptionalPromisableArray](#type-aliases/OptionalPromisableArray)
42
+ - [NullablePromisable](#type-aliases/NullablePromisable)
43
+ - [NullablePromisableArray](#type-aliases/NullablePromisableArray)
44
+ - [AsyncMutex](#type-aliases/AsyncMutex)
45
+
46
+ ## Functions
47
+
48
+ - [fulfilled](#functions/fulfilled)
49
+ - [fulfilledValues](#functions/fulfilledValues)
50
+ - [isPromise](#functions/isPromise)
51
+ - [rejected](#functions/rejected)
52
+ - [toPromise](#functions/toPromise)
53
+
54
+ ### classes
55
+
56
+ ### <a id="PromiseEx"></a>PromiseEx
57
+
58
+ [**@xylabs/promise**](#../README)
59
+
60
+ ***
61
+
62
+ ## Extends
63
+
64
+ - `Promise`\<`T`\>
65
+
66
+ ## Type Parameters
67
+
68
+ ### T
69
+
70
+ `T`
71
+
72
+ ### V
73
+
74
+ `V` = `void`
75
+
76
+ ## Constructors
77
+
78
+ ### Constructor
79
+
80
+ ```ts
81
+ new PromiseEx<T, V>(func, value?): PromiseEx<T, V>;
82
+ ```
83
+
84
+ ### Parameters
85
+
86
+ #### func
87
+
88
+ [`PromiseExFunc`](#../type-aliases/PromiseExFunc)\<`T`\>
89
+
90
+ #### value?
91
+
92
+ `V`
93
+
94
+ ### Returns
95
+
96
+ `PromiseEx`\<`T`, `V`\>
97
+
98
+ ### Overrides
99
+
100
+ ```ts
101
+ Promise<T>.constructor
102
+ ```
103
+
104
+ ## Properties
105
+
106
+ ### cancelled?
107
+
108
+ ```ts
109
+ optional cancelled: boolean;
110
+ ```
111
+
112
+ ## Methods
113
+
114
+ ### then()
115
+
116
+ ```ts
117
+ then<TResult1, TResult2>(
118
+ onfulfilled?,
119
+ onrejected?,
120
+ onvalue?): Promise<TResult1 | TResult2>;
121
+ ```
122
+
123
+ Attaches callbacks for the resolution and/or rejection of the Promise.
124
+
125
+ ### Type Parameters
126
+
127
+ #### TResult1
128
+
129
+ `TResult1` = `T`
130
+
131
+ #### TResult2
132
+
133
+ `TResult2` = `never`
134
+
135
+ ### Parameters
136
+
137
+ #### onfulfilled?
138
+
139
+ The callback to execute when the Promise is resolved.
140
+
141
+ `null` | (`value`) => `TResult1` \| `PromiseLike`\<`TResult1`\>
142
+
143
+ #### onrejected?
144
+
145
+ The callback to execute when the Promise is rejected.
146
+
147
+ `null` | (`reason`) => `TResult2` \| `PromiseLike`\<`TResult2`\>
148
+
149
+ #### onvalue?
150
+
151
+ (`value?`) => `boolean`
152
+
153
+ ### Returns
154
+
155
+ `Promise`\<`TResult1` \| `TResult2`\>
156
+
157
+ A Promise for the completion of which ever callback is executed.
158
+
159
+ ### Overrides
160
+
161
+ ```ts
162
+ Promise.then
163
+ ```
164
+
165
+ ***
166
+
167
+ ### value()
168
+
169
+ ```ts
170
+ value(onvalue?): PromiseEx<T, V>;
171
+ ```
172
+
173
+ ### Parameters
174
+
175
+ #### onvalue?
176
+
177
+ (`value?`) => `boolean`
178
+
179
+ ### Returns
180
+
181
+ `PromiseEx`\<`T`, `V`\>
182
+
183
+ ### functions
184
+
185
+ ### <a id="fulfilled"></a>fulfilled
186
+
187
+ [**@xylabs/promise**](#../README)
188
+
189
+ ***
190
+
191
+ ```ts
192
+ function fulfilled<T>(val): val is PromiseFulfilledResult<T>;
193
+ ```
194
+
195
+ For use with Promise.allSettled to filter only successful results
196
+
197
+ ## Type Parameters
198
+
199
+ ### T
200
+
201
+ `T`
202
+
203
+ ## Parameters
204
+
205
+ ### val
206
+
207
+ `PromiseSettledResult`\<`T`\>
208
+
209
+ ## Returns
210
+
211
+ `val is PromiseFulfilledResult<T>`
212
+
213
+ ### <a id="fulfilledValues"></a>fulfilledValues
214
+
215
+ [**@xylabs/promise**](#../README)
216
+
217
+ ***
218
+
219
+ ```ts
220
+ function fulfilledValues<T>(previousValue, currentValue): T[];
221
+ ```
222
+
223
+ For use with Promise.allSettled to reduce to only successful result values
224
+
225
+ ## Type Parameters
226
+
227
+ ### T
228
+
229
+ `T`
230
+
231
+ ## Parameters
232
+
233
+ ### previousValue
234
+
235
+ `T`[]
236
+
237
+ ### currentValue
238
+
239
+ `PromiseSettledResult`\<`T`\>
240
+
241
+ ## Returns
242
+
243
+ `T`[]
244
+
245
+ ## Examples
246
+
247
+ ```ts
248
+ const resolved = Promise.resolve('resolved')
249
+ const rejected = Promise.reject('rejected')
250
+ const settled = await Promise.allSettled([resolved, rejected])
251
+ const results = settled.reduce(fulfilledValues, [] as string[])
252
+ // results === [ 'resolved' ]
253
+ ```
254
+
255
+ ```ts
256
+ const resolved = Promise.resolve('resolved')
257
+ const rejected = Promise.reject('rejected')
258
+ const settled = await Promise.allSettled([resolved, rejected])
259
+ const results = settled.reduce<string[]>(fulfilledValues, [])
260
+ // results === [ 'resolved' ]
261
+ ```
262
+
263
+ ### <a id="isPromise"></a>isPromise
264
+
265
+ [**@xylabs/promise**](#../README)
266
+
267
+ ***
268
+
269
+ ```ts
270
+ function isPromise(value): value is Promise<unknown>;
271
+ ```
272
+
273
+ ## Parameters
274
+
275
+ ### value
276
+
277
+ `unknown`
278
+
279
+ ## Returns
280
+
281
+ `value is Promise<unknown>`
282
+
283
+ ### <a id="rejected"></a>rejected
284
+
285
+ [**@xylabs/promise**](#../README)
286
+
287
+ ***
288
+
289
+ ```ts
290
+ function rejected<T>(val): val is PromiseRejectedResult;
291
+ ```
292
+
293
+ For use with Promise.allSettled to filter only rejected results
294
+
295
+ ## Type Parameters
296
+
297
+ ### T
298
+
299
+ `T`
300
+
301
+ ## Parameters
302
+
303
+ ### val
304
+
305
+ `PromiseSettledResult`\<`T`\>
306
+
307
+ ## Returns
308
+
309
+ `val is PromiseRejectedResult`
310
+
311
+ ### <a id="toPromise"></a>toPromise
312
+
313
+ [**@xylabs/promise**](#../README)
314
+
315
+ ***
316
+
317
+ ```ts
318
+ function toPromise<T>(value): Promise<T>;
319
+ ```
320
+
321
+ ## Type Parameters
322
+
323
+ ### T
324
+
325
+ `T`
326
+
327
+ ## Parameters
328
+
329
+ ### value
330
+
331
+ [`Promisable`](#../type-aliases/Promisable)\<`T`\>
332
+
333
+ ## Returns
334
+
335
+ `Promise`\<`T`\>
336
+
337
+ ### interfaces
338
+
339
+ ### <a id="PromiseType"></a>PromiseType
340
+
341
+ [**@xylabs/promise**](#../README)
342
+
343
+ ***
344
+
345
+ ## Properties
346
+
347
+ ### then()
348
+
349
+ ```ts
350
+ then: () => unknown;
351
+ ```
352
+
353
+ ### Returns
354
+
355
+ `unknown`
356
+
357
+ ### type-aliases
358
+
359
+ ### <a id="AnyNonPromise"></a>AnyNonPromise
360
+
361
+ [**@xylabs/promise**](#../README)
362
+
363
+ ***
364
+
365
+ ```ts
366
+ type AnyNonPromise = Exclude<TypedValue, PromiseType>;
367
+ ```
368
+
369
+ ### <a id="AsyncMutex"></a>AsyncMutex
370
+
371
+ [**@xylabs/promise**](#../README)
372
+
373
+ ***
374
+
375
+ ```ts
376
+ type AsyncMutex<T> = Promise<T>;
377
+ ```
378
+
379
+ ## Type Parameters
380
+
381
+ ### T
382
+
383
+ `T`
384
+
385
+ ## Description
386
+
387
+ Used to document promises that are being used as Mutexes
388
+
389
+ ### <a id="NullablePromisable"></a>NullablePromisable
390
+
391
+ [**@xylabs/promise**](#../README)
392
+
393
+ ***
394
+
395
+ ```ts
396
+ type NullablePromisable<T, V> = Promisable<T | null, V>;
397
+ ```
398
+
399
+ ## Type Parameters
400
+
401
+ ### T
402
+
403
+ `T`
404
+
405
+ ### V
406
+
407
+ `V` = `never`
408
+
409
+ ### <a id="NullablePromisableArray"></a>NullablePromisableArray
410
+
411
+ [**@xylabs/promise**](#../README)
412
+
413
+ ***
414
+
415
+ ```ts
416
+ type NullablePromisableArray<T, V> = PromisableArray<T | null, V>;
417
+ ```
418
+
419
+ ## Type Parameters
420
+
421
+ ### T
422
+
423
+ `T`
424
+
425
+ ### V
426
+
427
+ `V` = `never`
428
+
429
+ ### <a id="OptionalPromisable"></a>OptionalPromisable
430
+
431
+ [**@xylabs/promise**](#../README)
432
+
433
+ ***
434
+
435
+ ```ts
436
+ type OptionalPromisable<T, V> = Promisable<T | undefined, V>;
437
+ ```
438
+
439
+ ## Type Parameters
440
+
441
+ ### T
442
+
443
+ `T`
444
+
445
+ ### V
446
+
447
+ `V` = `never`
448
+
449
+ ### <a id="OptionalPromisableArray"></a>OptionalPromisableArray
450
+
451
+ [**@xylabs/promise**](#../README)
452
+
453
+ ***
454
+
455
+ ```ts
456
+ type OptionalPromisableArray<T, V> = PromisableArray<T | undefined, V>;
457
+ ```
458
+
459
+ ## Type Parameters
460
+
461
+ ### T
462
+
463
+ `T`
464
+
465
+ ### V
466
+
467
+ `V` = `never`
468
+
469
+ ### <a id="Promisable"></a>Promisable
470
+
471
+ [**@xylabs/promise**](#../README)
472
+
473
+ ***
474
+
475
+ ```ts
476
+ type Promisable<T, V> = PromiseEx<T, V> | Promise<T> | T;
477
+ ```
478
+
479
+ ## Type Parameters
480
+
481
+ ### T
482
+
483
+ `T`
484
+
485
+ ### V
486
+
487
+ `V` = `never`
488
+
489
+ ### <a id="PromisableArray"></a>PromisableArray
490
+
491
+ [**@xylabs/promise**](#../README)
492
+
493
+ ***
494
+
495
+ ```ts
496
+ type PromisableArray<T, V> = Promisable<T[], V>;
497
+ ```
498
+
499
+ ## Type Parameters
500
+
501
+ ### T
502
+
503
+ `T`
504
+
505
+ ### V
506
+
507
+ `V` = `never`
508
+
509
+ ### <a id="PromiseExFunc"></a>PromiseExFunc
510
+
511
+ [**@xylabs/promise**](#../README)
512
+
513
+ ***
514
+
515
+ ```ts
516
+ type PromiseExFunc<T> = (resolve?, reject?) => void;
517
+ ```
518
+
519
+ ## Type Parameters
520
+
521
+ ### T
522
+
523
+ `T`
524
+
525
+ ## Parameters
526
+
527
+ ### resolve?
528
+
529
+ [`PromiseExSubFunc`](#PromiseExSubFunc)\<`T`, `void`\>
530
+
531
+ ### reject?
532
+
533
+ [`PromiseExSubFunc`](#PromiseExSubFunc)\<`T`, `void`\>
534
+
535
+ ## Returns
536
+
537
+ `void`
538
+
539
+ ### <a id="PromiseExSubFunc"></a>PromiseExSubFunc
540
+
541
+ [**@xylabs/promise**](#../README)
542
+
543
+ ***
544
+
545
+ ```ts
546
+ type PromiseExSubFunc<T, TResult> = (value) => TResult;
547
+ ```
548
+
549
+ ## Type Parameters
550
+
551
+ ### T
552
+
553
+ `T`
554
+
555
+ ### TResult
556
+
557
+ `TResult` = `T`
558
+
559
+ ## Parameters
560
+
561
+ ### value
562
+
563
+ `T`
564
+
565
+ ## Returns
566
+
567
+ `TResult`
568
+
569
+ ### <a id="PromiseExValueFunc"></a>PromiseExValueFunc
570
+
571
+ [**@xylabs/promise**](#../README)
572
+
573
+ ***
574
+
575
+ ```ts
576
+ type PromiseExValueFunc<V> = (value?) => boolean;
577
+ ```
578
+
579
+ ## Type Parameters
580
+
581
+ ### V
582
+
583
+ `V`
584
+
585
+ ## Parameters
586
+
587
+ ### value?
588
+
589
+ `V`
590
+
591
+ ## Returns
592
+
593
+ `boolean`
20
594
 
21
- Coming Soon!
22
595
 
23
596
  Part of [sdk-js](https://www.npmjs.com/package/@xyo-network/sdk-js)
24
597
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/promise",
3
- "version": "4.13.20",
3
+ "version": "4.13.21",
4
4
  "description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
5
5
  "keywords": [
6
6
  "promise",
@@ -44,8 +44,8 @@
44
44
  "devDependencies": {
45
45
  "@xylabs/ts-scripts-yarn3": "^7.0.0",
46
46
  "@xylabs/tsconfig": "^7.0.0",
47
- "@xylabs/typeof": "^4.13.20",
48
- "@xylabs/vitest-extended": "^4.13.20",
47
+ "@xylabs/typeof": "^4.13.21",
48
+ "@xylabs/vitest-extended": "^4.13.21",
49
49
  "typescript": "^5.8.3",
50
50
  "vitest": "^3.2.4"
51
51
  },