@rimbu/common 0.9.4 → 0.10.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/main/async-reducer.js +559 -0
- package/dist/main/async-reducer.js.map +1 -1
- package/dist/main/reducer.js +32 -16
- package/dist/main/reducer.js.map +1 -1
- package/dist/module/async-reducer.js +445 -0
- package/dist/module/async-reducer.js.map +1 -1
- package/dist/module/reducer.js +31 -16
- package/dist/module/reducer.js.map +1 -1
- package/dist/types/async-reducer.d.ts +310 -1
- package/dist/types/reducer.d.ts +33 -17
- package/package.json +2 -2
- package/src/async-reducer.ts +663 -0
- package/src/reducer.ts +46 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-reducer.js","sourceRoot":"","sources":["../../src/async-reducer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"async-reducer.js","sourceRoot":"","sources":["../../src/async-reducer.ts"],"names":[],"mappings":"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"}
|
package/dist/module/reducer.js
CHANGED
|
@@ -4,16 +4,6 @@ function identity(value) {
|
|
|
4
4
|
}
|
|
5
5
|
export var Reducer;
|
|
6
6
|
(function (Reducer) {
|
|
7
|
-
/**
|
|
8
|
-
* Returns the contained value for an `Init` instance.
|
|
9
|
-
* @param init - the `Init` value container
|
|
10
|
-
*/
|
|
11
|
-
function Init(init) {
|
|
12
|
-
if (init instanceof Function)
|
|
13
|
-
return init();
|
|
14
|
-
return init;
|
|
15
|
-
}
|
|
16
|
-
Reducer.Init = Init;
|
|
17
7
|
/**
|
|
18
8
|
* A base class that can be used to easily create `Reducer` instances.
|
|
19
9
|
* @typeparam I - the input value type
|
|
@@ -29,7 +19,7 @@ export var Reducer;
|
|
|
29
19
|
filterInput(pred) {
|
|
30
20
|
return create(() => ({
|
|
31
21
|
nextIndex: 0,
|
|
32
|
-
state:
|
|
22
|
+
state: OptLazy(this.init),
|
|
33
23
|
}), (state, elem, index, halt) => {
|
|
34
24
|
if (pred(elem, index, halt)) {
|
|
35
25
|
state.state = this.next(state.state, elem, state.nextIndex++, halt);
|
|
@@ -43,7 +33,7 @@ export var Reducer;
|
|
|
43
33
|
collectInput(collectFun) {
|
|
44
34
|
return create(() => ({
|
|
45
35
|
nextIndex: 0,
|
|
46
|
-
state:
|
|
36
|
+
state: OptLazy(this.init),
|
|
47
37
|
}), (state, elem, index, halt) => {
|
|
48
38
|
const nextElem = collectFun(elem, index, CollectFun.Skip, halt);
|
|
49
39
|
if (CollectFun.Skip !== nextElem) {
|
|
@@ -371,16 +361,17 @@ export var Reducer;
|
|
|
371
361
|
* @typeparam O - the fallback value type
|
|
372
362
|
* @example
|
|
373
363
|
* ```ts
|
|
374
|
-
* console.log(Stream.range{ amount: 10 }).reduce(Reducer.
|
|
375
|
-
* // =>
|
|
364
|
+
* console.log(Stream.range{ amount: 10 }).reduce(Reducer.last())
|
|
365
|
+
* // => 9
|
|
376
366
|
* ```
|
|
377
367
|
*/
|
|
378
368
|
Reducer.last = (otherwise) => {
|
|
379
369
|
const token = Symbol();
|
|
380
|
-
return create(token, (_, next) => next, (state) => (token === state ? OptLazy(otherwise) : state));
|
|
370
|
+
return create(() => token, (_, next) => next, (state) => (token === state ? OptLazy(otherwise) : state));
|
|
381
371
|
};
|
|
382
372
|
/**
|
|
383
373
|
* Returns a `Reducer` that ouputs false as long as no input value satisfies given `pred`, true otherwise.
|
|
374
|
+
* @typeparam T - the element type
|
|
384
375
|
* @param pred - a function taking an input value and its index, and returning true if the value satisfies the predicate
|
|
385
376
|
* @example
|
|
386
377
|
* ```ts
|
|
@@ -402,6 +393,7 @@ export var Reducer;
|
|
|
402
393
|
Reducer.some = some;
|
|
403
394
|
/**
|
|
404
395
|
* Returns a `Reducer` that ouputs true as long as all input values satisfy the given `pred`, false otherwise.
|
|
396
|
+
* @typeparam T - the element type
|
|
405
397
|
* @param pred - a function taking an input value and its index, and returning true if the value satisfies the predicate
|
|
406
398
|
* @example
|
|
407
399
|
* ```ts
|
|
@@ -423,6 +415,7 @@ export var Reducer;
|
|
|
423
415
|
Reducer.every = every;
|
|
424
416
|
/**
|
|
425
417
|
* Returns a `Reducer` that outputs false as long as the given `elem` has not been encountered in the input values, true otherwise.
|
|
418
|
+
* @typeparam T - the element type
|
|
426
419
|
* @param elem - the element to search for
|
|
427
420
|
* @param eq - (optional) a comparison function that returns true if te two given input values are considered equal
|
|
428
421
|
* @example
|
|
@@ -499,6 +492,7 @@ export var Reducer;
|
|
|
499
492
|
});
|
|
500
493
|
/**
|
|
501
494
|
* Returns a `Reducer` that collects received input values in an array, and returns a copy of that array as an output value when requested.
|
|
495
|
+
* @typeparam T - the element type
|
|
502
496
|
* @example
|
|
503
497
|
* ```ts
|
|
504
498
|
* console.log(Stream.of(1, 2, 3).reduce(Reducer.toArray()))
|
|
@@ -515,6 +509,8 @@ export var Reducer;
|
|
|
515
509
|
/**
|
|
516
510
|
* Returns a `Reducer` that collects received input tuples into a mutable JS Map, and returns
|
|
517
511
|
* a copy of that map when output is requested.
|
|
512
|
+
* @typeparam K - the map key type
|
|
513
|
+
* @typeparam V - the map value type
|
|
518
514
|
* @example
|
|
519
515
|
* ```ts
|
|
520
516
|
* console.log(Stream.of([1, 'a'], [2, 'b']).reduce(Reducer.toJSMap()))
|
|
@@ -531,6 +527,7 @@ export var Reducer;
|
|
|
531
527
|
/**
|
|
532
528
|
* Returns a `Reducer` that collects received input values into a mutable JS Set, and returns
|
|
533
529
|
* a copy of that map when output is requested.
|
|
530
|
+
* @typeparam T - the element type
|
|
534
531
|
* @example
|
|
535
532
|
* ```ts
|
|
536
533
|
* console.log(Stream.of(1, 2, 3).reduce(Reducer.toJSSet()))
|
|
@@ -544,6 +541,24 @@ export var Reducer;
|
|
|
544
541
|
}, (s) => new Set(s));
|
|
545
542
|
}
|
|
546
543
|
Reducer.toJSSet = toJSSet;
|
|
544
|
+
/**
|
|
545
|
+
* Returns a `Reducer` that collects 2-tuples containing keys and values into a plain JS object, and
|
|
546
|
+
* returns a copy of that object when output is requested.
|
|
547
|
+
* @typeparam K - the result object key type
|
|
548
|
+
* @typeparam V - the result object value type
|
|
549
|
+
* @example
|
|
550
|
+
* ```ts
|
|
551
|
+
* console.log(Stream.of(['a', 1], ['b', true]).reduce(Reducer.toJSObject()))
|
|
552
|
+
* // { a: 1, b: true }
|
|
553
|
+
* ```
|
|
554
|
+
*/
|
|
555
|
+
function toJSObject() {
|
|
556
|
+
return create(() => ({}), (state, entry) => {
|
|
557
|
+
state[entry[0]] = entry[1];
|
|
558
|
+
return state;
|
|
559
|
+
}, (s) => (Object.assign({}, s)));
|
|
560
|
+
}
|
|
561
|
+
Reducer.toJSObject = toJSObject;
|
|
547
562
|
/**
|
|
548
563
|
* Returns a `Reducer` that combines multiple input `reducers` by providing input values to all of them and collecting the outputs in an array.
|
|
549
564
|
* @param reducers - 2 or more reducers to combine
|
|
@@ -563,7 +578,7 @@ export var Reducer;
|
|
|
563
578
|
halt() {
|
|
564
579
|
result.halted = true;
|
|
565
580
|
},
|
|
566
|
-
state:
|
|
581
|
+
state: OptLazy(reducer.init),
|
|
567
582
|
};
|
|
568
583
|
return result;
|
|
569
584
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../src/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAM,OAAO,EAAE,MAAM,YAAY,CAAC;AASrD,SAAS,QAAQ,CAAI,KAAQ;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,KAAW,OAAO,CA03BvB;AA13BD,WAAiB,OAAO;IAOtB;;;OAGG;IACH,SAAgB,IAAI,CAAI,IAAqB;QAC3C,IAAI,IAAI,YAAY,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAC;QAC5C,OAAO,IAAS,CAAC;IACnB,CAAC;IAHe,YAAI,OAGnB,CAAA;IA+GD;;;;;OAKG;IACH,MAAa,IAAI;QACf,YACW,IAAqB,EACrB,IAA+D,EAC/D,aAA8B;YAF9B,SAAI,GAAJ,IAAI,CAAiB;YACrB,SAAI,GAAJ,IAAI,CAA2D;YAC/D,kBAAa,GAAb,aAAa,CAAiB;QACtC,CAAC;QAEJ,WAAW,CACT,IAA4D;YAE5D,OAAO,MAAM,CACX,GAAoC,EAAE,CAAC,CAAC;gBACtC,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACvB,CAAC,EACF,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAmC,EAAE;gBAC5D,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;oBAC3B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;iBACrE;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EACD,CAAC,KAAK,EAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,QAAQ,CAAK,MAAuC;YAClD,OAAO,MAAM,CACX,IAAI,CAAC,IAAI,EACT,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAK,EAAE,CAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EACpD,IAAI,CAAC,aAAa,CACnB,CAAC;QACJ,CAAC;QAED,YAAY,CAAK,UAA6B;YAC5C,OAAO,MAAM,CACX,GAAoC,EAAE,CAAC,CAAC;gBACtC,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACvB,CAAC,EACF,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAmC,EAAE;gBAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAEhE,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAChC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,KAAK,CAAC,KAAK,EACX,QAAQ,EACR,KAAK,CAAC,SAAS,EAAE,EACjB,IAAI,CACL,CAAC;iBACH;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,EACD,CAAC,KAAK,EAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,SAAS,CAAK,MAAwB;YACpC,OAAO,MAAM,CACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,CAAC,KAAK,EAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CACjD,CAAC;QACJ,CAAC;QAED,SAAS,CAAC,MAAc;YACtB,IAAI,MAAM,IAAI,CAAC,EAAE;gBACf,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aACxD;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAW,EAAE;gBAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC;gBACxB,IAAI,CAAC,IAAI;oBAAE,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,CAAC,MAAc;YACtB,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE7B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAW,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,MAAe;YAClC,IAAI,SAAS,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACxE,IAAI,IAAI,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;KACF;IA1FY,YAAI,OA0FhB,CAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAgB,MAAM,CACpB,IAAqB,EACrB,IAAiE,EACjE,aAA8B;QAE9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IANe,cAAM,SAMrB,CAAA;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAgB,UAAU,CACxB,IAAqB,EACrB,IAAiE,EACjE,aAA+B;QAE/B,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,QAAQ,CAAC,CAAC;IACvD,CAAC;IANe,kBAAU,aAMzB,CAAA;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAgB,YAAY,CAC1B,IAAqB,EACrB,IAAiE,EACjE,aAA+B;QAE/B,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,QAAQ,CAAC,CAAC;IACvD,CAAC;IANe,oBAAY,eAM3B,CAAA;IAED;;;;;;;OAOG;IACU,WAAG,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAU,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAExE;;;;;;;OAOG;IACU,eAAO,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAU,EAAE;QACpE,IAAI,CAAC,KAAK,IAAI;YAAE,IAAI,EAAE,CAAC;QACvB,OAAO,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH;;;;;;;OAOG;IACU,eAAO,GAAG,UAAU,CAC/B,CAAC,EACD,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CACjE,CAAC;IAEF;;;;;;;;;;OAUG;IACU,aAAK,GAMd,CAAO,OAAiC,EAAE,SAAsB,EAAE,EAAE;QACtE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QACvB,OAAO,MAAM,CACX,KAAK,EACL,CAAC,KAAK,EAAE,IAAI,EAAK,EAAE;YACjB,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YACjC,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC,EACD,CAAC,KAAK,EAAS,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACU,WAAG,GAGZ,CAAI,SAAsB,EAAE,EAAE;QAChC,OAAO,MAAM,CACX,SAAS,EACT,CAAC,KAAK,EAAE,IAAI,EAAU,EAAE,CACtB,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACpD,CAAC,KAAK,EAAc,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,OAAO,CAAC,SAAU,CAAC,CACpD,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;OAUG;IACU,aAAK,GAMd,CACF,OAAiC,EACjC,SAAsB,EACH,EAAE;QACrB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QACvB,OAAO,MAAM,CACX,KAAK,EACL,CAAC,KAAK,EAAE,IAAI,EAAK,EAAE;YACjB,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YACjC,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC,EACD,CAAC,KAAK,EAAS,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACU,WAAG,GAGZ,CAAI,SAAsB,EAA+B,EAAE;QAC7D,OAAO,MAAM,CACX,SAAS,EACT,CAAC,KAAK,EAAE,IAAI,EAAU,EAAE,CACtB,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACpD,CAAC,KAAK,EAAc,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,OAAO,CAAC,SAAU,CAAC,CACpD,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;OAWG;IACH,SAAgB,IAAI,CAAI,EACtB,GAAG,GAAG,EAAE,EACR,KAAK,GAAG,EAAE,EACV,GAAG,GAAG,EAAE,EACR,aAAa,GAAG,MAA8B,MAC5C,EAAE;QACJ,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,MAAM,CACX,EAAE,EACF,CAAC,KAAK,EAAE,IAAI,EAAU,EAAE;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,CAAC;YACb,QAAQ,GAAG,EAAE,CAAC;YACd,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CAAC,KAAK,EAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CACrC,CAAC;IACJ,CAAC;IAlBe,YAAI,OAkBnB,CAAA;IAED;;;;;;;;;;;;;OAaG;IACU,aAAK,GAGd,CAAC,IAA6C,EAAwB,EAAE;QAC1E,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1E,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAU,EAAE;YAChD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,EAAE,CAAC,CAAC;gBAAE,OAAO,KAAK,GAAG,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;;;;;;;;;OAWG;IACU,kBAAU,GAMnB,CACF,IAA0C,EAC1C,SAAsB,EACtB,EAAE;QACF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QAEvB,OAAO,MAAM,CACX,KAAK,EACL,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAoB,EAAE;YACzC,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;gBACpC,IAAI,EAAE,CAAC;gBACP,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAS,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;OAUG;IACU,aAAK,GAGd,CAAO,SAAsB,EAAqB,EAAE;QACtD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QAEvB,OAAO,MAAM,CACX,KAAK,EACL,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAK,EAAE;YAC1B,IAAI,EAAE,CAAC;YACP,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAS,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;OAWG;IACU,iBAAS,GAMlB,CACF,IAA0C,EAC1C,SAAsB,EACtB,EAAE;QACF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QAEvB,OAAO,MAAM,CACX,KAAK,EACL,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAoB,EAAE;YACnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAS,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;OAUG;IACU,YAAI,GAGb,CAAO,SAAsB,EAAqB,EAAE;QACtD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QAEvB,OAAO,MAAM,CACX,KAAK,EACL,CAAC,CAAC,EAAE,IAAI,EAAK,EAAE,CAAC,IAAI,EACpB,CAAC,KAAK,EAAS,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACH,SAAgB,IAAI,CAClB,IAA0C;QAE1C,OAAO,YAAY,CAAa,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAW,EAAE;YACvE,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAEhC,IAAI,SAAS,EAAE;gBACb,IAAI,EAAE,CAAC;aACR;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAbe,YAAI,OAanB,CAAA;IAED;;;;;;;;OAQG;IACH,SAAgB,KAAK,CACnB,IAA0C;QAE1C,OAAO,YAAY,CAAa,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAW,EAAE;YACtE,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAEhC,IAAI,CAAC,SAAS,EAAE;gBACd,IAAI,EAAE,CAAC;aACR;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAde,aAAK,QAcpB,CAAA;IAED;;;;;;;;;OASG;IACH,SAAgB,QAAQ,CACtB,IAAO,EACP,KAAY,MAAM,CAAC,EAAE;QAErB,OAAO,YAAY,CAAa,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAW,EAAE;YACvE,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjC,IAAI,SAAS,EAAE;gBACb,IAAI,EAAE,CAAC;aACR;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAde,gBAAQ,WAcvB,CAAA;IAED;;;;;;;OAOG;IACU,WAAG,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAW,EAAE;QACpE,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH;;;;;;;OAOG;IACU,UAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAW,EAAE;QACpE,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,IAAI;YAAE,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH;;;;;;;OAOG;IACU,eAAO,GAAG,YAAY,CACjC,IAAI,EACJ,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAS,EAAE;QAC1B,IAAI,EAAE,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC,CACF,CAAC;IAEF;;;;;;;OAOG;IACU,gBAAQ,GAAG,YAAY,CAClC,KAAK,EACL,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAQ,EAAE;QACzB,IAAI,EAAE,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC,CACF,CAAC;IAEF;;;;;;;OAOG;IACH,SAAgB,OAAO;QACrB,OAAO,MAAM,CACX,GAAQ,EAAE,CAAC,EAAE,EACb,CAAC,KAAK,EAAE,IAAI,EAAO,EAAE;YACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAO,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAC9B,CAAC;IACJ,CAAC;IATe,eAAO,UAStB,CAAA;IAED;;;;;;;;OAQG;IACH,SAAgB,OAAO;QACrB,OAAO,MAAM,CACX,GAAc,EAAE,CAAC,IAAI,GAAG,EAAE,EAC1B,CAAC,KAAK,EAAE,IAAI,EAAa,EAAE;YACzB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,CAAC,EAAa,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAC7B,CAAC;IACJ,CAAC;IATe,eAAO,UAStB,CAAA;IAED;;;;;;;;OAQG;IACH,SAAgB,OAAO;QACrB,OAAO,MAAM,CACX,GAAW,EAAE,CAAC,IAAI,GAAG,EAAK,EAC1B,CAAC,KAAK,EAAE,IAAI,EAAU,EAAE;YACtB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,CAAC,EAAU,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAC1B,CAAC;IACJ,CAAC;IATe,eAAO,UAStB,CAAA;IAED;;;;;;;;;OASG;IACH,SAAgB,OAAO,CAIrB,GAAG,QAAsE;QAEzE,MAAM,WAAW,GAAG,GAKhB,EAAE;YACJ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG;oBACb,OAAO;oBACP,MAAM,EAAE,KAAK;oBACb,IAAI;wBACF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;oBACvB,CAAC;oBACD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;iBAC1B,CAAC;gBAEF,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,MAAM,CACX,WAAW,EACX,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACX,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE,CAAC,GAAG,GAAG,EAAE;gBAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAExB,IAAI,GAAG,CAAC,MAAM;oBAAE,SAAS;gBAEzB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,YAAY,GAAG,IAAI,CAAC;aACtC;YAED,IAAI,CAAC,YAAY;gBAAE,IAAI,EAAE,CAAC;YAE1B,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAQ,CAClE,CAAC;IACJ,CAAC;IAjDe,eAAO,UAiDtB,CAAA;AACH,CAAC,EA13BgB,OAAO,KAAP,OAAO,QA03BvB"}
|
|
1
|
+
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../src/reducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AsyncCollectFun, AsyncOptLazy, MaybePromise, Reducer } from './internal';
|
|
1
|
+
import { AsyncCollectFun, AsyncOptLazy, MaybePromise, Reducer, Eq } from './internal';
|
|
2
2
|
/**
|
|
3
3
|
* An `AsyncReducer` is a stand-alone asynchronous calculation that takes input values of type I,
|
|
4
4
|
* and, when requested, produces an output value of type O.
|
|
@@ -205,4 +205,313 @@ export declare namespace AsyncReducer {
|
|
|
205
205
|
*/
|
|
206
206
|
function createOutput<I, O = I>(init: AsyncOptLazy<O>, next: (current: O, next: I, index: number, halt: () => void) => MaybePromise<O>, stateToResult?: (state: O) => MaybePromise<O>, onClose?: (state: O, error?: unknown) => MaybePromise<void>): AsyncReducer<I, O>;
|
|
207
207
|
function from<I, O>(reducer: Reducer<I, O>): AsyncReducer<I, O>;
|
|
208
|
+
/**
|
|
209
|
+
* A `Reducer` that sums all given numeric input values.
|
|
210
|
+
* @example
|
|
211
|
+
* ```ts
|
|
212
|
+
* console.log(Stream.range({ amount: 5 }).reduce(Reducer.sum))
|
|
213
|
+
* // => 10
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
const sum: AsyncReducer<number, number>;
|
|
217
|
+
/**
|
|
218
|
+
* A `Reducer` that calculates the product of all given numeric input values.
|
|
219
|
+
* @example
|
|
220
|
+
* ```ts
|
|
221
|
+
* console.log(Stream.range({ start: 1, amount: 5 }).reduce(product))
|
|
222
|
+
* // => 120
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
const product: AsyncReducer<number, number>;
|
|
226
|
+
/**
|
|
227
|
+
* A `Reducer` that calculates the average of all given numberic input values.
|
|
228
|
+
* @example
|
|
229
|
+
* ```ts
|
|
230
|
+
* console.log(Stream.range({ amount: 5 }).reduce(Reducer.average));
|
|
231
|
+
* // => 2
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
const average: AsyncReducer<number, number>;
|
|
235
|
+
/**
|
|
236
|
+
* Returns a `Reducer` that remembers the minimum value of the inputs using the given `compFun` to compare input values
|
|
237
|
+
* @param compFun - a comparison function for two input values, returning 0 when equal, positive when greater, negetive when smaller
|
|
238
|
+
* @param otherwise - (default: undefineds) a fallback value when there were no input values given
|
|
239
|
+
* @example
|
|
240
|
+
* ```ts
|
|
241
|
+
* const stream = Stream.of('abc', 'a', 'abcde', 'ab')
|
|
242
|
+
* console.log(stream.minBy((s1, s2) => s1.length - s2.length))
|
|
243
|
+
* // 'a'
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
const minBy: {
|
|
247
|
+
<T>(compFun: (v1: T, v2: T) => MaybePromise<number>): AsyncReducer<T, T | undefined>;
|
|
248
|
+
<T, O>(compFun: (v1: T, v2: T) => MaybePromise<number>, otherwise: AsyncOptLazy<O>): AsyncReducer<T, T | O>;
|
|
249
|
+
};
|
|
250
|
+
/**
|
|
251
|
+
* Returns a `Reducer` that remembers the minimum value of the numberic inputs.
|
|
252
|
+
* @param otherwise - (default: undefined) a fallback value when there were no input values given
|
|
253
|
+
* @example
|
|
254
|
+
* ```ts
|
|
255
|
+
* console.log(Stream.of(5, 3, 7, 4).reduce(Reducer.min()))
|
|
256
|
+
* // => 3
|
|
257
|
+
* ```
|
|
258
|
+
*/
|
|
259
|
+
const min: {
|
|
260
|
+
(): AsyncReducer<number, number | undefined>;
|
|
261
|
+
<O>(otherwise: AsyncOptLazy<O>): AsyncReducer<number, number | O>;
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Returns a `Reducer` that remembers the maximum value of the inputs using the given `compFun` to compare input values
|
|
265
|
+
* @param compFun - a comparison function for two input values, returning 0 when equal, positive when greater, negetive when smaller
|
|
266
|
+
* @param otherwise - (default: undefined) a fallback value when there were no input values given
|
|
267
|
+
* @example
|
|
268
|
+
* ```ts
|
|
269
|
+
* const stream = Stream.of('abc', 'a', 'abcde', 'ab')
|
|
270
|
+
* console.log(stream.maxBy((s1, s2) => s1.length - s2.length))
|
|
271
|
+
* // 'abcde'
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
const maxBy: {
|
|
275
|
+
<T>(compFun: (v1: T, v2: T) => MaybePromise<number>): AsyncReducer<T, T | undefined>;
|
|
276
|
+
<T, O>(compFun: (v1: T, v2: T) => MaybePromise<number>, otherwise: AsyncOptLazy<O>): AsyncReducer<T, T | O>;
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* Returns a `Reducer` that remembers the maximum value of the numberic inputs.
|
|
280
|
+
* @param otherwise - (default: undefined) a fallback value when there were no input values given
|
|
281
|
+
* @example
|
|
282
|
+
* ```ts
|
|
283
|
+
* console.log(Stream.of(5, 3, 7, 4).reduce(Reducer.max()))
|
|
284
|
+
* // => 7
|
|
285
|
+
* ```
|
|
286
|
+
*/
|
|
287
|
+
const max: {
|
|
288
|
+
(): AsyncReducer<number, number | undefined>;
|
|
289
|
+
<O>(otherwise: AsyncOptLazy<O>): AsyncReducer<number, number | O>;
|
|
290
|
+
};
|
|
291
|
+
/**
|
|
292
|
+
* Returns a `Reducer` that joins the given input values into a string using the given options.
|
|
293
|
+
* @param options - an object containing:<br/>
|
|
294
|
+
* - sep: (optional) a seperator string value between values in the output<br/>
|
|
295
|
+
* - start: (optional) a start string to prepend to the output<br/>
|
|
296
|
+
* - end: (optional) an end string to append to the output<br/>
|
|
297
|
+
* @example
|
|
298
|
+
* ```ts
|
|
299
|
+
* console.log(Stream.of(1, 2, 3).reduce(Reducer.join({ sep: '-' })))
|
|
300
|
+
* // => '1-2-3'
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
303
|
+
function join<T>({ sep, start, end, valueToString, }?: {
|
|
304
|
+
sep?: string | undefined;
|
|
305
|
+
start?: string | undefined;
|
|
306
|
+
end?: string | undefined;
|
|
307
|
+
valueToString?: ((value: T) => string) | undefined;
|
|
308
|
+
}): AsyncReducer<T, string>;
|
|
309
|
+
/**
|
|
310
|
+
* Returns an `AsyncReducer` that remembers the amount of input items provided.
|
|
311
|
+
* @param pred - (optional) a predicate that returns false if the item should not be counted given:<br/>
|
|
312
|
+
* - value: the current input value<br/>
|
|
313
|
+
* - index: the input value index
|
|
314
|
+
* @example
|
|
315
|
+
* ```ts
|
|
316
|
+
* const stream = AsyncStream.from(Stream.range({ amount: 10 }))
|
|
317
|
+
* console.log(await stream.reduce(AsyncReducer.count()))
|
|
318
|
+
* // => 10
|
|
319
|
+
* console.log(await stream.reduce(AsyncReducer.count(async v => v < 5)))
|
|
320
|
+
* // => 5
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
const count: {
|
|
324
|
+
(): AsyncReducer<any, number>;
|
|
325
|
+
<T>(pred: (value: T, index: number) => MaybePromise<boolean>): AsyncReducer<T, number>;
|
|
326
|
+
};
|
|
327
|
+
/**
|
|
328
|
+
* Returns an `AsyncReducer` that remembers the first input value for which the given `pred` function returns true.
|
|
329
|
+
* @param pred - a function taking an input value and its index, and returning true if the value should be remembered
|
|
330
|
+
* @param otherwise - (default: undefined) a fallback value to output if no input value yet has satisfied the given predicate
|
|
331
|
+
* @typeparam T - the input value type
|
|
332
|
+
* @typeparam O - the fallback value type
|
|
333
|
+
* @example
|
|
334
|
+
* ```ts
|
|
335
|
+
* await AsyncStream.from(Stream.range({ amount: 10 })).reduce(AsyncReducer.firstWhere(async v => v > 5)))
|
|
336
|
+
* // => 6
|
|
337
|
+
* ```
|
|
338
|
+
*/
|
|
339
|
+
const firstWhere: {
|
|
340
|
+
<T>(pred: (value: T, index: number) => MaybePromise<boolean>): AsyncReducer<T, T | undefined>;
|
|
341
|
+
<T, O>(pred: (value: T, index: number) => MaybePromise<boolean>, otherwise: AsyncOptLazy<O>): AsyncReducer<T, T | O>;
|
|
342
|
+
};
|
|
343
|
+
/**
|
|
344
|
+
* Returns an `AsyncReducer` that remembers the first input value.
|
|
345
|
+
* @param otherwise - (default: undefined) a fallback value to output if no input value has been provided
|
|
346
|
+
* @typeparam T - the input value type
|
|
347
|
+
* @typeparam O - the fallback value type
|
|
348
|
+
* @example
|
|
349
|
+
* ```ts
|
|
350
|
+
* await AsyncStream.from(Stream.range{ amount: 10 })).reduce(AsyncReducer.first())
|
|
351
|
+
* // => 0
|
|
352
|
+
* ```
|
|
353
|
+
*/
|
|
354
|
+
const first: {
|
|
355
|
+
<T>(): AsyncReducer<T, T | undefined>;
|
|
356
|
+
<T, O>(otherwise: AsyncOptLazy<O>): AsyncReducer<T, T | O>;
|
|
357
|
+
};
|
|
358
|
+
/**
|
|
359
|
+
* Returns an `AsyncReducer` that remembers the last input value for which the given `pred` function returns true.
|
|
360
|
+
* @param pred - a function taking an input value and its index, and returning true if the value should be remembered
|
|
361
|
+
* @param otherwise - (default: undefined) a fallback value to output if no input value yet has satisfied the given predicate
|
|
362
|
+
* @typeparam T - the input value type
|
|
363
|
+
* @typeparam O - the fallback value type
|
|
364
|
+
* @example
|
|
365
|
+
* ```ts
|
|
366
|
+
* await AsyncStream.from(Stream.range({ amount: 10 })).reduce(AsyncReducer.lastWhere(async v => v > 5)))
|
|
367
|
+
* // => 9
|
|
368
|
+
* ```
|
|
369
|
+
*/
|
|
370
|
+
const lastWhere: {
|
|
371
|
+
<T>(pred: (value: T, index: number) => MaybePromise<boolean>): AsyncReducer<T, T | undefined>;
|
|
372
|
+
<T, O>(pred: (value: T, index: number) => MaybePromise<boolean>, otherwise: AsyncOptLazy<O>): AsyncReducer<T, T | O>;
|
|
373
|
+
};
|
|
374
|
+
/**
|
|
375
|
+
* Returns an `AsyncReducer` that remembers the last input value.
|
|
376
|
+
* @param otherwise - (default: undefined) a fallback value to output if no input value has been provided
|
|
377
|
+
* @typeparam T - the input value type
|
|
378
|
+
* @typeparam O - the fallback value type
|
|
379
|
+
* @example
|
|
380
|
+
* ```ts
|
|
381
|
+
* await AsyncStream.from(Stream.range{ amount: 10 })).reduce(AsyncReducer.last())
|
|
382
|
+
* // => 9
|
|
383
|
+
* ```
|
|
384
|
+
*/
|
|
385
|
+
const last: {
|
|
386
|
+
<T>(): AsyncReducer<T, T | undefined>;
|
|
387
|
+
<T, O>(otherwise: AsyncOptLazy<O>): AsyncReducer<T, T | O>;
|
|
388
|
+
};
|
|
389
|
+
/**
|
|
390
|
+
* Returns a `Reducer` that ouputs false as long as no input value satisfies given `pred`, true otherwise.
|
|
391
|
+
* @typeparam T - the element type
|
|
392
|
+
* @param pred - a function taking an input value and its index, and returning true if the value satisfies the predicate
|
|
393
|
+
* @example
|
|
394
|
+
* ```ts
|
|
395
|
+
* await AsyncStream.from(Stream.range{ amount: 10 })).reduce(AsyncReducer.some(async v => v > 5))
|
|
396
|
+
* // => true
|
|
397
|
+
* ```
|
|
398
|
+
*/
|
|
399
|
+
function some<T>(pred: (value: T, index: number) => MaybePromise<boolean>): AsyncReducer<T, boolean>;
|
|
400
|
+
/**
|
|
401
|
+
* Returns an `AsyncReducer` that ouputs true as long as all input values satisfy the given `pred`, false otherwise.
|
|
402
|
+
* @typeparam T - the element type
|
|
403
|
+
* @param pred - a function taking an input value and its index, and returning true if the value satisfies the predicate
|
|
404
|
+
* @example
|
|
405
|
+
* ```ts
|
|
406
|
+
* await AsyncStream.from(Stream.range{ amount: 10 })).reduce(AsyncReducer.every(async v => v < 5))
|
|
407
|
+
* // => false
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
function every<T>(pred: (value: T, index: number) => MaybePromise<boolean>): AsyncReducer<T, boolean>;
|
|
411
|
+
/**
|
|
412
|
+
* Returns an `AsyncReducer` that outputs false as long as the given `elem` has not been encountered in the input values, true otherwise.
|
|
413
|
+
* @typeparam T - the element type
|
|
414
|
+
* @param elem - the element to search for
|
|
415
|
+
* @param eq - (optional) a comparison function that returns true if te two given input values are considered equal
|
|
416
|
+
* @example
|
|
417
|
+
* ```ts
|
|
418
|
+
* await AsyncStream.from(Stream.range({ amount: 10 })).reduce(AsyncReducer.contains(5)))
|
|
419
|
+
* // => true
|
|
420
|
+
* ```
|
|
421
|
+
*/
|
|
422
|
+
function contains<T>(elem: T, eq?: Eq<T>): AsyncReducer<T, boolean>;
|
|
423
|
+
/**
|
|
424
|
+
* Returns an `AsyncReducer` that takes boolean values and outputs true if all input values are true, and false otherwise.
|
|
425
|
+
* @example
|
|
426
|
+
* ```ts
|
|
427
|
+
* await AsyncStream.of(true, false, true)).reduce(AsyncReducer.and))
|
|
428
|
+
* // => false
|
|
429
|
+
* ```
|
|
430
|
+
*/
|
|
431
|
+
const and: AsyncReducer<boolean, boolean>;
|
|
432
|
+
/**
|
|
433
|
+
* Returns an `AsyncReducer` that takes boolean values and outputs true if one or more input values are true, and false otherwise.
|
|
434
|
+
* @example
|
|
435
|
+
* ```ts
|
|
436
|
+
* await AsyncStream.of(true, false, true)).reduce(AsyncReducer.or))
|
|
437
|
+
* // => true
|
|
438
|
+
* ```
|
|
439
|
+
*/
|
|
440
|
+
const or: AsyncReducer<boolean, boolean>;
|
|
441
|
+
/**
|
|
442
|
+
* Returns an `AsyncReducer` that outputs true if no input values are received, false otherwise.
|
|
443
|
+
* @example
|
|
444
|
+
* ```ts
|
|
445
|
+
* await AsyncStream.of(1, 2, 3).reduce(AsyncReducer.isEmpty))
|
|
446
|
+
* // => false
|
|
447
|
+
* ```
|
|
448
|
+
*/
|
|
449
|
+
const isEmpty: AsyncReducer<any, boolean>;
|
|
450
|
+
/**
|
|
451
|
+
* Returns an `AsyncReducer` that outputs true if one or more input values are received, false otherwise.
|
|
452
|
+
* @example
|
|
453
|
+
* ```ts
|
|
454
|
+
* await AsyncStream.of(1, 2, 3).reduce(AsyncReducer.nonEmpty))
|
|
455
|
+
* // => true
|
|
456
|
+
* ```
|
|
457
|
+
*/
|
|
458
|
+
const nonEmpty: AsyncReducer<any, boolean>;
|
|
459
|
+
/**
|
|
460
|
+
* Returns an `AsyncReducer` that collects received input values in an array, and returns a copy of that array as an output value when requested.
|
|
461
|
+
* @typeparam T - the element type
|
|
462
|
+
* @example
|
|
463
|
+
* ```ts
|
|
464
|
+
* await AsyncStream.of(1, 2, 3).reduce(AsyncReducer.toArray()))
|
|
465
|
+
* // => [1, 2, 3]
|
|
466
|
+
* ```
|
|
467
|
+
*/
|
|
468
|
+
function toArray<T>(): AsyncReducer<T, T[]>;
|
|
469
|
+
/**
|
|
470
|
+
* Returns a `AsyncReducer` that collects received input tuples into a mutable JS Map, and returns
|
|
471
|
+
* a copy of that map when output is requested.
|
|
472
|
+
* @typeparam K - the map key type
|
|
473
|
+
* @typeparam V - the map value type
|
|
474
|
+
* @example
|
|
475
|
+
* ```ts
|
|
476
|
+
* await AsyncStream.of([1, 'a'], [2, 'b']).reduce(AsyncReducer.toJSMap()))
|
|
477
|
+
* // Map { 1 => 'a', 2 => 'b' }
|
|
478
|
+
* ```
|
|
479
|
+
*/
|
|
480
|
+
function toJSMap<K, V>(): AsyncReducer<[K, V], Map<K, V>>;
|
|
481
|
+
/**
|
|
482
|
+
* Returns an `AsyncReducer` that collects received input values into a mutable JS Set, and returns
|
|
483
|
+
* a copy of that map when output is requested.
|
|
484
|
+
* @typeparam T - the element type
|
|
485
|
+
* @example
|
|
486
|
+
* ```ts
|
|
487
|
+
* await AsyncStream.of(1, 2, 3).reduce(AsyncReducer.toJSSet()))
|
|
488
|
+
* // Set {1, 2, 3}
|
|
489
|
+
* ```
|
|
490
|
+
*/
|
|
491
|
+
function toJSSet<T>(): AsyncReducer<T, Set<T>>;
|
|
492
|
+
/**
|
|
493
|
+
* Returns an `AsyncReducer` that collects 2-tuples containing keys and values into a plain JS object, and
|
|
494
|
+
* returns a copy of that object when output is requested.
|
|
495
|
+
* @typeparam K - the result object key type
|
|
496
|
+
* @typeparam V - the result object value type
|
|
497
|
+
* @example
|
|
498
|
+
* ```ts
|
|
499
|
+
* await AsyncStream.of(['a', 1], ['b', true]).reduce(AsyncReducer.toJSObject()))
|
|
500
|
+
* // { a: 1, b: true }
|
|
501
|
+
* ```
|
|
502
|
+
*/
|
|
503
|
+
function toJSObject<K extends string | number | symbol, V>(): AsyncReducer<[K, V], Record<K, V>>;
|
|
504
|
+
/**
|
|
505
|
+
* Returns a `Reducer` that combines multiple input `reducers` by providing input values to all of them and collecting the outputs in an array.
|
|
506
|
+
* @param reducers - 2 or more reducers to combine
|
|
507
|
+
* @example
|
|
508
|
+
* ```ts
|
|
509
|
+
* const red = Reducer.combine(Reducer.sum, Reducer.average)
|
|
510
|
+
* console.log(Stream.range({amount: 9 }).reduce(red))
|
|
511
|
+
* // => [36, 4]
|
|
512
|
+
* ```
|
|
513
|
+
*/
|
|
514
|
+
function combine<T, R extends readonly [unknown, unknown, ...unknown[]]>(...reducers: {
|
|
515
|
+
[K in keyof R]: AsyncReducer<T, R[K]>;
|
|
516
|
+
} & AsyncReducer<T, unknown>[]): AsyncReducer<T, R>;
|
|
208
517
|
}
|