synstate 3.2.1 → 3.4.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/README.md +2 -2
- package/dist/core/base/create-child-observable.d.mts +9 -2
- package/dist/core/base/create-child-observable.d.mts.map +1 -1
- package/dist/core/base/create-child-observable.mjs +49 -11
- package/dist/core/base/create-child-observable.mjs.map +1 -1
- package/dist/core/base/create-observable-base.d.mts +5 -1
- package/dist/core/base/create-observable-base.d.mts.map +1 -1
- package/dist/core/base/create-observable-base.mjs +24 -4
- package/dist/core/base/create-observable-base.mjs.map +1 -1
- package/dist/core/base/create-root-observable.d.mts +9 -0
- package/dist/core/base/create-root-observable.d.mts.map +1 -1
- package/dist/core/base/create-root-observable.mjs +32 -3
- package/dist/core/base/create-root-observable.mjs.map +1 -1
- package/dist/core/combine/merge.d.mts +0 -3
- package/dist/core/combine/merge.d.mts.map +1 -1
- package/dist/core/combine/merge.mjs +0 -3
- package/dist/core/combine/merge.mjs.map +1 -1
- package/dist/core/combine/zip.d.mts +4 -2
- package/dist/core/combine/zip.d.mts.map +1 -1
- package/dist/core/combine/zip.mjs +21 -3
- package/dist/core/combine/zip.mjs.map +1 -1
- package/dist/core/create/counter.d.mts +9 -3
- package/dist/core/create/counter.d.mts.map +1 -1
- package/dist/core/create/counter.mjs +16 -3
- package/dist/core/create/counter.mjs.map +1 -1
- package/dist/core/create/from-subscribable.d.mts.map +1 -1
- package/dist/core/create/from-subscribable.mjs +34 -11
- package/dist/core/create/from-subscribable.mjs.map +1 -1
- package/dist/core/create/source.d.mts +7 -0
- package/dist/core/create/source.d.mts.map +1 -1
- package/dist/core/create/source.mjs +6 -2
- package/dist/core/create/source.mjs.map +1 -1
- package/dist/core/operators/merge-map.d.mts +0 -3
- package/dist/core/operators/merge-map.d.mts.map +1 -1
- package/dist/core/operators/merge-map.mjs +0 -3
- package/dist/core/operators/merge-map.mjs.map +1 -1
- package/dist/core/operators/skip-until.d.mts.map +1 -1
- package/dist/core/operators/skip-until.mjs +15 -6
- package/dist/core/operators/skip-until.mjs.map +1 -1
- package/dist/core/operators/switch-map.d.mts +0 -3
- package/dist/core/operators/switch-map.d.mts.map +1 -1
- package/dist/core/operators/switch-map.mjs +0 -3
- package/dist/core/operators/switch-map.mjs.map +1 -1
- package/dist/core/operators/take-until.d.mts.map +1 -1
- package/dist/core/operators/take-until.mjs +13 -1
- package/dist/core/operators/take-until.mjs.map +1 -1
- package/dist/core/operators/with-buffered-from.d.mts.map +1 -1
- package/dist/core/operators/with-buffered-from.mjs +12 -3
- package/dist/core/operators/with-buffered-from.mjs.map +1 -1
- package/dist/core/types/observable-family.d.mts +5 -1
- package/dist/core/types/observable-family.d.mts.map +1 -1
- package/dist/core/types/observable-family.mjs.map +1 -1
- package/dist/core/types/observable.d.mts +17 -0
- package/dist/core/types/observable.d.mts.map +1 -1
- package/dist/core/types/observable.mjs.map +1 -1
- package/dist/utils/create-event-emitter.d.mts +2 -2
- package/dist/utils/create-reducer.d.mts +10 -1
- package/dist/utils/create-reducer.d.mts.map +1 -1
- package/dist/utils/create-reducer.mjs +13 -5
- package/dist/utils/create-reducer.mjs.map +1 -1
- package/dist/utils/create-state.d.mts +7 -0
- package/dist/utils/create-state.d.mts.map +1 -1
- package/dist/utils/create-state.mjs +7 -0
- package/dist/utils/create-state.mjs.map +1 -1
- package/package.json +4 -4
- package/src/core/base/create-child-observable.mts +68 -10
- package/src/core/base/create-observable-base.mts +31 -3
- package/src/core/base/create-root-observable.mts +43 -2
- package/src/core/base/write-during-propagation.test.mts +234 -0
- package/src/core/combine/merge.mts +0 -3
- package/src/core/combine/zip.mts +36 -5
- package/src/core/create/counter.mts +27 -6
- package/src/core/create/counter.test.mts +82 -0
- package/src/core/create/from-subscribable.mts +33 -5
- package/src/core/create/from-subscribable.test.mts +129 -0
- package/src/core/create/source.mts +18 -3
- package/src/core/create/source.test.mts +41 -0
- package/src/core/operators/merge-map.mts +0 -3
- package/src/core/operators/skip-until.mts +21 -9
- package/src/core/operators/switch-map.mts +0 -3
- package/src/core/operators/take-until-skip-until-teardown.test.mts +127 -0
- package/src/core/operators/take-until.mts +15 -1
- package/src/core/operators/with-buffered-from.mts +15 -3
- package/src/core/operators/with-buffered-from.test.mts +56 -0
- package/src/core/types/observable-family.mts +5 -1
- package/src/core/types/observable.mts +19 -0
- package/src/utils/create-event-emitter.mts +2 -2
- package/src/utils/create-reducer.mts +14 -8
- package/src/utils/create-reducer.test.mts +12 -0
- package/src/utils/create-state.mts +7 -0
- package/src/utils/create-state.test.mts +20 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PositiveSafeIntWithSmallInt } from 'ts-type-forge';
|
|
1
2
|
import type { CounterObservable } from '../types/index.mjs';
|
|
2
3
|
/**
|
|
3
4
|
* Creates an observable that emits incremental numbers at a specified interval.
|
|
@@ -12,6 +13,10 @@ import type { CounterObservable } from '../types/index.mjs';
|
|
|
12
13
|
* @param options.emitInitial - If false, skips the 0 emitted right after
|
|
13
14
|
* `start()`, so the first value is 1, one interval later — like RxJS
|
|
14
15
|
* `interval` rather than `timer(0, ms)` (default: true)
|
|
16
|
+
* @param options.times - If set, completes right after the `times`-th
|
|
17
|
+
* emission and clears its timers. Completion does not travel upstream, so
|
|
18
|
+
* `counter(ms).pipe(take(n))` leaves the counter running; pass `times` to
|
|
19
|
+
* the counter instead (default: unlimited)
|
|
15
20
|
* @returns An observable that emits sequential numbers
|
|
16
21
|
*
|
|
17
22
|
* @example
|
|
@@ -42,15 +47,16 @@ import type { CounterObservable } from '../types/index.mjs';
|
|
|
42
47
|
*
|
|
43
48
|
* assert.isTrue(Arr.isMinLengthArray(3, valueHistory));
|
|
44
49
|
*
|
|
45
|
-
* assert.
|
|
50
|
+
* assert.strictEqual(valueHistory[0], 0);
|
|
46
51
|
*
|
|
47
|
-
* assert.
|
|
52
|
+
* assert.strictEqual(valueHistory[1], 1);
|
|
48
53
|
*
|
|
49
|
-
* assert.
|
|
54
|
+
* assert.strictEqual(valueHistory[2], 2);
|
|
50
55
|
* ```
|
|
51
56
|
*/
|
|
52
57
|
export declare const counter: (intervalMilliSeconds: number, options?: Readonly<{
|
|
53
58
|
startManually?: boolean;
|
|
54
59
|
emitInitial?: boolean;
|
|
60
|
+
times?: PositiveSafeIntWithSmallInt;
|
|
55
61
|
}>) => CounterObservable;
|
|
56
62
|
//# sourceMappingURL=counter.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter.d.mts","sourceRoot":"","sources":["../../../src/core/create/counter.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"counter.d.mts","sourceRoot":"","sources":["../../../src/core/create/counter.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAW,MAAM,oBAAoB,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,OAAO,yBACI,MAAM,YAClB,QAAQ,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,2BAA2B,CAAC;CACrC,CAAC,KACD,iBA2EF,CAAC"}
|
|
@@ -45,6 +45,10 @@ import { createRootObservable } from '../base/index.mjs';
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
48
52
|
|
|
49
53
|
|
|
50
54
|
|
|
@@ -55,6 +59,7 @@ export const counter = (intervalMilliSeconds, options) => {
|
|
|
55
59
|
let mut_timerId0 = undefined;
|
|
56
60
|
let mut_timerId = undefined;
|
|
57
61
|
let mut_isStarted = false;
|
|
62
|
+
let mut_emittedCount = 0;
|
|
58
63
|
const resetTimer = () => {
|
|
59
64
|
if (mut_timerId0 !== undefined) {
|
|
60
65
|
clearTimeout(mut_timerId0);
|
|
@@ -63,7 +68,7 @@ export const counter = (intervalMilliSeconds, options) => {
|
|
|
63
68
|
clearInterval(mut_timerId);
|
|
64
69
|
}
|
|
65
70
|
};
|
|
66
|
-
const observable = createRootObservable({ initialValue: Optional.none, onComplete: resetTimer }, ({ startUpdate, isCompleted }) => ({
|
|
71
|
+
const observable = createRootObservable({ initialValue: Optional.none, onComplete: resetTimer }, ({ startUpdate, isCompleted, complete }) => ({
|
|
67
72
|
start: () => {
|
|
68
73
|
if (mut_isStarted) {
|
|
69
74
|
console.warn('cannot start twice');
|
|
@@ -74,14 +79,22 @@ export const counter = (intervalMilliSeconds, options) => {
|
|
|
74
79
|
console.warn('cannot restart stopped CounterObservable');
|
|
75
80
|
return;
|
|
76
81
|
}
|
|
82
|
+
const emit = (value) => {
|
|
83
|
+
startUpdate(value);
|
|
84
|
+
mut_emittedCount += 1;
|
|
85
|
+
if (options?.times !== undefined &&
|
|
86
|
+
mut_emittedCount >= options.times) {
|
|
87
|
+
complete();
|
|
88
|
+
}
|
|
89
|
+
};
|
|
77
90
|
if (options?.emitInitial ?? true) {
|
|
78
91
|
mut_timerId0 = setTimeout(() => {
|
|
79
|
-
|
|
92
|
+
emit(mut_counter);
|
|
80
93
|
}, 0);
|
|
81
94
|
}
|
|
82
95
|
mut_timerId = setInterval(() => {
|
|
83
96
|
mut_counter = SafeUint.add(1, mut_counter);
|
|
84
|
-
|
|
97
|
+
emit(mut_counter);
|
|
85
98
|
}, intervalMilliSeconds);
|
|
86
99
|
},
|
|
87
100
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter.mjs","sourceRoot":"","sources":["../../../src/core/create/counter.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"counter.mjs","sourceRoot":"","sources":["../../../src/core/create/counter.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,oBAA4B,EAC5B,OAIE,EACiB,EAAE;IACrB,IAAI,WAAW,GAAa,UAAU,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAI,YAAY,GAAwB,SAAS,CAAC;IAElD,IAAI,WAAW,GAAwB,SAAS,CAAC;IAEjD,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,oBAAoB,CAIrC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,EACvD,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,EAAE,GAAG,EAAE;YACV,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAEnC,OAAO;YACT,CAAC;YAED,aAAa,GAAG,IAAI,CAAC;YAErB,IAAI,WAAW,EAAE,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAEzD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,KAAe,EAAQ,EAAE;gBACrC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAEnB,gBAAgB,IAAI,CAAC,CAAC;gBAEtB,IACE,OAAO,EAAE,KAAK,KAAK,SAAS;oBAC5B,gBAAgB,IAAI,OAAO,CAAC,KAAK,EACjC,CAAC;oBACD,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE,CAAC;gBACjC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC7B,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,CAAC;YAED,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC7B,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAE3C,IAAI,CAAC,WAAW,CAAC,CAAC;YACpB,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,IAAI,KAAK,CAAC,EAAE,CAAC;QACvC,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-subscribable.d.mts","sourceRoot":"","sources":["../../../src/core/create/from-subscribable.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAC1B,YAAY,
|
|
1
|
+
{"version":3,"file":"from-subscribable.d.mts","sourceRoot":"","sources":["../../../src/core/create/from-subscribable.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAC1B,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,GAAG,OAAO,gBAC/B,YAAY,CAAC,CAAC,CAAC,KAC5B,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAkDjC,CAAC"}
|
|
@@ -58,16 +58,39 @@ import { createRootObservable } from '../base/index.mjs';
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
export const fromSubscribable = (subscribable) =>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
export const fromSubscribable = (subscribable) => {
|
|
62
|
+
let mut_subscription = undefined;
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
let mut_isSourceCompleted = false;
|
|
66
|
+
const unsubscribe = () => {
|
|
67
|
+
if (!mut_isSourceCompleted) {
|
|
68
|
+
mut_subscription?.unsubscribe();
|
|
69
|
+
}
|
|
70
|
+
mut_subscription = undefined;
|
|
71
|
+
};
|
|
72
|
+
return createRootObservable({ initialValue: Optional.none, onComplete: unsubscribe }, ({ startUpdate, isCompleted, complete }) => {
|
|
73
|
+
const subscription = subscribable.subscribe((nextValue) => {
|
|
74
|
+
startUpdate(Result.ok(nextValue));
|
|
75
|
+
}, (error) => {
|
|
76
|
+
startUpdate(Result.err(
|
|
77
|
+
|
|
78
|
+
error));
|
|
79
|
+
}, () => {
|
|
80
|
+
mut_isSourceCompleted = true;
|
|
81
|
+
complete();
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
if (isCompleted()) {
|
|
86
|
+
if (!mut_isSourceCompleted) {
|
|
87
|
+
subscription.unsubscribe();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
mut_subscription = subscription;
|
|
92
|
+
}
|
|
93
|
+
return {};
|
|
70
94
|
});
|
|
71
|
-
|
|
72
|
-
});
|
|
95
|
+
};
|
|
73
96
|
//# sourceMappingURL=from-subscribable.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-subscribable.mjs","sourceRoot":"","sources":["../../../src/core/create/from-subscribable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"from-subscribable.mjs","sourceRoot":"","sources":["../../../src/core/create/from-subscribable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,YAA6B,EACK,EAAE;IACpC,IAAI,gBAAgB,GAA6B,SAAS,CAAC;IAE3D,wEAAwE;IACxE,iEAAiE;IACjE,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAClC,CAAC;QAED,gBAAgB,GAAG,SAAS,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO,oBAAoB,CACzB,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EACxD,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CACzC,CAAC,SAAS,EAAE,EAAE;YACZ,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACpC,CAAC,EACD,CAAC,KAAe,EAAE,EAAE;YAClB,WAAW,CACT,MAAM,CAAC,GAAG;YACR,4DAA4D;YAC5D,KAAU,CACX,CACF,CAAC;QACJ,CAAC,EACD,GAAG,EAAE;YACH,qBAAqB,GAAG,IAAI,CAAC;YAE7B,QAAQ,EAAE,CAAC;QACb,CAAC,CACF,CAAC;QAEF,kEAAkE;QAClE,mEAAmE;QACnE,IAAI,WAAW,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gBAAgB,GAAG,YAAY,CAAC;QAClC,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -37,6 +37,13 @@ import type { InitializedSourceObservable, SourceObservable } from '../types/ind
|
|
|
37
37
|
*
|
|
38
38
|
* assert.deepStrictEqual(valueHistory, [1, 2, 3]);
|
|
39
39
|
* ```
|
|
40
|
+
*
|
|
41
|
+
* @note Do not call `next` from a subscriber or a projection while another
|
|
42
|
+
* update is propagating: the write propagates immediately, so subscribers can
|
|
43
|
+
* see an intermediate state, and it logs a `console.warn` (once per
|
|
44
|
+
* observable). Derive the value from its source instead —
|
|
45
|
+
* `const b$ = a$.pipe(map((a) => a * 2))` rather than
|
|
46
|
+
* `a$.subscribe((a) => { setB(a * 2); })`.
|
|
40
47
|
*/
|
|
41
48
|
export declare function source<const A>(initialValue: A): InitializedSourceObservable<A>;
|
|
42
49
|
export declare function source<const A>(): SourceObservable<A>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.mts","sourceRoot":"","sources":["../../../src/core/create/source.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,2BAA2B,EAC3B,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"source.d.mts","sourceRoot":"","sources":["../../../src/core/create/source.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,2BAA2B,EAC3B,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,EAC5B,YAAY,EAAE,CAAC,GACd,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAElC,wBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -5,12 +5,16 @@ export function source(...args) {
|
|
|
5
5
|
initialValue: Arr.isNonEmpty(args)
|
|
6
6
|
? Optional.some(args[0])
|
|
7
7
|
: Optional.none,
|
|
8
|
-
}, ({ startUpdate, isCompleted }) => ({
|
|
8
|
+
}, ({ startUpdate, getSnapshot, isCompleted }) => ({
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
9
12
|
next: (nextValue) => {
|
|
10
13
|
if (isCompleted()) {
|
|
11
|
-
return;
|
|
14
|
+
return Optional.unwrap(getSnapshot());
|
|
12
15
|
}
|
|
13
16
|
startUpdate(nextValue);
|
|
17
|
+
return nextValue;
|
|
14
18
|
},
|
|
15
19
|
}));
|
|
16
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.mjs","sourceRoot":"","sources":["../../../src/core/create/source.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"source.mjs","sourceRoot":"","sources":["../../../src/core/create/source.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AA0DzD,MAAM,UAAU,MAAM,CAAU,GAAG,IAAkB;IACnD,OAAO,oBAAoB,CAIzB;QACE,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAChC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,CAAC,QAAQ,CAAC,IAAI;KAClB,EACD,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,+DAA+D;QAC/D,oEAAoE;QACpE,oDAAoD;QACpD,IAAI,EAAE,CAAC,SAAY,EAAE,EAAE;YACrB,IAAI,WAAW,EAAE,EAAE,CAAC;gBAClB,OAAO,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACxC,CAAC;YAED,WAAW,CAAC,SAAS,CAAC,CAAC;YAEvB,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -90,9 +90,6 @@ import type { DropInitialValueOperator, Observable } from '../types/index.mjs';
|
|
|
90
90
|
* 'C3',
|
|
91
91
|
* ]);
|
|
92
92
|
* ```
|
|
93
|
-
*
|
|
94
|
-
* @note To improve code readability, consider using `createState` instead of `mergeMap`,
|
|
95
|
-
* subscribing to `parentObservable` and calling `setState` within it.
|
|
96
93
|
*/
|
|
97
94
|
export declare const mergeMap: <A, B>(mapToObservable: (curr: A) => Observable<B>) => DropInitialValueOperator<A, B>;
|
|
98
95
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-map.d.mts","sourceRoot":"","sources":["../../../src/core/operators/merge-map.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAExB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"merge-map.d.mts","sourceRoot":"","sources":["../../../src/core/operators/merge-map.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAExB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,eAAO,MAAM,QAAQ,GAClB,CAAC,EAAE,CAAC,mBACc,CAAC,IAAI,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,KAC1C,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAE6B,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,OAAO,iBAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-map.mjs","sourceRoot":"","sources":["../../../src/core/operators/merge-map.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAQ/D
|
|
1
|
+
{"version":3,"file":"merge-map.mjs","sourceRoot":"","sources":["../../../src/core/operators/merge-map.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAQ/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,CACE,eAA2C,EACX,EAAE,CACpC,CAAC,gBAAgB,EAAE,EAAE,CACnB,wBAAwB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEhC,MAAM,wBAAwB,GAAG,CAC/B,gBAA+B,EAC/B,eAA2C,EACT,EAAE;IACpC,IAAI,eAAe,GAA6B,EAAE,CAAC;IAEnD,IAAI,iBAAiB,GAA4B,EAAE,CAAC;IAEpD,OAAO,0BAA0B,CAC/B;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,UAAU,EAAE,GAAG,EAAE;YACf,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;gBAClC,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBAChC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,CAAC;QACH,CAAC;KACF,EACD,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAE7C,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,iBAAiB,GAAG,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-until.d.mts","sourceRoot":"","sources":["../../../src/core/operators/skip-until.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,
|
|
1
|
+
{"version":3,"file":"skip-until.d.mts","sourceRoot":"","sources":["../../../src/core/operators/skip-until.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,SAAS,GACnB,CAAC,YAAa,UAAU,CAAC,OAAO,CAAC,KAAG,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAEX,CAAC"}
|
|
@@ -52,10 +52,21 @@ import { createSyncChildObservable } from '../base/index.mjs';
|
|
|
52
52
|
|
|
53
53
|
export const skipUntil = (notifier) => (parentObservable) => createSkipUntilObservable(parentObservable, notifier);
|
|
54
54
|
const createSkipUntilObservable = (parentObservable, notifier) => {
|
|
55
|
-
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
let mut_isSkipping = Optional.isNone(notifier.getSnapshot()) && !notifier.isCompleted;
|
|
58
|
+
let mut_subscription = undefined;
|
|
59
|
+
const stopSkipping = () => {
|
|
60
|
+
mut_isSkipping = false;
|
|
61
|
+
mut_subscription?.unsubscribe();
|
|
62
|
+
mut_subscription = undefined;
|
|
63
|
+
};
|
|
56
64
|
const observable = createSyncChildObservable({
|
|
57
65
|
parents: [parentObservable],
|
|
58
66
|
initialValue: Optional.none,
|
|
67
|
+
onComplete: () => {
|
|
68
|
+
mut_subscription?.unsubscribe();
|
|
69
|
+
},
|
|
59
70
|
}, ({ setNext }) => (updateToken) => {
|
|
60
71
|
const sn = parentObservable.getSnapshot();
|
|
61
72
|
if (mut_isSkipping ||
|
|
@@ -65,11 +76,9 @@ const createSkipUntilObservable = (parentObservable, notifier) => {
|
|
|
65
76
|
}
|
|
66
77
|
setNext(sn.value, updateToken);
|
|
67
78
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
mut_isSkipping = false;
|
|
72
|
-
});
|
|
79
|
+
if (mut_isSkipping) {
|
|
80
|
+
mut_subscription = notifier.subscribe(stopSkipping, stopSkipping);
|
|
81
|
+
}
|
|
73
82
|
return observable;
|
|
74
83
|
};
|
|
75
84
|
//# sourceMappingURL=skip-until.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-until.mjs","sourceRoot":"","sources":["../../../src/core/operators/skip-until.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"skip-until.mjs","sourceRoot":"","sources":["../../../src/core/operators/skip-until.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAQ9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CAAK,QAA6B,EAAkC,EAAE,CACtE,CAAC,gBAAgB,EAAE,EAAE,CACnB,yBAAyB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAE1D,MAAM,yBAAyB,GAAG,CAChC,gBAA+B,EAC/B,QAA6B,EACG,EAAE;IAClC,sEAAsE;IACtE,wEAAwE;IACxE,IAAI,cAAc,GAChB,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IAEnE,IAAI,gBAAgB,GAA6B,SAAS,CAAC;IAE3D,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,cAAc,GAAG,KAAK,CAAC;QAEvB,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAEhC,gBAAgB,GAAG,SAAS,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,yBAAyB,CAC1C;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,UAAU,EAAE,GAAG,EAAE;YACf,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAClC,CAAC;KACF,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,cAAc;YACd,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC,CACJ,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -88,9 +88,6 @@ import type { DropInitialValueOperator, Observable } from '../types/index.mjs';
|
|
|
88
88
|
* 'C3',
|
|
89
89
|
* ]);
|
|
90
90
|
* ```
|
|
91
|
-
*
|
|
92
|
-
* @note To improve code readability, consider using `createState` instead of `switchMap`,
|
|
93
|
-
* subscribe to `parentObservable` and call `setState` within it.
|
|
94
91
|
*/
|
|
95
92
|
export declare const switchMap: <A, B>(mapToObservable: (curr: A) => Observable<B>) => DropInitialValueOperator<A, B>;
|
|
96
93
|
//# sourceMappingURL=switch-map.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-map.d.mts","sourceRoot":"","sources":["../../../src/core/operators/switch-map.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"switch-map.d.mts","sourceRoot":"","sources":["../../../src/core/operators/switch-map.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,eAAO,MAAM,SAAS,GACnB,CAAC,EAAE,CAAC,mBACc,CAAC,IAAI,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,KAC1C,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAE8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-map.mjs","sourceRoot":"","sources":["../../../src/core/operators/switch-map.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAQ/D
|
|
1
|
+
{"version":3,"file":"switch-map.mjs","sourceRoot":"","sources":["../../../src/core/operators/switch-map.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAQ/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CACE,eAA2C,EACX,EAAE,CACpC,CAAC,gBAAgB,EAAE,EAAE,CACnB,yBAAyB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAEjE,MAAM,yBAAyB,GAAG,CAChC,gBAA+B,EAC/B,eAA2C,EACR,EAAE;IACrC,IAAI,cAAc,GAA8B,SAAS,CAAC;IAE1D,IAAI,gBAAgB,GAA6B,SAAS,CAAC;IAE3D,OAAO,0BAA0B,CAC/B;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,UAAU,EAAE,GAAG,EAAE;YACf,gBAAgB,EAAE,WAAW,EAAE,CAAC;YAEhC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAC7B,CAAC;KACF,EACD,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,cAAc,EAAE,QAAQ,EAAE,CAAC;QAE3B,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAE7C,cAAc,GAAG,UAAU,CAAC;QAE5B,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,gBAAgB,GAAG,YAAY,CAAC;IAClC,CAAC,CACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-until.d.mts","sourceRoot":"","sources":["../../../src/core/operators/take-until.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,
|
|
1
|
+
{"version":3,"file":"take-until.d.mts","sourceRoot":"","sources":["../../../src/core/operators/take-until.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,YACf,UAAU,CAAC,OAAO,CAAC,KAC5B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAMQ,CAAC"}
|
|
@@ -52,9 +52,13 @@ export const takeUntil = (notifier) =>
|
|
|
52
52
|
|
|
53
53
|
((parentObservable) => createTakeUntilObservable(parentObservable, notifier));
|
|
54
54
|
const createTakeUntilObservable = (parentObservable, notifier) => {
|
|
55
|
+
let mut_subscription = undefined;
|
|
55
56
|
const observable = createSyncChildObservable({
|
|
56
57
|
parents: [parentObservable],
|
|
57
58
|
initialValue: parentObservable.getSnapshot(),
|
|
59
|
+
onComplete: () => {
|
|
60
|
+
mut_subscription?.unsubscribe();
|
|
61
|
+
},
|
|
58
62
|
}, ({ setNext }) => (updateToken) => {
|
|
59
63
|
const sn = parentObservable.getSnapshot();
|
|
60
64
|
if (parentObservable.updateToken !== updateToken ||
|
|
@@ -63,11 +67,19 @@ const createTakeUntilObservable = (parentObservable, notifier) => {
|
|
|
63
67
|
}
|
|
64
68
|
setNext(sn.value, updateToken);
|
|
65
69
|
});
|
|
66
|
-
notifier.subscribe(() => {
|
|
70
|
+
const subscription = notifier.subscribe(() => {
|
|
67
71
|
observable.complete();
|
|
68
72
|
}, () => {
|
|
69
73
|
observable.complete();
|
|
70
74
|
});
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
if (observable.isCompleted) {
|
|
78
|
+
subscription.unsubscribe();
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
mut_subscription = subscription;
|
|
82
|
+
}
|
|
71
83
|
return observable;
|
|
72
84
|
};
|
|
73
85
|
//# sourceMappingURL=take-until.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-until.mjs","sourceRoot":"","sources":["../../../src/core/operators/take-until.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"take-until.mjs","sourceRoot":"","sources":["../../../src/core/operators/take-until.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAQ9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAA6B,EACG,EAAE;AAClC,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,yBAAyB,CACvB,gBAAgB,EAChB,QAAQ,CACT,CAAmC,CAAC;AAEzC,MAAM,yBAAyB,GAAG,CAChC,gBAA+B,EAC/B,QAA6B,EACG,EAAE;IAClC,IAAI,gBAAgB,GAA6B,SAAS,CAAC;IAE3D,MAAM,UAAU,GAAG,yBAAyB,CAC1C;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;QAC5C,UAAU,EAAE,GAAG,EAAE;YACf,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAClC,CAAC;KACF,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC,CACJ,CAAC;IAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CACrC,GAAG,EAAE;QACH,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,EACD,GAAG,EAAE;QACH,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,CACF,CAAC;IAEF,sEAAsE;IACtE,6DAA6D;IAC7D,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,YAAY,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,gBAAgB,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-buffered-from.d.mts","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,
|
|
1
|
+
{"version":3,"file":"with-buffered-from.d.mts","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,cACvB,UAAU,CAAC,CAAC,CAAC,KACxB,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAMQ,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,YAAY,yBAAmB,CAAC"}
|
|
@@ -67,6 +67,7 @@ const createWithBufferedFromObservable = (parentObservable, observable) => {
|
|
|
67
67
|
const clearBuffer = () => {
|
|
68
68
|
mut_bufferedValues = [];
|
|
69
69
|
};
|
|
70
|
+
let mut_subscription = undefined;
|
|
70
71
|
const result = createSyncChildObservable({
|
|
71
72
|
parents: [parentObservable],
|
|
72
73
|
depth: 1 + maxDepth([parentObservable, observable]),
|
|
@@ -79,6 +80,10 @@ const createWithBufferedFromObservable = (parentObservable, observable) => {
|
|
|
79
80
|
par.value,
|
|
80
81
|
Optional.isNone(me) ? [] : [me.value],
|
|
81
82
|
])).value,
|
|
83
|
+
onComplete: () => {
|
|
84
|
+
mut_subscription?.unsubscribe();
|
|
85
|
+
clearBuffer();
|
|
86
|
+
},
|
|
82
87
|
}, ({ setNext }) => (updateToken) => {
|
|
83
88
|
const sn = parentObservable.getSnapshot();
|
|
84
89
|
if (parentObservable.updateToken !== updateToken ||
|
|
@@ -88,9 +93,13 @@ const createWithBufferedFromObservable = (parentObservable, observable) => {
|
|
|
88
93
|
setNext([sn.value, mut_bufferedValues], updateToken);
|
|
89
94
|
clearBuffer();
|
|
90
95
|
});
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
if (!result.isCompleted) {
|
|
99
|
+
mut_subscription = observable.subscribe((value) => {
|
|
100
|
+
mut_bufferedValues = Arr.toPushed(mut_bufferedValues, value);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
94
103
|
return result;
|
|
95
104
|
};
|
|
96
105
|
//# sourceMappingURL=with-buffered-from.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-buffered-from.mjs","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"with-buffered-from.mjs","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAO9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,UAAyB,EACgC,EAAE;AAC3D,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,gCAAgC,CAC9B,gBAAgB,EAChB,UAAU,CACX,CAA4D,CAAC;AAElE;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C,MAAM,gCAAgC,GAAG,CACvC,gBAA+B,EAC/B,UAAyB,EACiB,EAAE;IAC5C,IAAI,kBAAkB,GAAiB,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,kBAAkB,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAI,gBAAgB,GAA6B,SAAS,CAAC;IAE3D,MAAM,MAAM,GAAG,yBAAyB,CAItC;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACnD,YAAY,EAAE,IAAI,CAAC;YACjB,GAAG,EAAE,gBAAgB,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE;SAC7B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,CAAC,KAAK;gBACT,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;aAC7B,CAAC,CAChB,CAAC,KAAK;QACP,UAAU,EAAE,GAAG,EAAE;YACf,gBAAgB,EAAE,WAAW,EAAE,CAAC;YAEhC,WAAW,EAAE,CAAC;QAChB,CAAC;KACF,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,EAAE,WAAW,CAAC,CAAC;QAErD,WAAW,EAAE,CAAC;IAChB,CAAC,CACJ,CAAC;IAEF,0EAA0E;IAC1E,wDAAwD;IACxD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAChD,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -3,7 +3,11 @@ import type { ArrayElement, FixedLengthTuple, NonEmptyTuple, SafeUint } from 'ts
|
|
|
3
3
|
import type { AsyncChildObservable, InitializedObservable, InitializedRootObservable, InitializedSyncChildObservable, Observable, RootObservable, SyncChildObservable, Unwrap } from './observable.mjs';
|
|
4
4
|
import type { NonEmptyUnknownList } from './types.mjs';
|
|
5
5
|
export type InitializedSourceObservable<A> = Readonly<{
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Passes `value` on and returns it. Once completed, passes nothing on and
|
|
8
|
+
* returns the value held.
|
|
9
|
+
*/
|
|
10
|
+
next: (value: A) => A;
|
|
7
11
|
}> & InitializedRootObservable<A>;
|
|
8
12
|
export type SourceObservable<A> = Readonly<{
|
|
9
13
|
next: (value: A) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACT,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,EAC9B,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,QAAQ,CAAC;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-family.mjs","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"observable-family.mjs","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,eAAe,CAAC;AA0IxD,UAAU,CACR,GAAG,CACJ,CAAC;AAEF,UAAU,CAGR,GAAG,CAAC,CAAC;AAEP,UAAU,CAKR,GAAG,CAAC,CAAC;AAEP,UAAU,CAKR,GAAG,CAAC,CAAC;AAEP,UAAU,CACR,GAAG,CACJ,CAAC;AAEF,UAAU,CAGR,GAAG,CAAC,CAAC;AAEP,UAAU,CAKR,GAAG,CAAC,CAAC;AAEP,UAAU,CAKR,GAAG,CAAC,CAAC"}
|
|
@@ -28,9 +28,26 @@ type CreateObservableType<A, Kind extends ObservableKind> = Readonly<{
|
|
|
28
28
|
hasSubscriber: boolean;
|
|
29
29
|
hasChild: boolean;
|
|
30
30
|
hasActiveChild: () => boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Whether this observable completes itself once nothing uses it any more —
|
|
33
|
+
* once it has neither subscribers nor live children when one of its children
|
|
34
|
+
* completes. True when completing it would release something: it has a
|
|
35
|
+
* teardown of its own (a timer, an inner subscription) or a parent with
|
|
36
|
+
* `autoComplete`. A `source` or `createState` and everything derived from
|
|
37
|
+
* it alone are never completed this way, so completing a derived observable
|
|
38
|
+
* cannot end a state that something else may still read (#2133).
|
|
39
|
+
*/
|
|
40
|
+
autoComplete: boolean;
|
|
31
41
|
tryUpdate: (updateToken: UpdateToken) => void;
|
|
32
42
|
tryComplete: () => void;
|
|
33
43
|
complete: () => void;
|
|
44
|
+
/**
|
|
45
|
+
* Completes this observable and takes it out of the graph, without telling
|
|
46
|
+
* its parents: unlike `complete()`, it never completes an upstream
|
|
47
|
+
* observable, whatever its `autoComplete`. Its descendants are completed as
|
|
48
|
+
* by `complete()` once none of their parents is live.
|
|
49
|
+
*/
|
|
50
|
+
dispose: () => void;
|
|
34
51
|
subscribe: (onNext: (v: A) => void, onComplete?: () => void) => Subscription;
|
|
35
52
|
pipe: PipeMethod<A>;
|
|
36
53
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErE;;;;;;;;;;;;GAYG;AAEH,KAAK,oBAAoB,CAAC,CAAC,EAAE,IAAI,SAAS,cAAc,IAAI,QAAQ,CAAC;IACnE,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IAGX,KAAK,EAAE,IAAI,SAAS,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACjD,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAGpD,WAAW,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,OAAO,CAAC;IAE9B,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"observable.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.mjs","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"observable.mjs","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,eAAe,CAAC;AAsLrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAkB,EACW,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAkB,EACQ,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAkB,EACS,EAAE,CAC7B,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC;AAgB1D,sEAAsE;AACtE,uDAAuD;AAEvD,UAAU,CAAuD,IAAI,CAAC,CAAC;AAEvE,UAAU,CAAiD,IAAI,CAAC,CAAC;AAEjE,UAAU,CAAsC,GAAG,CAAC,CAAC;AAErD,UAAU,CAAiD,GAAG,CAAC,CAAC;AAEhE,UAAU,CAAgD,GAAG,CAAC,CAAC;AAE/D,UAAU,CAAiD,GAAG,CAAC,CAAC;AAEhE,UAAU,CAA2C,GAAG,CAAC,CAAC;AAE1D,UAAU,CAAuD,GAAG,CAAC,CAAC;AAEtE,UAAU,CAA8C,IAAI,CAAC,CAAC;AAE9D,UAAU,CAA8C,KAAK,CAAC,CAAC;AAE/D,UAAU,CAGR,IAAI,CAAC,CAAC;AAER,UAAU,CAA8C,KAAK,CAAC,CAAC;AAE/D,UAAU,CAGR,IAAI,CAAC,CAAC;AAER,UAAU,CAGR,KAAK,CAAC,CAAC"}
|
|
@@ -17,13 +17,13 @@ import { type Observable } from '../core/index.mjs';
|
|
|
17
17
|
*
|
|
18
18
|
* emitClick(); // logs: Clicked!
|
|
19
19
|
*
|
|
20
|
-
* assert.
|
|
20
|
+
* assert.strictEqual(mut_clickCount.value, 1);
|
|
21
21
|
*
|
|
22
22
|
* emitClick();
|
|
23
23
|
*
|
|
24
24
|
* emitClick();
|
|
25
25
|
*
|
|
26
|
-
* assert.
|
|
26
|
+
* assert.strictEqual(mut_clickCount.value, 3);
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
29
|
export declare const createEventEmitter: () => readonly [Observable<void>, () => void];
|
|
@@ -10,7 +10,9 @@ import { type InitializedObservable } from '../core/index.mjs';
|
|
|
10
10
|
* @param initialState - The initial value of the state
|
|
11
11
|
* @param options - {@link StateOptions}: `equals`, to pass on only the
|
|
12
12
|
* dispatches that change the state
|
|
13
|
-
* @returns A 3-element tuple: `[state, dispatch, { getSnapshot, initialState }]
|
|
13
|
+
* @returns A 3-element tuple: `[state, dispatch, { getSnapshot, initialState }]`.
|
|
14
|
+
* `dispatch` returns the state it leaves; once `state` is completed, that
|
|
15
|
+
* is the state held.
|
|
14
16
|
*
|
|
15
17
|
* @example
|
|
16
18
|
* ```ts
|
|
@@ -66,6 +68,13 @@ import { type InitializedObservable } from '../core/index.mjs';
|
|
|
66
68
|
*
|
|
67
69
|
* assert.deepStrictEqual(countHistory, [0, 2]);
|
|
68
70
|
* ```
|
|
71
|
+
*
|
|
72
|
+
* @note Do not call `dispatch` from a subscriber or a projection while another
|
|
73
|
+
* update is propagating: the write propagates immediately, so subscribers can
|
|
74
|
+
* see an intermediate state, and it logs a `console.warn` (once per
|
|
75
|
+
* observable). Derive the value from its source instead —
|
|
76
|
+
* `const b$ = a$.pipe(map((a) => a * 2))` rather than
|
|
77
|
+
* `a$.subscribe((a) => { setB(a * 2); })`.
|
|
69
78
|
*/
|
|
70
79
|
export declare const createReducer: <S, A>(reducer: Reducer<S, A>, initialState: S, options?: StateOptions<NoInfer<S>>) => readonly [state: InitializedObservable<S>, dispatch: (action: A) => S, utils: Readonly<{
|
|
71
80
|
getSnapshot: () => S;
|