synstate 6.1.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 +3 -3
- package/dist/core/authoring.d.mts +3 -3
- package/dist/core/class/child-observable-class.d.mts +40 -27
- package/dist/core/class/child-observable-class.d.mts.map +1 -1
- package/dist/core/class/child-observable-class.mjs +78 -46
- package/dist/core/class/child-observable-class.mjs.map +1 -1
- package/dist/core/class/create-child-observable.d.mts +28 -30
- 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 +12 -12
- 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/manager-observable-class.d.mts +6 -6
- package/dist/core/class/manager-observable-class.mjs.map +1 -1
- package/dist/core/class/observable-base-class.d.mts +29 -31
- package/dist/core/class/observable-base-class.d.mts.map +1 -1
- package/dist/core/class/observable-base-class.mjs +0 -2
- package/dist/core/class/observable-base-class.mjs.map +1 -1
- package/dist/core/class/observable-node.d.mts +3 -4
- package/dist/core/class/observable-node.d.mts.map +1 -1
- package/dist/core/class/observable-node.mjs +0 -1
- package/dist/core/class/observable-node.mjs.map +1 -1
- package/dist/core/class/propagation-state.d.mts +6 -8
- package/dist/core/class/propagation-state.d.mts.map +1 -1
- package/dist/core/class/propagation-state.mjs +1 -3
- package/dist/core/class/propagation-state.mjs.map +1 -1
- package/dist/core/class/root-observable-class.d.mts +4 -4
- package/dist/core/combine/derive.d.mts +7 -8
- package/dist/core/combine/derive.d.mts.map +1 -1
- package/dist/core/combine/derive.mjs +2 -2
- package/dist/core/combine/derive.mjs.map +1 -1
- package/dist/core/combine/merge.mjs.map +1 -1
- package/dist/core/combine/zip.d.mts +3 -3
- 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.d.mts +3 -3
- 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/from-subscribable.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/create/timer.mjs.map +1 -1
- package/dist/core/operators/audit.mjs.map +1 -1
- package/dist/core/operators/debounce.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/keep-equal-parts.d.mts +14 -15
- package/dist/core/operators/keep-equal-parts.d.mts.map +1 -1
- package/dist/core/operators/keep-equal-parts.mjs +0 -1
- package/dist/core/operators/keep-equal-parts.mjs.map +1 -1
- package/dist/core/operators/map.mjs.map +1 -1
- package/dist/core/operators/merge-map.d.mts +7 -3
- 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/pairwise.mjs.map +1 -1
- package/dist/core/operators/scan.mjs.map +1 -1
- package/dist/core/operators/skip-if-no-change.mjs.map +1 -1
- package/dist/core/operators/skip-until.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-until.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/take.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/operators/with-current-value-from.mjs.map +1 -1
- package/dist/core/operators/with-initial-value.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/map-to.d.mts +3 -4
- package/dist/core/predefined/operators/map-to.d.mts.map +1 -1
- package/dist/core/predefined/operators/map-to.mjs +0 -1
- package/dist/core/predefined/operators/map-to.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/scope/scope.d.mts +4 -4
- 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 +5 -5
- package/dist/core/types/observable.mjs.map +1 -1
- package/dist/core/utils/current-scope.d.mts +6 -6
- package/dist/core/utils/id-maker.d.mts +2 -2
- 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/observable-brand.d.mts +5 -5
- 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/dist/utils/create-boolean-state.d.mts +2 -2
- package/dist/utils/create-reducer.d.mts +18 -18
- package/dist/utils/create-state.d.mts +2 -2
- package/dist/utils/create-state.mjs.map +1 -1
- package/dist/utils/state-source.d.mts +3 -3
- package/package.json +12 -11
- package/src/core/authoring.mts +3 -3
- package/src/core/class/child-observable-class.mts +131 -90
- package/src/core/class/circular-dependency-comparison.test.mts +2 -2
- package/src/core/class/create-child-observable.mts +35 -34
- package/src/core/class/create-root-observable.mts +13 -12
- package/src/core/class/manager-observable-class.mts +12 -12
- package/src/core/class/observable-base-class.mts +33 -35
- package/src/core/class/observable-node.mts +3 -4
- package/src/core/class/propagation-state.mts +27 -29
- package/src/core/class/remove-completed.test.mts +2 -2
- package/src/core/class/root-observable-class.mts +9 -9
- package/src/core/class/unobserved-write.test.mts +4 -4
- package/src/core/class/write-during-propagation.test.mts +75 -4
- package/src/core/combine/derive.mts +12 -12
- package/src/core/combine/merge.mts +2 -2
- package/src/core/combine/zip.mts +12 -9
- package/src/core/create/counter.mts +7 -7
- package/src/core/create/from-abortable-promise.mts +35 -25
- package/src/core/create/from-promise.mts +30 -20
- package/src/core/create/from-promise.test.mts +97 -0
- package/src/core/create/from-subscribable.mts +2 -2
- package/src/core/create/source.mts +7 -6
- package/src/core/create/timer.mts +2 -2
- package/src/core/operators/audit.mts +2 -2
- package/src/core/operators/debounce.mts +2 -2
- package/src/core/operators/filter.mts +6 -7
- 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/keep-equal-parts.mts +16 -17
- package/src/core/operators/map.mts +2 -2
- package/src/core/operators/merge-map.mts +59 -29
- package/src/core/operators/pairwise.mts +4 -4
- package/src/core/operators/scan.mts +2 -2
- package/src/core/operators/skip-if-no-change.mts +4 -4
- package/src/core/operators/skip-until.mts +4 -4
- package/src/core/operators/skip-while.mts +14 -10
- package/src/core/operators/skip-while.test.mts +59 -0
- package/src/core/operators/switch-map.mts +26 -15
- package/src/core/operators/take-until.mts +2 -2
- package/src/core/operators/take-while.mts +17 -19
- package/src/core/operators/take-while.test.mts +51 -0
- package/src/core/operators/take.mts +2 -2
- package/src/core/operators/throttle.mts +6 -5
- package/src/core/operators/with-buffered-from.mts +18 -5
- package/src/core/operators/with-buffered-from.test.mts +27 -0
- package/src/core/operators/with-current-value-from.mts +2 -2
- package/src/core/operators/with-initial-value.mts +2 -2
- package/src/core/predefined/operators/attach-index.mts +4 -5
- package/src/core/predefined/operators/map-to.mts +3 -4
- package/src/core/predefined/operators/skip.mts +2 -2
- package/src/core/scope/scope.mts +6 -6
- package/src/core/types/observable-family.mts +4 -5
- package/src/core/types/observable.mts +7 -7
- package/src/core/utils/current-scope.mts +8 -8
- package/src/core/utils/id-maker.mts +2 -2
- package/src/core/utils/index.mts +1 -0
- package/src/core/utils/observable-brand.mts +5 -5
- package/src/core/utils/rethrow-out-of-promise.mts +16 -0
- package/src/utils/create-boolean-state.mts +2 -2
- package/src/utils/create-reducer.mts +18 -18
- package/src/utils/create-state.mts +4 -4
- package/src/utils/create-state.test.mts +2 -2
- package/src/utils/state-source.mts +3 -3
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ManagerObservableKind } from '../types/index.mjs';
|
|
2
2
|
import { ObservableBaseClass } from './observable-base-class.mjs';
|
|
3
3
|
/**
|
|
4
|
-
* The base of the observables that start updates of their own: a root, and
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* The base of the observables that start updates of their own: a root, and an
|
|
5
|
+
* async child (`debounce`, `switchMap`), which emits later than its parents do.
|
|
6
|
+
* Its update visits, shallowest first, the nodes its value reaches: each node
|
|
7
|
+
* that emits puts its children in the update's queue (`propagation-state.mts`),
|
|
8
|
+
* so that each sees its parents' values of that update (no glitch) and a node
|
|
9
|
+
* no value reached is not visited.
|
|
10
10
|
*/
|
|
11
11
|
export declare class ManagerObservableClass<A, Kind extends ManagerObservableKind, Depth extends number> extends ObservableBaseClass<A, Kind, Depth> {
|
|
12
12
|
/** Emits `nextValue` and propagates it to the descendants. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager-observable-class.mjs","sourceRoot":"","sources":["../../../src/core/class/manager-observable-class.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,GACX,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,OAAO,sBAIX,SAAQ,mBAAmC;IAC3C,8DAA8D;IACpD,WAAW,CAAC,SAAY;QAChC,
|
|
1
|
+
{"version":3,"file":"manager-observable-class.mjs","sourceRoot":"","sources":["../../../src/core/class/manager-observable-class.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,GACX,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,OAAO,sBAIX,SAAQ,mBAAmC;IAC3C,8DAA8D;IACpD,WAAW,CAAC,SAAY;QAChC,4EAA4E;QAC5E,0EAA0E;QAC1E,uCAAuC;QACvC,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3C,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE9B,4EAA4E;QAC5E,2EAA2E;QAC3E,4DAA4D;QAC5D,uCAAuC;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAErC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,WAAW,CAAC,CAAC;YAEzB,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -5,25 +5,23 @@ import type { ChildNode } from './observable-node.mjs';
|
|
|
5
5
|
/**
|
|
6
6
|
* The base of every observable, and the reason an observable is a class.
|
|
7
7
|
*
|
|
8
|
-
* A node is created for every derived value of a UI, so creating one has to
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* the first one arrives.
|
|
8
|
+
* A node is created for every derived value of a UI, so creating one has to be
|
|
9
|
+
* cheap, and most of its cost was its methods: each observable used to be a set
|
|
10
|
+
* of closures made for it, a dozen or more per node (#2421). Sharing the
|
|
11
|
+
* methods among all nodes removes that cost, and a shared method has to read
|
|
12
|
+
* the node it is called on from `this`. Once `this` is unavoidable, a class is
|
|
13
|
+
* the plainest way to say it: the methods live once on the prototype, `this` is
|
|
14
|
+
* typed, a creator or operator is a subclass that overrides `tryUpdate` (and
|
|
15
|
+
* `flush` / `teardown` where it holds something), and assigning every field in
|
|
16
|
+
* the constructor gives the nodes of one class one shape for V8. The
|
|
17
|
+
* collections (`children`, subscribers) are made when the first one arrives.
|
|
19
18
|
*
|
|
20
19
|
* The methods read the observable they are called on, so taking one off it
|
|
21
20
|
* (`const { subscribe } = obs$`) is not supported.
|
|
22
21
|
*
|
|
23
|
-
* A node reaches another node only through its methods and its public
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* these.
|
|
22
|
+
* A node reaches another node only through its methods and its public fields,
|
|
23
|
+
* never through a `#private` one: the other node may be an instance of another
|
|
24
|
+
* copy of synstate in the same program, whose classes are not these.
|
|
27
25
|
*/
|
|
28
26
|
export declare class ObservableBaseClass<A, Kind extends ObservableKind, Depth extends number> implements ObservableBase<A> {
|
|
29
27
|
#private;
|
|
@@ -46,18 +44,18 @@ export declare class ObservableBaseClass<A, Kind extends ObservableKind, Depth e
|
|
|
46
44
|
addChild(child: ChildNode): void;
|
|
47
45
|
deleteChild(child: ChildNode): void;
|
|
48
46
|
/**
|
|
49
|
-
* Stores `nextValue` as the current value, queues the children for the
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
47
|
+
* Stores `nextValue` as the current value, queues the children for the update
|
|
48
|
+
* `updateToken`, and notifies subscribers. The children are queued first, so
|
|
49
|
+
* that a child a subscriber creates, which starts from this value, is not
|
|
50
|
+
* visited for it again.
|
|
53
51
|
*/
|
|
54
52
|
protected setNext(nextValue: A, updateToken: UpdateToken): void;
|
|
55
53
|
/**
|
|
56
|
-
* Stores `nextValue` and returns `true` when nothing observes this
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
54
|
+
* Stores `nextValue` and returns `true` when nothing observes this observable
|
|
55
|
+
* — no child to queue and no subscriber to call — so that the caller need not
|
|
56
|
+
* open an update; returns `false`, storing nothing, otherwise. The value
|
|
57
|
+
* still gets a token of its own, so that whoever stored the last one sees
|
|
58
|
+
* that it emitted.
|
|
61
59
|
*/
|
|
62
60
|
protected setNextIfUnobserved(nextValue: A): boolean;
|
|
63
61
|
/**
|
|
@@ -76,19 +74,19 @@ export declare class ObservableBaseClass<A, Kind extends ObservableKind, Depth e
|
|
|
76
74
|
tryComplete(): void;
|
|
77
75
|
/**
|
|
78
76
|
* Completes the observable: an async child first passes on what it still
|
|
79
|
-
* holds (`flush`), then it is disposed. Completing never reaches the
|
|
80
|
-
*
|
|
81
|
-
*
|
|
77
|
+
* holds (`flush`), then it is disposed. Completing never reaches the parents:
|
|
78
|
+
* an upstream observable may be shared, and only whoever owns it decides when
|
|
79
|
+
* it ends (#2133).
|
|
82
80
|
*/
|
|
83
81
|
complete(): void;
|
|
84
82
|
/**
|
|
85
|
-
* Completes the observable without passing on anything it still holds,
|
|
86
|
-
*
|
|
83
|
+
* Completes the observable without passing on anything it still holds, runs
|
|
84
|
+
* its teardown, and takes it out of the graph.
|
|
87
85
|
*/
|
|
88
86
|
dispose(): void;
|
|
89
87
|
/**
|
|
90
|
-
* Passes on what the observable still holds, at the beginning of
|
|
91
|
-
*
|
|
88
|
+
* Passes on what the observable still holds, at the beginning of `complete()`
|
|
89
|
+
* and never in `dispose()` (`debounce`'s pending value).
|
|
92
90
|
*/
|
|
93
91
|
protected flush(): void;
|
|
94
92
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-base-class.d.mts","sourceRoot":"","sources":["../../../src/core/class/observable-base-class.mts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACV,cAAc,EACd,cAAc,EAGd,YAAY,EACZ,WAAW,EACX,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,eAAe,EAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD
|
|
1
|
+
{"version":3,"file":"observable-base-class.d.mts","sourceRoot":"","sources":["../../../src/core/class/observable-base-class.mts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACV,cAAc,EACd,cAAc,EAGd,YAAY,EACZ,WAAW,EACX,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,eAAe,EAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mBAAmB,CAC9B,CAAC,EACD,IAAI,SAAS,cAAc,EAC3B,KAAK,SAAS,MAAM,CACpB,YAAW,cAAc,CAAC,CAAC,CAAC;;IAQ5B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,SAAiB,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;IAEzC,YAAY,EACV,IAAI,EACJ,KAAK,EACL,YAAY,GACb,EAAE,QAAQ,CAAC;QACV,IAAI,EAAE,IAAI,CAAC;QACX,KAAK,EAAE,KAAK,CAAC;QACb,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;KAC3B,CAAC,EAoBD;IAED,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,CAEzB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,aAAa,IAAI,OAAO,CAI3B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,cAAc,IAAI,OAAO,CAUxB;IAED,IAAI,SAAS,IAAI,WAAW,GAAG,SAAS,CAEvC;IAED,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAE3C;IAED,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAQ/B;IAED,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAElC;IAED;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAc9D;IAED;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,GAAG,OAAO,CAUnD;IAED;;;;;;OAMG;IAEH,SAAS,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI,CAEzC;IAED;;;;OAIG;IAEH,WAAW,IAAI,IAAI,CAAG;IAEtB;;;;;OAKG;IACH,QAAQ,IAAI,IAAI,CAQf;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI,CAkCd;IAED;;;OAGG;IAEH,SAAS,CAAC,KAAK,IAAI,IAAI,CAAG;IAE1B;;;;OAIG;IAEH,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAG;IAE7B,yDAAyD;IAEzD,SAAS,CAAC,MAAM,IAAI,IAAI,CAAG;IAE3B;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI,CAUtC;IAKD,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAE5E,IAAI,CAAC,CAAC,EACJ,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GACxE,UAAU,CAAC,CAAC,CAAC,CAAC;IAUjB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,YAAY,CAuBvE;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-base-class.mjs","sourceRoot":"","sources":["../../../src/core/class/observable-base-class.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E
|
|
1
|
+
{"version":3,"file":"observable-base-class.mjs","sourceRoot":"","sources":["../../../src/core/class/observable-base-class.mts"],"names":[],"mappings":"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"}
|
|
@@ -26,10 +26,9 @@ export type ChildNode = NodeInternals & ObservableBase<unknown> & Readonly<{
|
|
|
26
26
|
parents: readonly Observable<unknown>[];
|
|
27
27
|
}>;
|
|
28
28
|
/**
|
|
29
|
-
* The one place a public observable is seen as the node it is. Every
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* those types.
|
|
29
|
+
* The one place a public observable is seen as the node it is. Every observable
|
|
30
|
+
* is built by a synstate class, and the public types carry a brand an object
|
|
31
|
+
* literal cannot supply, so this holds for every value of those types.
|
|
33
32
|
*/
|
|
34
33
|
export declare const toNode: <A>(observable: Observable<A>) => ObservableNode<A>;
|
|
35
34
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-node.d.mts","sourceRoot":"","sources":["../../../src/core/class/observable-node.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,KAAK,aAAa,GAAG,QAAQ,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC;IAEnC,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAClD,CAAC,CAAC;AAEH,6DAA6D;AAC7D,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG,aAAa,GACnC,cAAc,CAAC,OAAO,CAAC,GACvB,QAAQ,CAAC;IACP,OAAO,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAEL
|
|
1
|
+
{"version":3,"file":"observable-node.d.mts","sourceRoot":"","sources":["../../../src/core/class/observable-node.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,KAAK,aAAa,GAAG,QAAQ,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC;IAEnC,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAClD,CAAC,CAAC;AAEH,6DAA6D;AAC7D,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG,aAAa,GACnC,cAAc,CAAC,OAAO,CAAC,GACvB,QAAQ,CAAC;IACP,OAAO,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,cAAe,UAAU,CAAC,CAAC,CAAC,KAAG,cAAc,CAAC,CAAC,CAEtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-node.mjs","sourceRoot":"","sources":["../../../src/core/class/observable-node.mts"],"names":[],"mappings":"AAuCA
|
|
1
|
+
{"version":3,"file":"observable-node.mjs","sourceRoot":"","sources":["../../../src/core/class/observable-node.mts"],"names":[],"mappings":"AAuCA;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAK,UAAyB,EAAqB,EAAE;AACzE,4DAA4D;AAC5D,UAA+B,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { UpdateToken } from '../types/index.mjs';
|
|
2
2
|
import type { ChildNode } from './observable-node.mjs';
|
|
3
3
|
/**
|
|
4
|
-
* Whether some observable's update is propagating right now. A root written
|
|
5
|
-
*
|
|
6
|
-
* (#2336).
|
|
4
|
+
* Whether some observable's update is propagating right now. A root written to
|
|
5
|
+
* while one is, is written to from inside a subscriber or a projection (#2336).
|
|
7
6
|
*/
|
|
8
7
|
export declare const isPropagating: () => boolean;
|
|
9
8
|
/** The token of the outermost update propagating now, if any. */
|
|
@@ -21,8 +20,7 @@ export declare const runAfterPropagation: (task: () => void) => void;
|
|
|
21
20
|
*/
|
|
22
21
|
export declare const beginPropagation: (updateToken: UpdateToken) => void;
|
|
23
22
|
/**
|
|
24
|
-
* Ends one update, and runs the deferred work once the outermost one has
|
|
25
|
-
* ended.
|
|
23
|
+
* Ends one update, and runs the deferred work once the outermost one has ended.
|
|
26
24
|
*/
|
|
27
25
|
export declare const endPropagation: () => void;
|
|
28
26
|
/**
|
|
@@ -35,9 +33,9 @@ export declare const endPropagation: () => void;
|
|
|
35
33
|
export declare const openUpdate: (depth: number) => UpdateToken;
|
|
36
34
|
/**
|
|
37
35
|
* How many updates of one copy may be open at once, one inside another. An
|
|
38
|
-
* update opens inside another only when a subscriber or projection writes to
|
|
39
|
-
*
|
|
40
|
-
*
|
|
36
|
+
* update opens inside another only when a subscriber or projection writes to a
|
|
37
|
+
* root while the outer one is propagating; a chain of such writes this deep is
|
|
38
|
+
* a loop that would otherwise run until the stack overflows.
|
|
41
39
|
*/
|
|
42
40
|
export declare const maxUpdateNesting = 100;
|
|
43
41
|
export declare const updateLoopMessage: `synstate: more than ${string} updates were nested, one started inside another: a subscriber or projection keeps writing to an observable whose update reaches it again. Make the write stop (a condition, or a value equal to the current one), or derive the value with map / combine.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propagation-state.d.mts","sourceRoot":"","sources":["../../../src/core/class/propagation-state.mts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAkBvD
|
|
1
|
+
{"version":3,"file":"propagation-state.d.mts","sourceRoot":"","sources":["../../../src/core/class/propagation-state.mts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAkBvD;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAO,OAAoC,CAAC;AAEtE,iEAAiE;AACjE,eAAO,MAAM,oBAAoB,QAAO,WAAW,GAAG,SACtB,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,SAAU,MAAM,IAAI,KAAG,IAMtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,gBAAiB,WAAW,KAAG,IAM3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAO,IAcjC,CAAC;AAcF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,WAY1C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,iBAAiB,2RAC2R,CAAC;AAE1T,iEAAiE;AACjE,eAAO,MAAM,WAAW,gBAAiB,WAAW,KAAG,IAEtD,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,WAAW,gBAAiB,WAAW,KAAG,IAItD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,aAChB,WAAW,CAAC,SAAS,CAAC,eACnB,WAAW,KACvB,IAEF,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
import
|
|
14
|
+
import * as Arr from 'ts-data-forge/array';
|
|
15
15
|
import { panic } from 'ts-std-forge';
|
|
16
16
|
|
|
17
17
|
|
|
@@ -28,7 +28,6 @@ const mut_afterPropagation = [];
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
|
|
32
31
|
export const isPropagating = () => mut_propagation.depth > 0;
|
|
33
32
|
|
|
34
33
|
export const outermostUpdateToken = () => mut_propagation.outermostToken;
|
|
@@ -59,7 +58,6 @@ export const beginPropagation = (updateToken) => {
|
|
|
59
58
|
|
|
60
59
|
|
|
61
60
|
|
|
62
|
-
|
|
63
61
|
export const endPropagation = () => {
|
|
64
62
|
mut_propagation.depth -= 1;
|
|
65
63
|
if (mut_propagation.depth > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propagation-state.mjs","sourceRoot":"","sources":["../../../src/core/class/propagation-state.mts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE;;;;;;;;GAQG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"propagation-state.mjs","sourceRoot":"","sources":["../../../src/core/class/propagation-state.mts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE;;;;;;;;GAQG;AACH,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrC;;;;GAIG;AACH,MAAM,eAAe,GAGjB,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAE5C;;;GAGG;AACH,MAAM,oBAAoB,GAAmB,EAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAY,EAAE,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,CAAC;AAEtE,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAA4B,EAAE,CAChE,eAAe,CAAC,cAAc,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAgB,EAAQ,EAAE;IAC5D,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAwB,EAAQ,EAAE;IACjE,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAChC,eAAe,CAAC,cAAc,GAAG,WAAW,CAAC;IAC/C,CAAC;IAED,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAS,EAAE;IACvC,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC;IAE3B,IAAI,eAAe,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,eAAe,CAAC,cAAc,GAAG,SAAS,CAAC;IAE3C,0EAA0E;IAC1E,2CAA2C;IAC3C,OAAO,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5C,oBAAoB,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,cAAc,GAAe,EAAE,CAAC;AAEtC,sEAAsE;AACtE,MAAM,cAAc,GAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAe,EAAE;IACvD,IAAI,cAAc,CAAC,KAAK,IAAI,gBAAgB,EAAE,CAAC;QAC7C,sEAAsE;QACtE,wEAAwE;QACxE,qEAAqE;QACrE,6BAA6B;QAC7B,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC;IAE1B,OAAO,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAC5B,uBAAuB,gBAAgB,CAAC,QAAQ,EAAE,4PAAqQ,CAAC;AAE1T,iEAAiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAwB,EAAQ,EAAE;IAC5D,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAwB,EAAQ,EAAE;IAC5D,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;IAE7B,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAgC,EAChC,WAAwB,EAClB,EAAE;IACR,OAAO,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAaF;;;;;;;;;GASG;AACH,MAAM,WAAW;IACN,KAAK,CAAS;IAEvB,uEAAuE;IACvE,oDAAoD;IAC3C,YAAY,CAAW;IAEhC,SAAS,CAAS;IAElB,WAAW,CAAU;IAErB,sBAAsB,CAAoC;IAE1D,0DAA0D;IAC1D,YAAY,IAAY,EAAE,KAAa;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpD,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;QAExC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAEhC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAgB;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAEtC,OAAO,WAAW,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,mCAAmC;QACnC,yDAAyD;QACzD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAE,CAAC;QAEvC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAEhD,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YAC9B,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,UAAU,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,2EAA2E;IAC3E,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,QAAgC;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;YAE7B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC/C,qEAAqE;gBACrE,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;oBAC9C,IAAI,CAAC,sBAAsB,GAAG,IAAI,GAAG,EAAa,CAAC;gBACrD,CAAC;qBAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAEtC,2EAA2E;QAC3E,yCAAyC;QACzC,+DAA+D;QAC/D,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YAE1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,wEAAwE;YACxE,sEAAsE;YACtE,8CAA8C;YAC9C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAEhD,+DAA+D;YAC/D,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAEjC,+DAA+D;gBAC/D,+CAA+C;gBAC/C,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAEhC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,KAAK;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAEtC,4CAA4C;QAC5C,+DAA+D;QAC/D,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YAE1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAEvD,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAC1C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,GAAG,CAAC,WAAwB,EAAe,EAAE;AACxD,4DAA4D;AAC5D,WAAqC,CAAC;AAExC,MAAM,OAAO,GAAG,CAAC,KAAkB,EAAe,EAAE;AAClD,4DAA4D;AAC5D,KAA+B,CAAC"}
|
|
@@ -14,10 +14,10 @@ export declare class RootObservableClass<A> extends ManagerObservableClass<A, 'r
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Shown once per root observable, the first time it is written to (`next`,
|
|
17
|
-
* `setState`, `dispatch`, …) while another update is still propagating —
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* `setState`, `dispatch`, …) while another update is still propagating — from a
|
|
18
|
+
* subscriber or a projection. The write still propagates immediately, as it
|
|
19
|
+
* always has; the warning is there because the pattern is wrong, not because
|
|
20
|
+
* anything was refused.
|
|
21
21
|
*/
|
|
22
22
|
export declare const writeDuringPropagationWarning = "synstate: an observable was written to (next / setState / dispatch) while an update was propagating, so subscribers can see intermediate states. Derive the value with map / combine instead of writing from a subscriber or a projection.";
|
|
23
23
|
//# sourceMappingURL=root-observable-class.d.mts.map
|
|
@@ -2,14 +2,13 @@ import type { NonEmptyTuple } from 'ts-type-forge';
|
|
|
2
2
|
import type { DeriveObservableRefined, Observable, Unwrap } from '../types/index.mjs';
|
|
3
3
|
/**
|
|
4
4
|
* Derives one value from the latest values of several observables: one
|
|
5
|
-
* observable that calls `project` with them, as arguments, and emits the
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* It emits once every parent has a value, and then whenever any of them
|
|
9
|
-
*
|
|
10
|
-
* observables and a tuple per update, `derive` is one, and passes the values
|
|
11
|
-
*
|
|
12
|
-
* again).
|
|
5
|
+
* observable that calls `project` with them, as arguments, and emits the result
|
|
6
|
+
* unless it equals the one already held.
|
|
7
|
+
*
|
|
8
|
+
* It emits once every parent has a value, and then whenever any of them emits,
|
|
9
|
+
* as `combine` does; but where `combine(parents).pipe(map(fn))` is two
|
|
10
|
+
* observables and a tuple per update, `derive` is one, and passes the values as
|
|
11
|
+
* arguments (a rest parameter in `project` collects them into an array again).
|
|
13
12
|
* The comparison is `Object.is` unless `equals` says otherwise.
|
|
14
13
|
*
|
|
15
14
|
* @template OS - Tuple type of the parent observables
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.d.mts","sourceRoot":"","sources":["../../../src/core/combine/derive.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"derive.d.mts","sourceRoot":"","sources":["../../../src/core/combine/derive.mts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAEV,uBAAuB,EAEvB,UAAU,EACV,MAAM,EAGP,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,CAAC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,WAClE,EAAE,WACF,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,YAC3B,QAAQ,CAAC;IAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAA;CAAE,CAAC,KACvD,uBAAuB,CAAC,CAAC,EAAE,EAAE,CASgB,CAAC"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { Optional } from 'ts-data-forge';
|
|
9
|
+
import * as Arr from 'ts-data-forge/array';
|
|
9
10
|
import { SyncChildObservableClass } from '../class/index.mjs';
|
|
10
11
|
|
|
11
12
|
|
|
@@ -61,7 +62,6 @@ import { SyncChildObservableClass } from '../class/index.mjs';
|
|
|
61
62
|
|
|
62
63
|
|
|
63
64
|
|
|
64
|
-
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
export const derive = (parents, project, options) =>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.mjs","sourceRoot":"","sources":["../../../src/core/combine/derive.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"derive.mjs","sourceRoot":"","sources":["../../../src/core/combine/derive.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.mjs","sourceRoot":"","sources":["../../../src/core/combine/merge.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"merge.mjs","sourceRoot":"","sources":["../../../src/core/combine/merge.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,OAAW,EACiB,EAAE;AAC9B,4DAA4D;AAC5D,IAAI,oBAAoB,CAAC,OAAO,CAA+B,CAAC;AAElE,MAAM,oBACJ,SAAQ,wBAA4C;IAGpD,YAAY,OAAgB;QAC1B,KAAK,CAAC;YACJ,OAAO;YACP,YAAY,EAAE,QAAQ,CAAC,IAAI;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEQ,SAAS,CAAC,WAAwB;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACzE,CAAC;QAEF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,SAAS;QACb,4DAA4D;QAC5D,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAoB,CAAC;QAEhE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;CACF;AAED,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;IACrC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QACrB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;IAC7B,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAEvB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE3B,UAAU,CAAkD,IAAI,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -3,9 +3,9 @@ import type { Observable, ZipObservableRefined } from '../types/index.mjs';
|
|
|
3
3
|
/**
|
|
4
4
|
* Combines multiple observables by pairing their emissions by index.
|
|
5
5
|
* Waits for all sources to emit their nth value before emitting the nth tuple.
|
|
6
|
-
* Completes once a completed source has no value left to pair, as RxJS's
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Completes once a completed source has no value left to pair, as RxJS's `zip`
|
|
7
|
+
* does: at once if it completes with nothing queued, otherwise after the tuple
|
|
8
|
+
* that takes its last queued value.
|
|
9
9
|
*
|
|
10
10
|
* @template OS - Tuple type of source observables
|
|
11
11
|
* @param parents - Array of observables to zip
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip.d.mts","sourceRoot":"","sources":["../../../src/core/combine/zip.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zip.d.mts","sourceRoot":"","sources":["../../../src/core/combine/zip.mts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAS,MAAM,eAAe,CAAC;AAI1D,OAAO,KAAK,EAIV,UAAU,EAMV,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,GAAG,GAAI,KAAK,CAAC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAC5D,EAAE,KACV,oBAAoB,CAAC,EAAE,CAE8C,CAAC"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { Optional, createQueue } from 'ts-data-forge';
|
|
9
|
+
import * as Arr from 'ts-data-forge/array';
|
|
9
10
|
import { SyncChildObservableClass } from '../class/index.mjs';
|
|
10
11
|
|
|
11
12
|
|
|
@@ -110,8 +111,10 @@ class ZipObservableClass extends SyncChildObservableClass {
|
|
|
110
111
|
|
|
111
112
|
Arr.map(queues, (q) => Optional.unwrap(q.dequeue()));
|
|
112
113
|
this.setNext(nextValue, updateToken);
|
|
114
|
+
|
|
115
|
+
|
|
113
116
|
if (this.canEmitNoMore()) {
|
|
114
|
-
this.
|
|
117
|
+
this.completeAfterPropagation();
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip.mjs","sourceRoot":"","sources":["../../../src/core/combine/zip.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"zip.mjs","sourceRoot":"","sources":["../../../src/core/combine/zip.mts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import type { PositiveSafeIntWithSmallInt } from 'ts-type-forge';
|
|
|
2
2
|
import type { CounterObservable } from '../types/index.mjs';
|
|
3
3
|
/**
|
|
4
4
|
* Creates an observable that emits incremental numbers at a specified interval.
|
|
5
|
-
* Emits 0 in the macrotask right after `start()` (which runs at creation
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Emits 0 in the macrotask right after `start()` (which runs at creation unless
|
|
6
|
+
* `startManually` is set), then 1, 2, 3, ... every interval. A subscriber added
|
|
7
|
+
* after that 0 has been emitted does not receive it.
|
|
8
8
|
*
|
|
9
9
|
* @param intervalMilliSeconds - The interval duration in milliseconds
|
|
10
10
|
* @param options - Optional settings
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
import { asSafeUint, Optional
|
|
8
|
+
import { asSafeUint, Optional } from 'ts-data-forge';
|
|
9
9
|
import { RootObservableClass } from '../class/index.mjs';
|
|
10
10
|
|
|
11
11
|
|
|
@@ -111,7 +111,7 @@ class CounterObservableClass extends RootObservableClass {
|
|
|
111
111
|
}, 0);
|
|
112
112
|
}
|
|
113
113
|
this.#mut_timerId = setInterval(() => {
|
|
114
|
-
this.#mut_counter =
|
|
114
|
+
this.#mut_counter = asSafeUint(this.#mut_counter + 1);
|
|
115
115
|
this.#emit(this.#mut_counter);
|
|
116
116
|
}, this.#intervalMilliSeconds);
|
|
117
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter.mjs","sourceRoot":"","sources":["../../../src/core/create/counter.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"counter.mjs","sourceRoot":"","sources":["../../../src/core/create/counter.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-abortable-promise.d.mts","sourceRoot":"","sources":["../../../src/core/create/from-abortable-promise.mts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"from-abortable-promise.d.mts","sourceRoot":"","sources":["../../../src/core/create/from-abortable-promise.mts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,CAAC,GAAG,OAAO,WAExC,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,KAC3C,qBAAqB,CAAC,CAAC,EAAE,CAAC,CACqB,CAAC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { Optional, Result } from 'ts-data-forge';
|
|
9
9
|
import { RootObservableClass } from '../class/index.mjs';
|
|
10
|
+
import { rethrowOutOfPromise } from '../utils/index.mjs';
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
|
|
@@ -84,14 +85,18 @@ class FromAbortablePromiseObservableClass extends RootObservableClass {
|
|
|
84
85
|
super({ initialValue: Optional.none });
|
|
85
86
|
this.#abortController = new AbortController();
|
|
86
87
|
const promise = factory(this.#abortController.signal);
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
87
92
|
promise
|
|
93
|
+
|
|
88
94
|
.then((value) => {
|
|
89
95
|
if (this.isCompleted) {
|
|
90
96
|
return;
|
|
91
97
|
}
|
|
92
98
|
this.startUpdate(Result.ok(value));
|
|
93
|
-
})
|
|
94
|
-
.catch((error) => {
|
|
99
|
+
}, (error) => {
|
|
95
100
|
if (this.isCompleted) {
|
|
96
101
|
return;
|
|
97
102
|
}
|
|
@@ -104,9 +109,11 @@ class FromAbortablePromiseObservableClass extends RootObservableClass {
|
|
|
104
109
|
|
|
105
110
|
error));
|
|
106
111
|
})
|
|
112
|
+
.catch(rethrowOutOfPromise)
|
|
107
113
|
.finally(() => {
|
|
108
114
|
this.complete();
|
|
109
|
-
})
|
|
115
|
+
})
|
|
116
|
+
.catch(rethrowOutOfPromise);
|
|
110
117
|
}
|
|
111
118
|
teardown() {
|
|
112
119
|
this.#abortController.abort();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-abortable-promise.mjs","sourceRoot":"","sources":["../../../src/core/create/from-abortable-promise.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"from-abortable-promise.mjs","sourceRoot":"","sources":["../../../src/core/create/from-abortable-promise.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,sCAAsC;AACtC,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;AAClC,yDAAyD;AACzD,OAA4C,EACf,EAAE,CAC/B,IAAI,mCAAmC,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,mCACJ,SAAQ,mBAAiC;IAGhC,gBAAgB,CAAkB;IAE3C,yDAAyD;IACzD,YAAY,OAA4C;QACtD,KAAK,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEtD,oEAAoE;QACpE,4EAA4E;QAC5E,0EAA0E;QAC1E,qBAAqB;QACrB,OAAO;YACL,wJAAwJ;aACvJ,IAAI,CACH,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,2DAA2D;YAC3D,gDAAgD;YAChD,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjE,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,CACd,MAAM,CAAC,GAAG;YACR,4DAA4D;YAC5D,KAAU,CACX,CACF,CAAC;QACJ,CAAC,CACF;aACA,KAAK,CAAC,mBAAmB,CAAC;aAC1B,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC;aACD,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAChC,CAAC;IAEkB,QAAQ;QACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-promise.d.mts","sourceRoot":"","sources":["../../../src/core/create/from-promise.mts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"from-promise.d.mts","sourceRoot":"","sources":["../../../src/core/create/from-promise.mts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,GAAG,OAAO,WAC/B,OAAO,CAAC,CAAC,CAAC,KAClB,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAA4C,CAAC"}
|