synstate 6.2.1 → 7.0.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 +1 -1
- package/dist/core/class/child-observable-class.d.mts +16 -2
- package/dist/core/class/child-observable-class.d.mts.map +1 -1
- package/dist/core/class/child-observable-class.mjs +37 -4
- package/dist/core/class/child-observable-class.mjs.map +1 -1
- package/dist/core/class/create-child-observable.d.mts +1 -1
- package/dist/core/class/create-child-observable.d.mts.map +1 -1
- package/dist/core/class/create-child-observable.mjs +6 -8
- package/dist/core/class/create-child-observable.mjs.map +1 -1
- package/dist/core/class/create-root-observable.d.mts +1 -1
- package/dist/core/class/create-root-observable.d.mts.map +1 -1
- package/dist/core/class/create-root-observable.mjs +1 -5
- package/dist/core/class/create-root-observable.mjs.map +1 -1
- package/dist/core/class/propagation-state.mjs +1 -1
- package/dist/core/class/propagation-state.mjs.map +1 -1
- package/dist/core/combine/derive.d.mts.map +1 -1
- package/dist/core/combine/derive.mjs +2 -1
- package/dist/core/combine/derive.mjs.map +1 -1
- package/dist/core/combine/zip.d.mts.map +1 -1
- package/dist/core/combine/zip.mjs +5 -2
- package/dist/core/combine/zip.mjs.map +1 -1
- package/dist/core/create/counter.mjs +2 -2
- package/dist/core/create/counter.mjs.map +1 -1
- package/dist/core/create/from-abortable-promise.d.mts.map +1 -1
- package/dist/core/create/from-abortable-promise.mjs +10 -3
- package/dist/core/create/from-abortable-promise.mjs.map +1 -1
- package/dist/core/create/from-promise.d.mts.map +1 -1
- package/dist/core/create/from-promise.mjs +10 -3
- package/dist/core/create/from-promise.mjs.map +1 -1
- package/dist/core/create/source.d.mts.map +1 -1
- package/dist/core/create/source.mjs +2 -1
- package/dist/core/create/source.mjs.map +1 -1
- package/dist/core/operators/filter.d.mts +1 -1
- package/dist/core/operators/filter.d.mts.map +1 -1
- package/dist/core/operators/filter.mjs +2 -3
- package/dist/core/operators/filter.mjs.map +1 -1
- package/dist/core/operators/merge-map.d.mts +6 -2
- package/dist/core/operators/merge-map.d.mts.map +1 -1
- package/dist/core/operators/merge-map.mjs +47 -16
- package/dist/core/operators/merge-map.mjs.map +1 -1
- package/dist/core/operators/skip-while.d.mts +1 -1
- package/dist/core/operators/skip-while.d.mts.map +1 -1
- package/dist/core/operators/skip-while.mjs +9 -6
- package/dist/core/operators/skip-while.mjs.map +1 -1
- package/dist/core/operators/switch-map.d.mts +4 -0
- package/dist/core/operators/switch-map.d.mts.map +1 -1
- package/dist/core/operators/switch-map.mjs +16 -6
- package/dist/core/operators/switch-map.mjs.map +1 -1
- package/dist/core/operators/take-while.d.mts +2 -2
- package/dist/core/operators/take-while.d.mts.map +1 -1
- package/dist/core/operators/take-while.mjs +10 -8
- package/dist/core/operators/take-while.mjs.map +1 -1
- package/dist/core/operators/throttle.mjs +3 -2
- package/dist/core/operators/throttle.mjs.map +1 -1
- package/dist/core/operators/with-buffered-from.d.mts.map +1 -1
- package/dist/core/operators/with-buffered-from.mjs +13 -3
- package/dist/core/operators/with-buffered-from.mjs.map +1 -1
- package/dist/core/predefined/operators/attach-index.d.mts +1 -1
- package/dist/core/predefined/operators/attach-index.d.mts.map +1 -1
- package/dist/core/predefined/operators/attach-index.mjs +2 -3
- package/dist/core/predefined/operators/attach-index.mjs.map +1 -1
- package/dist/core/predefined/operators/skip.d.mts.map +1 -1
- package/dist/core/predefined/operators/skip.mjs +2 -2
- package/dist/core/predefined/operators/skip.mjs.map +1 -1
- package/dist/core/utils/index.d.mts +1 -0
- package/dist/core/utils/index.d.mts.map +1 -1
- package/dist/core/utils/index.mjs +1 -0
- package/dist/core/utils/index.mjs.map +1 -1
- package/dist/core/utils/rethrow-out-of-promise.d.mts +10 -0
- package/dist/core/utils/rethrow-out-of-promise.d.mts.map +1 -0
- package/dist/core/utils/rethrow-out-of-promise.mjs +17 -0
- package/dist/core/utils/rethrow-out-of-promise.mjs.map +1 -0
- package/package.json +12 -11
- package/src/core/class/child-observable-class.mts +45 -3
- package/src/core/class/create-child-observable.mts +8 -5
- package/src/core/class/create-root-observable.mts +2 -1
- package/src/core/class/propagation-state.mts +1 -1
- package/src/core/class/write-during-propagation.test.mts +75 -4
- package/src/core/combine/derive.mts +2 -1
- package/src/core/combine/zip.mts +5 -2
- package/src/core/create/counter.mts +2 -2
- package/src/core/create/from-abortable-promise.mts +33 -23
- package/src/core/create/from-promise.mts +28 -18
- package/src/core/create/from-promise.test.mts +97 -0
- package/src/core/create/source.mts +2 -1
- package/src/core/operators/filter.mts +2 -3
- package/src/core/operators/flat-map-initial-value.test.mts +269 -0
- package/src/core/operators/flat-map-sync-inner.test.mts +4 -2
- package/src/core/operators/inner-ownership.test.mts +145 -2
- package/src/core/operators/merge-map.mts +56 -26
- package/src/core/operators/skip-while.mts +12 -8
- package/src/core/operators/skip-while.test.mts +59 -0
- package/src/core/operators/switch-map.mts +21 -10
- package/src/core/operators/take-while.mts +15 -17
- package/src/core/operators/take-while.test.mts +51 -0
- package/src/core/operators/throttle.mts +4 -3
- package/src/core/operators/with-buffered-from.mts +16 -3
- package/src/core/operators/with-buffered-from.test.mts +27 -0
- package/src/core/predefined/operators/attach-index.mts +2 -3
- package/src/core/predefined/operators/skip.mts +2 -2
- package/src/core/utils/index.mts +1 -0
- package/src/core/utils/rethrow-out-of-promise.mts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.mjs","sourceRoot":"","sources":["../../../src/core/operators/filter.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,IAAI,
|
|
1
|
+
{"version":3,"file":"filter.mjs","sourceRoot":"","sources":["../../../src/core/operators/filter.mts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,13 @@ import type { DropInitialValueOperator, Observable } from '../types/index.mjs';
|
|
|
3
3
|
* Projects each source value to an observable and merges all inner observables.
|
|
4
4
|
* Unlike `switchMap`, does not cancel previous inner observables.
|
|
5
5
|
*
|
|
6
|
+
* A value the source already holds when `mergeMap` is created is projected at
|
|
7
|
+
* once, as with `switchMap`. A completed source is not projected.
|
|
8
|
+
*
|
|
6
9
|
* Each projection runs in a scope of its own (see `createScope`): what it
|
|
7
|
-
* creates is disposed when
|
|
8
|
-
*
|
|
10
|
+
* creates is disposed when the observable it returned completes, or when
|
|
11
|
+
* `mergeMap` completes, whichever comes first. An observable it only returns —
|
|
12
|
+
* one created outside the projection and shared with others — is unsubscribed
|
|
9
13
|
* and left running.
|
|
10
14
|
*
|
|
11
15
|
* @template A - The type of values from the source
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-map.d.mts","sourceRoot":"","sources":["../../../src/core/operators/merge-map.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"merge-map.d.mts","sourceRoot":"","sources":["../../../src/core/operators/merge-map.mts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,wBAAwB,EAExB,UAAU,EAIX,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoGG;AACH,eAAO,MAAM,QAAQ,GAClB,CAAC,EAAE,CAAC,mBACc,CAAC,IAAI,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,KAC1C,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAEgC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,OAAO,iBAAW,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { Optional } from 'ts-data-forge';
|
|
9
9
|
import { AsyncChildObservableClass } from '../class/index.mjs';
|
|
10
10
|
import { createScope, getCurrentScope } from '../scope/index.mjs';
|
|
11
11
|
|
|
@@ -100,6 +100,10 @@ import { createScope, getCurrentScope } from '../scope/index.mjs';
|
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
103
107
|
|
|
104
108
|
|
|
105
109
|
|
|
@@ -115,8 +119,12 @@ class MergeMapObservableClass extends AsyncChildObservableClass {
|
|
|
115
119
|
#mapToObservable;
|
|
116
120
|
|
|
117
121
|
#ownerScope;
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
#mut_liveInners;
|
|
120
128
|
constructor(parentObservable, mapToObservable) {
|
|
121
129
|
super({
|
|
122
130
|
parents: [parentObservable],
|
|
@@ -124,9 +132,39 @@ class MergeMapObservableClass extends AsyncChildObservableClass {
|
|
|
124
132
|
});
|
|
125
133
|
this.#mapToObservable = mapToObservable;
|
|
126
134
|
this.#ownerScope = getCurrentScope();
|
|
127
|
-
this.#
|
|
128
|
-
this
|
|
129
|
-
|
|
135
|
+
this.#mut_liveInners = new Map();
|
|
136
|
+
this.attachProjectingHeldValue(parentObservable, (value, updateToken) => {
|
|
137
|
+
this.#project(value, updateToken);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
#releaseInner(innerScope) {
|
|
145
|
+
this.#mut_liveInners.get(innerScope)?.unsubscribe();
|
|
146
|
+
this.#mut_liveInners.delete(innerScope);
|
|
147
|
+
innerScope.dispose();
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
#project(value, updateToken) {
|
|
151
|
+
const innerScope = createScope(this.#ownerScope);
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
this.#mut_liveInners.set(innerScope, undefined);
|
|
156
|
+
const observable = innerScope.run(() => this.#mapToObservable(value));
|
|
157
|
+
const subscription = this.subscribeInner(observable, updateToken, () => {
|
|
158
|
+
this.#releaseInner(innerScope);
|
|
159
|
+
});
|
|
160
|
+
if (this.#mut_liveInners.has(innerScope)) {
|
|
161
|
+
this.#mut_liveInners.set(innerScope, subscription);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
subscription.unsubscribe();
|
|
167
|
+
}
|
|
130
168
|
}
|
|
131
169
|
tryUpdate(updateToken) {
|
|
132
170
|
const par = this.parents[0];
|
|
@@ -134,19 +172,12 @@ class MergeMapObservableClass extends AsyncChildObservableClass {
|
|
|
134
172
|
if (par.updateToken !== updateToken || Optional.isNone(sn)) {
|
|
135
173
|
return;
|
|
136
174
|
}
|
|
137
|
-
|
|
138
|
-
this.#mut_innerScopes = Arr.toPushed(this.#mut_innerScopes, innerScope);
|
|
139
|
-
const observable = innerScope.run(() => this.#mapToObservable(sn.value));
|
|
140
|
-
const subscription = this.subscribeInner(observable, updateToken);
|
|
141
|
-
this.#mut_subscriptions = Arr.toPushed(this.#mut_subscriptions, subscription);
|
|
175
|
+
this.#project(sn.value, updateToken);
|
|
142
176
|
}
|
|
143
177
|
|
|
144
178
|
teardown() {
|
|
145
|
-
for (const
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
for (const scope of this.#mut_innerScopes) {
|
|
149
|
-
scope.dispose();
|
|
179
|
+
for (const innerScope of this.#mut_liveInners.keys()) {
|
|
180
|
+
this.#releaseInner(innerScope);
|
|
150
181
|
}
|
|
151
182
|
}
|
|
152
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-map.mjs","sourceRoot":"","sources":["../../../src/core/operators/merge-map.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"merge-map.mjs","sourceRoot":"","sources":["../../../src/core/operators/merge-map.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-while.d.mts","sourceRoot":"","sources":["../../../src/core/operators/skip-while.mts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"skip-while.d.mts","sourceRoot":"","sources":["../../../src/core/operators/skip-while.mts"],"names":[],"mappings":"AAOA,OAAO,EAA8B,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,KAAK,EACV,wBAAwB,EAIzB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,eAAO,MAAM,SAAS,GACnB,CAAC,aACW,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,OAAO,KACrD,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAE2B,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
import { Optional,
|
|
8
|
+
import { Optional, asSafeUint, pipe } from 'ts-data-forge';
|
|
9
9
|
import { SyncChildObservableClass } from '../class/index.mjs';
|
|
10
10
|
|
|
11
11
|
|
|
@@ -72,12 +72,15 @@ class SkipWhileObservableClass extends SyncChildObservableClass {
|
|
|
72
72
|
#mut_index;
|
|
73
73
|
#mut_isSkipping;
|
|
74
74
|
constructor(parentObservable, predicate) {
|
|
75
|
+
const initialValue = pipe(parentObservable.getSnapshot()).map((sn) => Optional.isNone(sn) || predicate(sn.value, -1) ? Optional.none : sn).value;
|
|
75
76
|
super({
|
|
76
77
|
parents: [parentObservable],
|
|
77
|
-
initialValue
|
|
78
|
+
initialValue,
|
|
78
79
|
});
|
|
79
80
|
this.#mut_index = -1;
|
|
80
|
-
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
this.#mut_isSkipping = Optional.isNone(initialValue);
|
|
81
84
|
this.#predicate = predicate;
|
|
82
85
|
this.attach();
|
|
83
86
|
}
|
|
@@ -87,9 +90,9 @@ class SkipWhileObservableClass extends SyncChildObservableClass {
|
|
|
87
90
|
if (par.updateToken !== updateToken || Optional.isNone(sn)) {
|
|
88
91
|
return;
|
|
89
92
|
}
|
|
90
|
-
this.#mut_index =
|
|
91
|
-
|
|
92
|
-
if (!this.#predicate(sn.value, this.#mut_index)) {
|
|
93
|
+
this.#mut_index = asSafeUint(this.#mut_index + 1);
|
|
94
|
+
|
|
95
|
+
if (this.#mut_isSkipping && !this.#predicate(sn.value, this.#mut_index)) {
|
|
93
96
|
this.#mut_isSkipping = false;
|
|
94
97
|
}
|
|
95
98
|
if (!this.#mut_isSkipping) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-while.mjs","sourceRoot":"","sources":["../../../src/core/operators/skip-while.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"skip-while.mjs","sourceRoot":"","sources":["../../../src/core/operators/skip-while.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAiB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAQ9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CACE,SAAsD,EACtB,EAAE,CACpC,CAAC,gBAAgB,EAAE,EAAE,CACnB,IAAI,wBAAwB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAE9D,oBAAoB;AAEpB,MAAM,wBACJ,SAAQ,wBAAyC;IAGxC,UAAU,CAA8C;IACjE,UAAU,CAAgB;IAC1B,eAAe,CAAU;IAEzB,YACE,gBAA+B,EAC/B,SAAsD;QAEtD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpE,CAAC,KAAK,CAAC;QAER,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC;YAC3B,YAAY;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAErB,0EAA0E;QAC1E,mBAAmB;QACnB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEQ,SAAS,CAAC,WAAwB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAE7B,IAAI,GAAG,CAAC,WAAW,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAElD,6DAA6D;QAC7D,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -3,6 +3,10 @@ import type { DropInitialValueOperator, Observable } from '../types/index.mjs';
|
|
|
3
3
|
* Projects each source value to an observable, subscribes to it, and emits its values.
|
|
4
4
|
* When a new value arrives from the source, the previous inner observable is unsubscribed.
|
|
5
5
|
*
|
|
6
|
+
* A value the source already holds when `switchMap` is created (a state, an
|
|
7
|
+
* observable with an initial value) is projected at once, as `map` and `filter`
|
|
8
|
+
* start from it. A completed source is not projected.
|
|
9
|
+
*
|
|
6
10
|
* The projection runs in a scope of its own (see `createScope`): what it
|
|
7
11
|
* creates is disposed when the next value switches away from it and when
|
|
8
12
|
* `switchMap` completes. An observable it only returns — one created outside
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-map.d.mts","sourceRoot":"","sources":["../../../src/core/operators/switch-map.mts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAKX,MAAM,oBAAoB,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"switch-map.d.mts","sourceRoot":"","sources":["../../../src/core/operators/switch-map.mts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAKX,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AACH,eAAO,MAAM,SAAS,GACnB,CAAC,EAAE,CAAC,mBACc,CAAC,IAAI,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,KAC1C,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAEiC,CAAC"}
|
|
@@ -98,6 +98,10 @@ import { createScope, getCurrentScope } from '../scope/index.mjs';
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
101
105
|
|
|
102
106
|
|
|
103
107
|
|
|
@@ -123,24 +127,30 @@ class SwitchMapObservableClass extends AsyncChildObservableClass {
|
|
|
123
127
|
this.#ownerScope = getCurrentScope();
|
|
124
128
|
this.#mut_innerScope = undefined;
|
|
125
129
|
this.#mut_subscription = undefined;
|
|
126
|
-
this.
|
|
130
|
+
this.attachProjectingHeldValue(parentObservable, (value, updateToken) => {
|
|
131
|
+
this.#project(value, updateToken);
|
|
132
|
+
});
|
|
127
133
|
}
|
|
128
134
|
|
|
129
135
|
#releaseInner() {
|
|
130
136
|
this.#mut_subscription?.unsubscribe();
|
|
131
137
|
this.#mut_innerScope?.dispose();
|
|
132
138
|
}
|
|
139
|
+
|
|
140
|
+
#project(value, updateToken) {
|
|
141
|
+
this.#releaseInner();
|
|
142
|
+
const innerScope = createScope(this.#ownerScope);
|
|
143
|
+
this.#mut_innerScope = innerScope;
|
|
144
|
+
const observable = innerScope.run(() => this.#mapToObservable(value));
|
|
145
|
+
this.#mut_subscription = this.subscribeInner(observable, updateToken);
|
|
146
|
+
}
|
|
133
147
|
tryUpdate(updateToken) {
|
|
134
148
|
const par = this.parents[0];
|
|
135
149
|
const sn = par.getSnapshot();
|
|
136
150
|
if (par.updateToken !== updateToken || Optional.isNone(sn)) {
|
|
137
151
|
return;
|
|
138
152
|
}
|
|
139
|
-
this.#
|
|
140
|
-
const innerScope = createScope(this.#ownerScope);
|
|
141
|
-
this.#mut_innerScope = innerScope;
|
|
142
|
-
const observable = innerScope.run(() => this.#mapToObservable(sn.value));
|
|
143
|
-
this.#mut_subscription = this.subscribeInner(observable, updateToken);
|
|
153
|
+
this.#project(sn.value, updateToken);
|
|
144
154
|
}
|
|
145
155
|
teardown() {
|
|
146
156
|
this.#releaseInner();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-map.mjs","sourceRoot":"","sources":["../../../src/core/operators/switch-map.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUlE
|
|
1
|
+
{"version":3,"file":"switch-map.mjs","sourceRoot":"","sources":["../../../src/core/operators/switch-map.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CACE,eAA2C,EACX,EAAE,CACpC,CAAC,gBAAgB,EAAE,EAAE,CACnB,IAAI,wBAAwB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAEpE,MAAM,wBACJ,SAAQ,yBAA0C;IAGzC,gBAAgB,CAA6B;IAEtD;;;;OAIG;IACM,WAAW,CAAoB;IAExC,eAAe,CAAoB;IACnC,iBAAiB,CAA2B;IAE5C,YACE,gBAA+B,EAC/B,eAA2C;QAE3C,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC;YAC3B,YAAY,EAAE,QAAQ,CAAC,IAAI;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAExC,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,CAAC;QAErC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAEnC,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACtE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,aAAa;QACX,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAC;QAEtC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,mDAAmD;IACnD,QAAQ,CAAC,KAAQ,EAAE,WAAwB;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAElC,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IAEQ,SAAS,CAAC,WAAwB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAE7B,IAAI,GAAG,CAAC,WAAW,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IAEkB,QAAQ;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SafeUint } from 'ts-data-forge';
|
|
1
|
+
import { type SafeUint } from 'ts-data-forge';
|
|
2
2
|
import type { DropInitialValueOperator } from '../types/index.mjs';
|
|
3
3
|
/**
|
|
4
4
|
* Emits values from the source observable while the predicate returns true.
|
|
@@ -50,7 +50,7 @@ import type { DropInitialValueOperator } from '../types/index.mjs';
|
|
|
50
50
|
*
|
|
51
51
|
* assert.deepStrictEqual(valueHistory, [1, 2, 3, 4]);
|
|
52
52
|
*
|
|
53
|
-
* num$.next(1); //
|
|
53
|
+
* num$.next(1); // nothing logged (already completed)
|
|
54
54
|
*
|
|
55
55
|
* assert.deepStrictEqual(valueHistory, [1, 2, 3, 4]);
|
|
56
56
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-while.d.mts","sourceRoot":"","sources":["../../../src/core/operators/take-while.mts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"take-while.d.mts","sourceRoot":"","sources":["../../../src/core/operators/take-while.mts"],"names":[],"mappings":"AAOA,OAAO,EAAoC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGhF,OAAO,KAAK,EACV,wBAAwB,EAKzB,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,SAAS,GACnB,CAAC,aACW,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,OAAO,KACrD,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAE2B,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
import { Optional,
|
|
8
|
+
import { Optional, asSafeUint } from 'ts-data-forge';
|
|
9
9
|
import { SyncChildObservableClass } from '../class/index.mjs';
|
|
10
10
|
|
|
11
11
|
|
|
@@ -70,16 +70,19 @@ class TakeWhileObservableClass extends SyncChildObservableClass {
|
|
|
70
70
|
#predicate;
|
|
71
71
|
#mut_index;
|
|
72
72
|
constructor(parentObservable, predicate) {
|
|
73
|
+
const parentSnapshot = parentObservable.getSnapshot();
|
|
74
|
+
const isTaking = Optional.isNone(parentSnapshot) || predicate(parentSnapshot.value, -1);
|
|
73
75
|
super({
|
|
74
76
|
parents: [parentObservable],
|
|
75
|
-
initialValue:
|
|
76
|
-
? Optional.none
|
|
77
|
-
: predicate(par.value, -1)
|
|
78
|
-
? par
|
|
79
|
-
: Optional.none).value,
|
|
77
|
+
initialValue: isTaking ? parentSnapshot : Optional.none,
|
|
80
78
|
});
|
|
81
79
|
this.#mut_index = -1;
|
|
82
80
|
this.#predicate = predicate;
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
if (!isTaking) {
|
|
84
|
+
this.complete();
|
|
85
|
+
}
|
|
83
86
|
this.attach();
|
|
84
87
|
}
|
|
85
88
|
tryUpdate(updateToken) {
|
|
@@ -88,8 +91,7 @@ class TakeWhileObservableClass extends SyncChildObservableClass {
|
|
|
88
91
|
if (par.updateToken !== updateToken || Optional.isNone(sn)) {
|
|
89
92
|
return;
|
|
90
93
|
}
|
|
91
|
-
this.#mut_index =
|
|
92
|
-
this.#mut_index === -1 ? asSafeUint(0) : SafeUint.add(1, this.#mut_index);
|
|
94
|
+
this.#mut_index = asSafeUint(this.#mut_index + 1);
|
|
93
95
|
if (this.#predicate(sn.value, this.#mut_index)) {
|
|
94
96
|
this.setNext(sn.value, updateToken);
|
|
95
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-while.mjs","sourceRoot":"","sources":["../../../src/core/operators/take-while.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"take-while.mjs","sourceRoot":"","sources":["../../../src/core/operators/take-while.mts"],"names":[],"mappings":"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"}
|
|
@@ -110,12 +110,13 @@ class ThrottleObservableClass extends SyncChildObservableClass {
|
|
|
110
110
|
Optional.isNone(sn)) {
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
|
-
this.setNext(sn.value, updateToken);
|
|
114
|
-
this.#mut_isSkipping = true;
|
|
115
113
|
|
|
114
|
+
|
|
115
|
+
this.#mut_isSkipping = true;
|
|
116
116
|
this.#mut_timerId = setTimeout(() => {
|
|
117
117
|
this.#mut_isSkipping = false;
|
|
118
118
|
}, this.#milliSeconds);
|
|
119
|
+
this.setNext(sn.value, updateToken);
|
|
119
120
|
}
|
|
120
121
|
teardown() {
|
|
121
122
|
if (this.#mut_timerId !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.mjs","sourceRoot":"","sources":["../../../src/core/operators/throttle.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAS9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,YAAoB,EACY,EAAE;AAClC,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,IAAI,uBAAuB,CACzB,gBAAgB,EAChB,YAAY,CACb,CAAmC,CAAC;AAEzC,MAAM,uBACJ,SAAQ,wBAAyC;IAGxC,aAAa,CAAS;IAC/B,YAAY,CAAsB;IAClC,eAAe,CAAU;IAEzB,YAAY,gBAA+B,EAAE,YAAoB;QAC/D,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC;YAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE7B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAElC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEQ,SAAS,CAAC,WAAwB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAE7B,IACE,IAAI,CAAC,eAAe;YACpB,GAAG,CAAC,WAAW,KAAK,WAAW;YAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"throttle.mjs","sourceRoot":"","sources":["../../../src/core/operators/throttle.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAS9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,YAAoB,EACY,EAAE;AAClC,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,IAAI,uBAAuB,CACzB,gBAAgB,EAChB,YAAY,CACb,CAAmC,CAAC;AAEzC,MAAM,uBACJ,SAAQ,wBAAyC;IAGxC,aAAa,CAAS;IAC/B,YAAY,CAAsB;IAClC,eAAe,CAAU;IAEzB,YAAY,gBAA+B,EAAE,YAAoB;QAC/D,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC;YAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE7B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAElC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEQ,SAAS,CAAC,WAAwB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAE7B,IACE,IAAI,CAAC,eAAe;YACpB,GAAG,CAAC,WAAW,KAAK,WAAW;YAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,yEAAyE;QACzE,mDAAmD;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;IAEkB,QAAQ;QACzB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-buffered-from.d.mts","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"with-buffered-from.d.mts","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAIX,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"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { Optional, pipe } from 'ts-data-forge';
|
|
9
|
+
import * as Arr from 'ts-data-forge/array';
|
|
9
10
|
import { SyncChildObservableClass } from '../class/index.mjs';
|
|
10
11
|
import { maxDepth } from '../utils/index.mjs';
|
|
11
12
|
|
|
@@ -73,11 +74,12 @@ class WithBufferedFromObservableClass extends SyncChildObservableClass {
|
|
|
73
74
|
#subscription;
|
|
74
75
|
#mut_bufferedValues;
|
|
75
76
|
constructor(parentObservable, observable) {
|
|
77
|
+
const parentSnapshot = parentObservable.getSnapshot();
|
|
76
78
|
super({
|
|
77
79
|
parents: [parentObservable],
|
|
78
80
|
depth: 1 + maxDepth([parentObservable, observable]),
|
|
79
81
|
initialValue: pipe({
|
|
80
|
-
par:
|
|
82
|
+
par: parentSnapshot,
|
|
81
83
|
me: observable.getSnapshot(),
|
|
82
84
|
}).map(({ par, me }) => Optional.isNone(par)
|
|
83
85
|
? Optional.none
|
|
@@ -90,6 +92,11 @@ class WithBufferedFromObservableClass extends SyncChildObservableClass {
|
|
|
90
92
|
this.#subscription = observable.subscribe((value) => {
|
|
91
93
|
this.#mut_bufferedValues = Arr.toPushed(this.#mut_bufferedValues, value);
|
|
92
94
|
});
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
if (Optional.isSome(parentSnapshot)) {
|
|
98
|
+
this.#mut_bufferedValues = [];
|
|
99
|
+
}
|
|
93
100
|
this.attach();
|
|
94
101
|
}
|
|
95
102
|
tryUpdate(updateToken) {
|
|
@@ -98,8 +105,11 @@ class WithBufferedFromObservableClass extends SyncChildObservableClass {
|
|
|
98
105
|
if (par.updateToken !== updateToken || Optional.isNone(sn)) {
|
|
99
106
|
return;
|
|
100
107
|
}
|
|
101
|
-
|
|
108
|
+
const buffered = this.#mut_bufferedValues;
|
|
109
|
+
|
|
110
|
+
|
|
102
111
|
this.#mut_bufferedValues = [];
|
|
112
|
+
this.setNext([sn.value, buffered], updateToken);
|
|
103
113
|
}
|
|
104
114
|
teardown() {
|
|
105
115
|
this.#subscription.unsubscribe();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-buffered-from.mjs","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"with-buffered-from.mjs","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-index.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/attach-index.mts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"attach-index.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/attach-index.mts"],"names":[],"mappings":"AAOA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,OAAM,wBAAwB,CACvD,CAAC,EACD,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAO1B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,kBAAY,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
import { Optional,
|
|
8
|
+
import { Optional, asSafeUint } from 'ts-data-forge';
|
|
9
9
|
import { SyncChildObservableClass } from '../../class/index.mjs';
|
|
10
10
|
|
|
11
11
|
|
|
@@ -83,8 +83,7 @@ class WithIndexObservableClass extends SyncChildObservableClass {
|
|
|
83
83
|
if (par.updateToken !== updateToken || Optional.isNone(sn)) {
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
this.#mut_index =
|
|
87
|
-
this.#mut_index === -1 ? asSafeUint(0) : SafeUint.add(1, this.#mut_index);
|
|
86
|
+
this.#mut_index = asSafeUint(this.#mut_index + 1);
|
|
88
87
|
this.setNext([this.#mut_index, sn.value], updateToken);
|
|
89
88
|
}
|
|
90
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-index.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/attach-index.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"attach-index.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/attach-index.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAOjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAGvB,EAAE;AACF,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,IAAI,wBAAwB,CAAC,gBAAgB,CAAC,CAG/C,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AAErC,oBAAoB;AAEpB,MAAM,wBAA4B,SAAQ,wBAGzC;IACC,UAAU,CAAgB;IAE1B,YAAY,gBAA+B;QACzC,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC;YAC3B,YAAY,EAAE,QAAQ,CAAC,GAAG,CACxB,gBAAgB,CAAC,WAAW,EAAE,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAU,CACxB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEQ,SAAS,CAAC,WAAwB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAE7B,IAAI,GAAG,CAAC,WAAW,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/skip.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,KACjB,2BAA2B,KAC7B,wBAAwB,CAAC,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"skip.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/skip.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,KACjB,2BAA2B,KAC7B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CACwC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isPositiveSafeInt } from 'ts-data-forge';
|
|
2
2
|
import { skipWhile } from '../../operators/index.mjs';
|
|
3
3
|
|
|
4
4
|
|
|
@@ -47,6 +47,6 @@ import { skipWhile } from '../../operators/index.mjs';
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
export const skip = (n) => !
|
|
50
|
+
export const skip = (n) => !isPositiveSafeInt(n) ? idFn : skipWhile((_, index) => index + 1 <= n);
|
|
51
51
|
const idFn = (value) => value;
|
|
52
52
|
//# sourceMappingURL=skip.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/skip.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"skip.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/skip.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,CAA8B,EACE,EAAE,CAClC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzE,MAAM,IAAI,GAAG,CAAK,KAAQ,EAAK,EAAE,CAAC,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/core/utils/index.mts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/core/utils/index.mts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/core/utils/index.mts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/core/utils/index.mts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Throws `error` again from a task of its own, for a `.catch` after each step
|
|
3
|
+
* of a promise chain that runs subscribers (`fromPromise`): after the step that
|
|
4
|
+
* emits and after the one that completes, so that neither exception replaces
|
|
5
|
+
* the other. A subscriber's exception then surfaces as an uncaught error, as
|
|
6
|
+
* one thrown during an update a timer started does (`debounce`, `timer`),
|
|
7
|
+
* rather than as a rejection or not at all.
|
|
8
|
+
*/
|
|
9
|
+
export declare const rethrowOutOfPromise: (error: unknown) => void;
|
|
10
|
+
//# sourceMappingURL=rethrow-out-of-promise.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rethrow-out-of-promise.d.mts","sourceRoot":"","sources":["../../../src/core/utils/rethrow-out-of-promise.mts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,UAAW,OAAO,KAAG,IAOpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rethrow-out-of-promise.mjs","sourceRoot":"","sources":["../../../src/core/utils/rethrow-out-of-promise.mts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAQ,EAAE;IAC1D,UAAU,CAAC,GAAG,EAAE;QACd,uDAAuD;QACvD,yCAAyC;QACzC,sHAAsH;QACtH,MAAM,KAAK,CAAC;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC"}
|