@vielzeug/flux 26.11.11 → 26.11.13
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/_iterator.cjs +1 -1
- package/dist/_iterator.cjs.map +1 -1
- package/dist/_iterator.d.ts.map +1 -1
- package/dist/_iterator.js +4 -1
- package/dist/_iterator.js.map +1 -1
- package/dist/async.cjs +1 -1
- package/dist/async.cjs.map +1 -1
- package/dist/channel.cjs +1 -1
- package/dist/channel.cjs.map +1 -1
- package/dist/channel.js +9 -9
- package/dist/channel.js.map +1 -1
- package/dist/flux.cjs +1 -1
- package/dist/flux.cjs.map +1 -1
- package/dist/flux.iife.js +1 -1
- package/dist/flux.iife.js.map +1 -1
- package/dist/flux.js +121 -123
- package/dist/flux.js.map +1 -1
- package/dist/operators/creation.cjs +1 -1
- package/dist/operators/creation.cjs.map +1 -1
- package/dist/operators/creation.d.ts.map +1 -1
- package/dist/operators/creation.js +22 -23
- package/dist/operators/creation.js.map +1 -1
- package/dist/operators/filtering.cjs +1 -1
- package/dist/operators/filtering.cjs.map +1 -1
- package/dist/operators/filtering.d.ts.map +1 -1
- package/dist/operators/filtering.js +25 -23
- package/dist/operators/filtering.js.map +1 -1
- package/dist/operators/transformation.cjs +1 -1
- package/dist/operators/transformation.cjs.map +1 -1
- package/dist/operators/transformation.d.ts +8 -2
- package/dist/operators/transformation.d.ts.map +1 -1
- package/dist/operators/transformation.js +24 -19
- package/dist/operators/transformation.js.map +1 -1
- package/dist/operators/utility.cjs +1 -1
- package/dist/operators/utility.cjs.map +1 -1
- package/dist/operators/utility.d.ts.map +1 -1
- package/dist/operators/utility.js +48 -51
- package/dist/operators/utility.js.map +1 -1
- package/package.json +2 -14
- package/dist/_dev.d.ts +0 -2
- package/dist/_dev.d.ts.map +0 -1
- package/dist/_scheduler.cjs +0 -2
- package/dist/_scheduler.cjs.map +0 -1
- package/dist/_scheduler.d.ts +0 -6
- package/dist/_scheduler.d.ts.map +0 -1
- package/dist/_scheduler.js +0 -14
- package/dist/_scheduler.js.map +0 -1
- package/dist/subjects.d.ts +0 -2
- package/dist/subjects.d.ts.map +0 -1
package/dist/flux.js
CHANGED
|
@@ -44,7 +44,10 @@ function toIterator(e, t) {
|
|
|
44
44
|
value: void 0
|
|
45
45
|
});
|
|
46
46
|
}, complete = () => {
|
|
47
|
-
i.kind === "open" && (i
|
|
47
|
+
i.kind === "open" && (i = {
|
|
48
|
+
kind: "complete",
|
|
49
|
+
queue: i.queue
|
|
50
|
+
}, detach(), resolveDone());
|
|
48
51
|
}, fail = (e) => {
|
|
49
52
|
if (i.kind === "open") for (i = {
|
|
50
53
|
kind: "error",
|
|
@@ -220,7 +223,7 @@ function replayCapacity(e) {
|
|
|
220
223
|
function createChannel(e = {}) {
|
|
221
224
|
let t = replayCapacity(e), n = new AbortController(), r = /* @__PURE__ */ new Set(), i = [];
|
|
222
225
|
"initial" in e && t > 0 && i.push(e.initial);
|
|
223
|
-
let a = stream((e) => {
|
|
226
|
+
let a = !1, o = [], s = stream((e) => {
|
|
224
227
|
if (n.signal.aborted) e.complete();
|
|
225
228
|
else {
|
|
226
229
|
for (let t of i) e.next(t);
|
|
@@ -230,18 +233,18 @@ function createChannel(e = {}) {
|
|
|
230
233
|
if (!n.signal.aborted) {
|
|
231
234
|
n.abort();
|
|
232
235
|
for (let e of [...r]) e.complete();
|
|
233
|
-
r.clear(), i.length = 0,
|
|
236
|
+
r.clear(), i.length = 0, o.length = 0;
|
|
234
237
|
}
|
|
235
|
-
},
|
|
236
|
-
|
|
238
|
+
}, flush = () => {
|
|
239
|
+
a = !0;
|
|
237
240
|
try {
|
|
238
|
-
for (;
|
|
239
|
-
let e =
|
|
241
|
+
for (; o.length > 0;) {
|
|
242
|
+
let e = o.shift();
|
|
240
243
|
t > 0 && (i.length === t && i.shift(), i.push(e));
|
|
241
244
|
for (let t of [...r]) t.next(e);
|
|
242
245
|
}
|
|
243
246
|
} finally {
|
|
244
|
-
|
|
247
|
+
a = !1;
|
|
245
248
|
}
|
|
246
249
|
};
|
|
247
250
|
return {
|
|
@@ -253,9 +256,9 @@ function createChannel(e = {}) {
|
|
|
253
256
|
return n.signal.aborted;
|
|
254
257
|
},
|
|
255
258
|
send(e) {
|
|
256
|
-
n.signal.aborted || (
|
|
259
|
+
n.signal.aborted || (o.push(e), a || flush());
|
|
257
260
|
},
|
|
258
|
-
stream:
|
|
261
|
+
stream: s,
|
|
259
262
|
[Symbol.dispose]: dispose
|
|
260
263
|
};
|
|
261
264
|
}
|
|
@@ -344,17 +347,6 @@ function combineLatest(...e) {
|
|
|
344
347
|
});
|
|
345
348
|
});
|
|
346
349
|
}
|
|
347
|
-
// src/_scheduler.ts
|
|
348
|
-
var e = {
|
|
349
|
-
delay(e, t) {
|
|
350
|
-
let n = setTimeout(e, t);
|
|
351
|
-
return () => clearTimeout(n);
|
|
352
|
-
},
|
|
353
|
-
repeat(e, t) {
|
|
354
|
-
let n = setInterval(e, t);
|
|
355
|
-
return () => clearInterval(n);
|
|
356
|
-
}
|
|
357
|
-
};
|
|
358
350
|
// src/operators/creation.ts
|
|
359
351
|
function of(...e) {
|
|
360
352
|
return stream((t) => {
|
|
@@ -417,19 +409,19 @@ function fromEvent(e, t) {
|
|
|
417
409
|
return e.addEventListener(t, listener), () => e.removeEventListener(t, listener);
|
|
418
410
|
});
|
|
419
411
|
}
|
|
420
|
-
function interval(
|
|
421
|
-
return assertDuration(
|
|
422
|
-
let r =
|
|
423
|
-
return
|
|
412
|
+
function interval(e) {
|
|
413
|
+
return assertDuration(e, "Interval duration"), stream((t) => {
|
|
414
|
+
let n = 0, r = setInterval(() => t.next(n++), e);
|
|
415
|
+
return () => clearInterval(r);
|
|
424
416
|
});
|
|
425
417
|
}
|
|
426
|
-
function timer(
|
|
427
|
-
return assertDuration(
|
|
428
|
-
let
|
|
429
|
-
|
|
430
|
-
},
|
|
418
|
+
function timer(e) {
|
|
419
|
+
return assertDuration(e.delay, "Timer delay"), e.interval !== void 0 && assertDuration(e.interval, "Timer interval"), stream((t) => {
|
|
420
|
+
let n = 0, r, i = setTimeout(() => {
|
|
421
|
+
t.next(n++), e.interval === void 0 ? t.complete() : r = setInterval(() => t.next(n++), e.interval);
|
|
422
|
+
}, e.delay);
|
|
431
423
|
return () => {
|
|
432
|
-
|
|
424
|
+
clearTimeout(i), r !== void 0 && clearInterval(r);
|
|
433
425
|
};
|
|
434
426
|
});
|
|
435
427
|
}
|
|
@@ -477,43 +469,46 @@ function takeUntil(e) {
|
|
|
477
469
|
};
|
|
478
470
|
});
|
|
479
471
|
}
|
|
480
|
-
function debounce(
|
|
481
|
-
return assertDuration(
|
|
482
|
-
let
|
|
483
|
-
|
|
484
|
-
},
|
|
472
|
+
function debounce(e) {
|
|
473
|
+
return assertDuration(e, "Debounce duration"), (t) => stream((n, r) => {
|
|
474
|
+
let cancel, i, a = !1, flush = () => {
|
|
475
|
+
cancel = void 0, a && (a = !1, n.next(i));
|
|
476
|
+
}, o = link(t, {
|
|
485
477
|
complete() {
|
|
486
|
-
|
|
478
|
+
cancel?.(), flush(), n.complete();
|
|
487
479
|
},
|
|
488
|
-
error:
|
|
489
|
-
next(
|
|
490
|
-
|
|
480
|
+
error: n.error,
|
|
481
|
+
next(t) {
|
|
482
|
+
i = t, a = !0, cancel?.();
|
|
483
|
+
let n = setTimeout(flush, e);
|
|
484
|
+
cancel = () => clearTimeout(n);
|
|
491
485
|
}
|
|
492
|
-
},
|
|
486
|
+
}, r);
|
|
493
487
|
return () => {
|
|
494
|
-
|
|
488
|
+
cancel?.(), o.unsubscribe();
|
|
495
489
|
};
|
|
496
490
|
});
|
|
497
491
|
}
|
|
498
|
-
function timeout(
|
|
499
|
-
return assertDuration(
|
|
500
|
-
let
|
|
501
|
-
|
|
492
|
+
function timeout(e) {
|
|
493
|
+
return assertDuration(e, "Timeout duration"), (t) => stream((n, r) => {
|
|
494
|
+
let cancel, start = () => {
|
|
495
|
+
let t = setTimeout(() => n.error(new FluxTimeoutError(e)), e);
|
|
496
|
+
cancel = () => clearTimeout(t);
|
|
502
497
|
};
|
|
503
498
|
start();
|
|
504
|
-
let
|
|
499
|
+
let i = link(t, {
|
|
505
500
|
complete() {
|
|
506
|
-
|
|
501
|
+
cancel(), n.complete();
|
|
507
502
|
},
|
|
508
503
|
error(e) {
|
|
509
|
-
|
|
504
|
+
cancel(), n.error(e);
|
|
510
505
|
},
|
|
511
506
|
next(e) {
|
|
512
|
-
|
|
507
|
+
cancel(), start(), n.next(e);
|
|
513
508
|
}
|
|
514
|
-
},
|
|
509
|
+
}, r);
|
|
515
510
|
return () => {
|
|
516
|
-
|
|
511
|
+
cancel(), i.unsubscribe();
|
|
517
512
|
};
|
|
518
513
|
});
|
|
519
514
|
}
|
|
@@ -587,146 +582,149 @@ function switchMap(e) {
|
|
|
587
582
|
};
|
|
588
583
|
});
|
|
589
584
|
}
|
|
590
|
-
function flatten(e, t) {
|
|
591
|
-
let
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
585
|
+
function flatten(e, t, n) {
|
|
586
|
+
let { capacity: r, concurrency: i } = t, a = i === "unbounded";
|
|
587
|
+
if (!a) {
|
|
588
|
+
if (assertPositiveInteger(i, `${n} concurrency`), r === void 0) throw RangeError(`${n} requires capacity when concurrency is finite; use { concurrency: "unbounded" } to start every value immediately`);
|
|
589
|
+
assertPositiveInteger(r, `${n} capacity`);
|
|
590
|
+
}
|
|
591
|
+
let o = a ? Infinity : i, s = a ? Infinity : r;
|
|
592
|
+
return (t) => stream((r, i) => {
|
|
593
|
+
let a = [], c = /* @__PURE__ */ new Set(), l = !1, u = {}, finish = () => {
|
|
594
|
+
l && c.size === 0 && a.length === 0 && r.complete();
|
|
595
595
|
}, startInner = (t) => {
|
|
596
596
|
tryCall(() => {
|
|
597
597
|
let n = {};
|
|
598
598
|
n.current = link(e(t), {
|
|
599
599
|
complete() {
|
|
600
|
-
n.current &&
|
|
600
|
+
n.current && c.delete(n.current), drain();
|
|
601
601
|
},
|
|
602
|
-
error:
|
|
603
|
-
next:
|
|
604
|
-
},
|
|
605
|
-
},
|
|
602
|
+
error: r.error,
|
|
603
|
+
next: r.next
|
|
604
|
+
}, i), n.current.closed ? drain() : c.add(n.current);
|
|
605
|
+
}, r.error);
|
|
606
606
|
}, drain = () => {
|
|
607
|
-
if (!
|
|
608
|
-
for (;
|
|
609
|
-
let e =
|
|
607
|
+
if (!i.aborted) {
|
|
608
|
+
for (; a.length > 0 && c.size < o;) {
|
|
609
|
+
let e = a.shift();
|
|
610
610
|
startInner(e);
|
|
611
611
|
}
|
|
612
612
|
finish();
|
|
613
613
|
}
|
|
614
614
|
};
|
|
615
|
-
return
|
|
615
|
+
return u.current = link(t, {
|
|
616
616
|
complete() {
|
|
617
|
-
|
|
617
|
+
l = !0, finish();
|
|
618
618
|
},
|
|
619
|
-
error:
|
|
619
|
+
error: r.error,
|
|
620
620
|
next(e) {
|
|
621
|
-
|
|
621
|
+
a.length >= s ? (u.current?.unsubscribe(), r.error(new FluxCapacityError(s, `${n} buffer capacity exceeded`))) : (a.push(e), drain());
|
|
622
622
|
}
|
|
623
|
-
},
|
|
624
|
-
|
|
625
|
-
for (let e of
|
|
626
|
-
|
|
623
|
+
}, i), () => {
|
|
624
|
+
u.current?.unsubscribe();
|
|
625
|
+
for (let e of c) e.unsubscribe();
|
|
626
|
+
a.length = 0;
|
|
627
627
|
};
|
|
628
628
|
});
|
|
629
629
|
}
|
|
630
630
|
function mergeMap(e, t) {
|
|
631
|
-
return flatten(e, t);
|
|
631
|
+
return flatten(e, t, "mergeMap");
|
|
632
632
|
}
|
|
633
633
|
function concatMap(e, t) {
|
|
634
634
|
return flatten(e, {
|
|
635
635
|
capacity: t.capacity,
|
|
636
636
|
concurrency: 1
|
|
637
|
-
});
|
|
637
|
+
}, "concatMap");
|
|
638
638
|
}
|
|
639
639
|
// src/operators/utility.ts
|
|
640
|
-
function retry(
|
|
641
|
-
return assertNonNegativeInteger(
|
|
642
|
-
let
|
|
643
|
-
if (
|
|
644
|
-
let
|
|
645
|
-
complete:
|
|
646
|
-
error(
|
|
647
|
-
if (
|
|
648
|
-
|
|
640
|
+
function retry(e) {
|
|
641
|
+
return assertNonNegativeInteger(e.times, "retry times"), (t) => stream((n, r) => {
|
|
642
|
+
let i = 0, a, o, start = () => {
|
|
643
|
+
if (r.aborted) return;
|
|
644
|
+
let s = link(t, {
|
|
645
|
+
complete: n.complete,
|
|
646
|
+
error(t) {
|
|
647
|
+
if (i === e.times) {
|
|
648
|
+
n.error(t);
|
|
649
649
|
return;
|
|
650
650
|
}
|
|
651
|
-
let
|
|
651
|
+
let a = i++, s;
|
|
652
652
|
if (tryCall(() => {
|
|
653
|
-
|
|
654
|
-
},
|
|
655
|
-
if (
|
|
656
|
-
assertDuration(
|
|
653
|
+
s = typeof e.delay == "function" ? e.delay(a) : e.delay;
|
|
654
|
+
}, n.error), !r.aborted) {
|
|
655
|
+
if (s !== void 0) try {
|
|
656
|
+
assertDuration(s, "Retry delay");
|
|
657
657
|
} catch (e) {
|
|
658
|
-
|
|
658
|
+
n.error(e);
|
|
659
659
|
return;
|
|
660
660
|
}
|
|
661
|
-
|
|
661
|
+
s === void 0 || s === 0 ? queueMicrotask(start) : o = setTimeout(start, s);
|
|
662
662
|
}
|
|
663
663
|
},
|
|
664
|
-
next:
|
|
665
|
-
},
|
|
666
|
-
|
|
664
|
+
next: n.next
|
|
665
|
+
}, r);
|
|
666
|
+
s.closed || (a = s);
|
|
667
667
|
};
|
|
668
668
|
return start(), () => {
|
|
669
|
-
|
|
669
|
+
o !== void 0 && clearTimeout(o), a?.unsubscribe();
|
|
670
670
|
};
|
|
671
671
|
});
|
|
672
672
|
}
|
|
673
|
+
function watchSignal(e, t, n) {
|
|
674
|
+
if (!e) return () => {};
|
|
675
|
+
let abort = () => {
|
|
676
|
+
t.abort(), n(abortError(e, "Stream consumption aborted"));
|
|
677
|
+
};
|
|
678
|
+
return e.aborted ? (abort(), null) : (e.addEventListener("abort", abort, { once: !0 }), () => e.removeEventListener("abort", abort));
|
|
679
|
+
}
|
|
673
680
|
function first(e, t) {
|
|
674
681
|
return new Promise((n, r) => {
|
|
675
|
-
let i = new AbortController(),
|
|
676
|
-
|
|
677
|
-
};
|
|
678
|
-
t?.signal?.aborted ? abort() : (t?.signal?.addEventListener("abort", abort, { once: !0 }), link(e, {
|
|
682
|
+
let i = new AbortController(), a = watchSignal(t?.signal, i, r);
|
|
683
|
+
a && link(e, {
|
|
679
684
|
complete() {
|
|
680
|
-
|
|
685
|
+
a(), "defaultValue" in (t ?? {}) ? n(t.defaultValue) : r(new FluxEmptyError());
|
|
681
686
|
},
|
|
682
687
|
error(e) {
|
|
683
|
-
|
|
688
|
+
a(), r(e);
|
|
684
689
|
},
|
|
685
690
|
next(e) {
|
|
686
|
-
|
|
691
|
+
a(), i.abort(), n(e);
|
|
687
692
|
}
|
|
688
|
-
}, i.signal)
|
|
693
|
+
}, i.signal);
|
|
689
694
|
});
|
|
690
695
|
}
|
|
691
696
|
function last(e, t) {
|
|
692
697
|
return new Promise((n, r) => {
|
|
693
|
-
let i = new AbortController(),
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
abort();
|
|
698
|
-
return;
|
|
699
|
-
}
|
|
700
|
-
let a = !1, o;
|
|
701
|
-
t?.signal?.addEventListener("abort", abort, { once: !0 }), link(e, {
|
|
698
|
+
let i = new AbortController(), a = watchSignal(t?.signal, i, r);
|
|
699
|
+
if (!a) return;
|
|
700
|
+
let o = !1, s;
|
|
701
|
+
link(e, {
|
|
702
702
|
complete() {
|
|
703
|
-
|
|
703
|
+
a(), o ? n(s) : "defaultValue" in (t ?? {}) ? n(t.defaultValue) : r(new FluxEmptyError());
|
|
704
704
|
},
|
|
705
705
|
error(e) {
|
|
706
|
-
|
|
706
|
+
a(), r(e);
|
|
707
707
|
},
|
|
708
708
|
next(e) {
|
|
709
|
-
|
|
709
|
+
o = !0, s = e;
|
|
710
710
|
}
|
|
711
711
|
}, i.signal);
|
|
712
712
|
});
|
|
713
713
|
}
|
|
714
714
|
function toArray(e, t) {
|
|
715
715
|
return assertNonNegativeInteger(t.maxItems, "toArray maxItems"), new Promise((n, r) => {
|
|
716
|
-
let i = new AbortController(), a = [],
|
|
717
|
-
|
|
718
|
-
};
|
|
719
|
-
t.signal?.aborted ? abort() : (t.signal?.addEventListener("abort", abort, { once: !0 }), link(e, {
|
|
716
|
+
let i = new AbortController(), a = [], o = watchSignal(t.signal, i, r);
|
|
717
|
+
o && link(e, {
|
|
720
718
|
complete() {
|
|
721
|
-
|
|
719
|
+
o(), n(a);
|
|
722
720
|
},
|
|
723
721
|
error(e) {
|
|
724
|
-
|
|
722
|
+
o(), r(e);
|
|
725
723
|
},
|
|
726
724
|
next(e) {
|
|
727
|
-
a.length === t.maxItems ? (
|
|
725
|
+
a.length === t.maxItems ? (o(), i.abort(), r(new FluxCapacityError(t.maxItems, "toArray maxItems exceeded"))) : a.push(e);
|
|
728
726
|
}
|
|
729
|
-
}, i.signal)
|
|
727
|
+
}, i.signal);
|
|
730
728
|
});
|
|
731
729
|
}
|
|
732
730
|
// src/pipe.ts
|