synstate 6.0.0 → 6.1.1
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 +4 -3
- package/dist/core/class/manager-observable-class.d.mts.map +1 -1
- package/dist/core/class/manager-observable-class.mjs +6 -0
- package/dist/core/class/manager-observable-class.mjs.map +1 -1
- package/dist/core/class/observable-base-class.d.mts +8 -0
- package/dist/core/class/observable-base-class.d.mts.map +1 -1
- package/dist/core/class/observable-base-class.mjs +16 -1
- package/dist/core/class/observable-base-class.mjs.map +1 -1
- package/dist/core/class/propagation-state.d.mts +6 -3
- package/dist/core/class/propagation-state.d.mts.map +1 -1
- package/dist/core/class/propagation-state.mjs +4 -0
- package/dist/core/class/propagation-state.mjs.map +1 -1
- package/dist/core/combine/combine.d.mts.map +1 -1
- package/dist/core/combine/combine.mjs +3 -43
- package/dist/core/combine/combine.mjs.map +1 -1
- package/dist/core/combine/derive.d.mts +63 -0
- package/dist/core/combine/derive.d.mts.map +1 -0
- package/dist/core/combine/derive.mjs +124 -0
- package/dist/core/combine/derive.mjs.map +1 -0
- package/dist/core/combine/index.d.mts +1 -0
- package/dist/core/combine/index.d.mts.map +1 -1
- package/dist/core/combine/index.mjs +1 -0
- package/dist/core/combine/index.mjs.map +1 -1
- package/dist/core/types/id.d.mts +2 -1
- package/dist/core/types/id.d.mts.map +1 -1
- package/dist/core/types/observable-family.d.mts +3 -0
- 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 +2 -1
- package/dist/core/types/observable.d.mts.map +1 -1
- package/dist/core/types/observable.mjs.map +1 -1
- package/dist/core/utils/id-maker.d.mts +7 -0
- package/dist/core/utils/id-maker.d.mts.map +1 -1
- package/dist/core/utils/id-maker.mjs +9 -0
- package/dist/core/utils/id-maker.mjs.map +1 -1
- package/dist/utils/create-reducer.d.mts +2 -2
- package/dist/utils/create-reducer.d.mts.map +1 -1
- package/dist/utils/create-reducer.mjs +4 -16
- package/dist/utils/create-reducer.mjs.map +1 -1
- package/dist/utils/create-state.d.mts +1 -1
- package/dist/utils/create-state.d.mts.map +1 -1
- package/dist/utils/create-state.mjs +10 -13
- package/dist/utils/create-state.mjs.map +1 -1
- package/dist/utils/state-source.d.mts +19 -0
- package/dist/utils/state-source.d.mts.map +1 -0
- package/dist/utils/state-source.mjs +31 -0
- package/dist/utils/state-source.mjs.map +1 -0
- package/package.json +13 -11
- package/src/core/class/manager-observable-class.mts +7 -0
- package/src/core/class/observable-base-class.mts +22 -2
- package/src/core/class/propagation-state.mts +11 -7
- package/src/core/class/unobserved-write.test.mts +194 -0
- package/src/core/combine/combine.mts +7 -72
- package/src/core/combine/derive.mts +172 -0
- package/src/core/combine/derive.test.mts +190 -0
- package/src/core/combine/index.mts +1 -0
- package/src/core/types/id.mts +2 -1
- package/src/core/types/observable-family.mts +18 -0
- package/src/core/types/observable.mts +2 -1
- package/src/core/utils/id-maker.mts +10 -0
- package/src/utils/create-reducer.mts +9 -24
- package/src/utils/create-state.mts +12 -29
- package/src/utils/create-state.test.mts +18 -0
- package/src/utils/state-source.mts +48 -0
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
|
-
**SynState** is a lightweight,
|
|
16
|
+
**SynState** is a lightweight, glitch-free, type-safe state management library for TypeScript/JavaScript applications. Perfect for building reactive global state and event-driven systems in React, Vue, and other frameworks.
|
|
17
17
|
|
|
18
18
|
"SynState" is named after "Synchronized + State." It represents a sound synchronized state through a **glitch-free**[^1] Observable implementation.
|
|
19
19
|
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
## Features
|
|
23
23
|
|
|
24
24
|
- 🎯 **Simple State Management**: Easy-to-use `createState` and `createReducer` similar to React useState/useReducer for global state
|
|
25
|
-
- ⚡ **
|
|
25
|
+
- ⚡ **Glitch-Free Through Every Operator**: Every update is one depth-ordered pass over what it reaches, the ones `debounce` or `switchMap` start later included, so no subscriber sees a half-updated graph, and its cost grows with the nodes it reaches, never with the paths between them ([why SynState](https://noshiro-pf.github.io/mono/synstate/guides/why-synstate/), [benchmark](https://noshiro-pf.github.io/mono/synstate/guides/library-comparison/benchmark/))
|
|
26
26
|
- 🎨 **Type-Safe**: Full TypeScript support with precise type inference
|
|
27
|
-
- 🚀 **Lightweight**: <!-- bundle-size:synstate -->~6.
|
|
27
|
+
- 🚀 **Lightweight**: <!-- bundle-size:synstate -->~6.8 kB min+gzip<!-- /bundle-size:synstate --> with two external runtime dependencies ([ts-data-forge](https://www.npmjs.com/package/ts-data-forge) and [ts-std-forge](https://www.npmjs.com/package/ts-std-forge), and the first depends on the second)
|
|
28
28
|
- 🌐 **Framework Agnostic**: Works with React, Vue, Svelte, or vanilla JavaScript
|
|
29
29
|
- 🔄 **Reactive Updates**: Automatic propagation of state changes to all subscribers
|
|
30
30
|
- 📡 **Event System**: Built-in `createValueEmitter`, `createEventEmitter` for event-driven architecture
|
|
@@ -761,6 +761,7 @@ For complex scenarios, SynState provides observable-based APIs:
|
|
|
761
761
|
#### Combination
|
|
762
762
|
|
|
763
763
|
- `combine(observables)`: Combine latest values from multiple sources (alias: `combineLatest`)
|
|
764
|
+
- `derive(observables, fn)`: Derive one value from the latest values of multiple sources, as one observable
|
|
764
765
|
- `merge(observables)`: Merge multiple streams
|
|
765
766
|
- `zip(observables)`: Pair values by index
|
|
766
767
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager-observable-class.d.mts","sourceRoot":"","sources":["../../../src/core/class/manager-observable-class.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AASlE;;;;;;;GAOG;AACH,qBAAa,sBAAsB,CACjC,CAAC,EACD,IAAI,SAAS,qBAAqB,EAClC,KAAK,SAAS,MAAM,CACpB,SAAQ,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;IAC3C,8DAA8D;IAC9D,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"manager-observable-class.d.mts","sourceRoot":"","sources":["../../../src/core/class/manager-observable-class.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AASlE;;;;;;;GAOG;AACH,qBAAa,sBAAsB,CACjC,CAAC,EACD,IAAI,SAAS,qBAAqB,EAClC,KAAK,SAAS,MAAM,CACpB,SAAQ,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;IAC3C,8DAA8D;IAC9D,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAyBxC;CACF"}
|
|
@@ -11,6 +11,12 @@ import { beginPropagation, closeUpdate, drainUpdate, endPropagation, openUpdate,
|
|
|
11
11
|
export class ManagerObservableClass extends ObservableBaseClass {
|
|
12
12
|
|
|
13
13
|
startUpdate(nextValue) {
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
if (this.setNextIfUnobserved(nextValue)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
14
20
|
const updateToken = openUpdate(this.depth);
|
|
15
21
|
beginPropagation(updateToken);
|
|
16
22
|
|
|
@@ -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,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3C,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE9B,uEAAuE;QACvE,yEAAyE;QACzE,mEAAmE;QACnE,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"}
|
|
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,oEAAoE;QACpE,sEAAsE;QACtE,mDAAmD;QACnD,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,uEAAuE;QACvE,yEAAyE;QACzE,mEAAmE;QACnE,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"}
|
|
@@ -52,6 +52,14 @@ export declare class ObservableBaseClass<A, Kind extends ObservableKind, Depth e
|
|
|
52
52
|
* value, is not visited for it again.
|
|
53
53
|
*/
|
|
54
54
|
protected setNext(nextValue: A, updateToken: UpdateToken): void;
|
|
55
|
+
/**
|
|
56
|
+
* Stores `nextValue` and returns `true` when nothing observes this
|
|
57
|
+
* observable — no child to queue and no subscriber to call — so that the
|
|
58
|
+
* caller need not open an update; returns `false`, storing nothing,
|
|
59
|
+
* otherwise. The value still gets a token of its own, so that whoever
|
|
60
|
+
* stored the last one sees that it emitted.
|
|
61
|
+
*/
|
|
62
|
+
protected setNextIfUnobserved(nextValue: A): boolean;
|
|
55
63
|
/**
|
|
56
64
|
* Called with the token of every update that reaches this observable; a
|
|
57
65
|
* parent that did not emit in that update has a different `updateToken`.
|
|
@@ -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,
|
|
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;;;;;;;;;;;;;;;;;;;;;;GAsBG;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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { Optional } from 'ts-data-forge';
|
|
9
9
|
import { unreachable } from 'ts-std-forge';
|
|
10
|
-
import { getCurrentScopeInternals, notUpdatedYet, observableBrand, toSubscriber, } from '../utils/index.mjs';
|
|
10
|
+
import { getCurrentScopeInternals, issueUnqueuedToken, notUpdatedYet, observableBrand, toSubscriber, } from '../utils/index.mjs';
|
|
11
11
|
import { enqueueChildren } from './propagation-state.mjs';
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,6 +123,21 @@ export class ObservableBaseClass {
|
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
|
|
126
|
+
setNextIfUnobserved(nextValue) {
|
|
127
|
+
if (this.hasChild || this.hasSubscriber) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
this.#mut_updateToken = issueUnqueuedToken();
|
|
131
|
+
this.#mut_snapshot = Optional.some(nextValue);
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
126
141
|
|
|
127
142
|
tryUpdate(_updateToken) {
|
|
128
143
|
unreachable();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-base-class.mjs","sourceRoot":"","sources":["../../../src/core/class/observable-base-class.mts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,yDAAyD;AACzD,4EAA4E;AAC5E,2CAA2C;AAC3C,gDAAgD;AAChD,0DAA0D;AAC1D,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAe3C,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,mBAAmB;IAK9B,aAAa,CAAc;IAC3B,gBAAgB,CAAU;IAC1B,gBAAgB,CAAc;IAC9B,aAAa,CAAoC;IACjD,gBAAgB,CAAwC;IACxD,UAAU,CAA6B;IACvC,cAAc,CAA0B;IAC/B,IAAI,CAAO;IACX,KAAK,CAAQ;IAGtB,YAAY,EACV,IAAI,EACJ,KAAK,EACL,YAAY,GAKZ;QACA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAElC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAE9B,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;QAEtC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAEhC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAE/B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAElC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CACL,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CACtE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,WAAwB;QACnC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,KAAgB;QACvB,yEAAyE;QACzE,4EAA4E;QAC5E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"observable-base-class.mjs","sourceRoot":"","sources":["../../../src/core/class/observable-base-class.mts"],"names":[],"mappings":"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"}
|
|
@@ -15,11 +15,14 @@ export declare const outermostUpdateToken: () => UpdateToken | undefined;
|
|
|
15
15
|
* passed on (`take`).
|
|
16
16
|
*/
|
|
17
17
|
export declare const runAfterPropagation: (task: () => void) => void;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Brackets one update a `startUpdate` opens (a write nothing observes opens
|
|
20
|
+
* none); see {@link endPropagation}.
|
|
21
|
+
*/
|
|
19
22
|
export declare const beginPropagation: (updateToken: UpdateToken) => void;
|
|
20
23
|
/**
|
|
21
|
-
* Ends one
|
|
22
|
-
*
|
|
24
|
+
* Ends one update, and runs the deferred work once the outermost one has
|
|
25
|
+
* ended.
|
|
23
26
|
*/
|
|
24
27
|
export declare const endPropagation: () => void;
|
|
25
28
|
/**
|
|
@@ -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;
|
|
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;;;;GAIG;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;;;GAGG;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"}
|
|
@@ -17,6 +17,7 @@ import { panic } from 'ts-std-forge';
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
+
|
|
20
21
|
const mut_propagation = { depth: 0, outermostToken: undefined };
|
|
21
22
|
|
|
22
23
|
|
|
@@ -46,6 +47,9 @@ export const runAfterPropagation = (task) => {
|
|
|
46
47
|
}
|
|
47
48
|
};
|
|
48
49
|
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
49
53
|
export const beginPropagation = (updateToken) => {
|
|
50
54
|
if (mut_propagation.depth === 0) {
|
|
51
55
|
mut_propagation.outermostToken = updateToken;
|
|
@@ -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,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrC
|
|
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,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,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;;;;GAIG;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;;;GAGG;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,kEAAkE;gBAClE,gCAAgC;gBAChC,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,yEAAyE;QACzE,2CAA2C;QAC3C,+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,oEAAoE;YACpE,qEAAqE;YACrE,mDAAmD;YACnD,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine.d.mts","sourceRoot":"","sources":["../../../src/core/combine/combine.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"combine.d.mts","sourceRoot":"","sources":["../../../src/core/combine/combine.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAEV,wBAAwB,EAGxB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,CAAC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAChE,EAAE,KACV,wBAAwB,CAAC,EAAE,CAOgB,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,aAAa,gBAAU,CAAC"}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { Arr, Optional } from 'ts-data-forge';
|
|
8
|
-
import { SyncChildObservableClass } from '../class/index.mjs';
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
import { derive } from './derive.mjs';
|
|
11
5
|
|
|
12
6
|
|
|
13
7
|
|
|
@@ -67,48 +61,14 @@ import { SyncChildObservableClass } from '../class/index.mjs';
|
|
|
67
61
|
|
|
68
62
|
export const combine = (parents) =>
|
|
69
63
|
|
|
70
|
-
new CombineObservableClass(parents);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
export const combineLatest = combine;
|
|
76
|
-
class CombineObservableClass extends SyncChildObservableClass {
|
|
77
|
-
constructor(parents) {
|
|
78
|
-
const parentsValues = Arr.map(parents, (p) => p.getSnapshot());
|
|
79
|
-
|
|
80
|
-
|
|
81
64
|
|
|
82
65
|
|
|
66
|
+
derive(parents, (...values) => values);
|
|
83
67
|
|
|
84
68
|
|
|
85
69
|
|
|
86
70
|
|
|
87
|
-
|
|
88
|
-
? Optional.some(Arr.map(parentsValues, (c) => c.value))
|
|
89
|
-
: Optional.none;
|
|
90
|
-
super({
|
|
91
|
-
parents,
|
|
92
|
-
initialValue,
|
|
93
|
-
});
|
|
94
|
-
this.attach();
|
|
95
|
-
}
|
|
96
|
-
tryUpdate(updateToken) {
|
|
97
|
-
const parents = this.parents;
|
|
98
|
-
if (parents.every((o) => o.updateToken !== updateToken)) {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const parentValues = Arr.map(parents, (a) => a.getSnapshot());
|
|
105
|
-
if (!Arr.every(parentValues, Optional.isSome)) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
const nextValue = Arr.map(parentValues, (a) => a.value);
|
|
109
|
-
this.setNext(nextValue, updateToken);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
71
|
+
export const combineLatest = combine;
|
|
112
72
|
|
|
113
73
|
|
|
114
74
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine.mjs","sourceRoot":"","sources":["../../../src/core/combine/combine.mts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"combine.mjs","sourceRoot":"","sources":["../../../src/core/combine/combine.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,OAAW,EACmB,EAAE;AAChC,4EAA4E;AAC5E,kEAAkE;AAClE,4DAA4D;AAC5D,MAAM,CACJ,OAAO,EACP,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,MAAM,CACqB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC,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,CAAC;QACC,MAAM,EAAE,GAAkB,MAAM,EAAK,CAAC;QAEtC,MAAM,EAAE,GAAkB,MAAM,EAAK,CAAC;QAEtC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7B,UAAU,CAAgD,GAAG,CAAC,CAAC;QAE/D,UAAU,CAAyC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,CAAC;QACC,MAAM,EAAE,GAA6B,MAAM,EAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,EAAE,GAAkB,MAAM,EAAK,CAAC;QAEtC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7B,UAAU,CAAgD,GAAG,CAAC,CAAC;QAE/D,UAAU,CAAyC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,CAAC;QACC,MAAM,EAAE,GAA6B,MAAM,EAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,EAAE,GAA6B,MAAM,EAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7B,oEAAoE;QACpE,UAAU,CAAoD,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAEvB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7B,MAAM,GAAG,GAAG,OAAO,CAAC;QAClB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5B,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;KAC7B,CAAC,CAAC;IAEH,UAAU,CAA4D,IAAI,CAAC,CAAC;IAE5E,UAAU,CAGR,IAAI,CAAC,CAAC;AACV,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { NonEmptyTuple } from 'ts-type-forge';
|
|
2
|
+
import type { DeriveObservableRefined, Observable, Unwrap } from '../types/index.mjs';
|
|
3
|
+
/**
|
|
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
|
+
* result unless it equals the one already held.
|
|
7
|
+
*
|
|
8
|
+
* It emits once every parent has a value, and then whenever any of them
|
|
9
|
+
* emits, 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
|
|
11
|
+
* as arguments (a rest parameter in `project` collects them into an array
|
|
12
|
+
* again).
|
|
13
|
+
* The comparison is `Object.is` unless `equals` says otherwise.
|
|
14
|
+
*
|
|
15
|
+
* @template OS - Tuple type of the parent observables
|
|
16
|
+
* @template B - The type of the derived value
|
|
17
|
+
* @param parents - The observables to derive from
|
|
18
|
+
* @param project - Computes the value from the parents' values, in order
|
|
19
|
+
* @param options - `equals` compares a result with the one held
|
|
20
|
+
* @returns An observable of the derived value, initialized when every parent is
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* // Timeline:
|
|
25
|
+
* //
|
|
26
|
+
* // price$ 100 120
|
|
27
|
+
* // quantity$ 2 3
|
|
28
|
+
* // total$ 200 240 360
|
|
29
|
+
* //
|
|
30
|
+
* // Explanation:
|
|
31
|
+
* // - derive waits for every parent to have a value
|
|
32
|
+
* // - Then calls the projection with their latest values whenever one emits
|
|
33
|
+
*
|
|
34
|
+
* const price$ = source<number>();
|
|
35
|
+
*
|
|
36
|
+
* const quantity$ = source<number>();
|
|
37
|
+
*
|
|
38
|
+
* const total$ = derive(
|
|
39
|
+
* [price$, quantity$],
|
|
40
|
+
* (price, quantity) => price * quantity,
|
|
41
|
+
* );
|
|
42
|
+
*
|
|
43
|
+
* const totalHistory: number[] = [];
|
|
44
|
+
*
|
|
45
|
+
* total$.subscribe((total) => {
|
|
46
|
+
* totalHistory.push(total);
|
|
47
|
+
* });
|
|
48
|
+
*
|
|
49
|
+
* price$.next(100); // nothing yet: quantity$ has no value
|
|
50
|
+
*
|
|
51
|
+
* quantity$.next(2); // 200
|
|
52
|
+
*
|
|
53
|
+
* price$.next(120); // 240
|
|
54
|
+
*
|
|
55
|
+
* quantity$.next(3); // 360
|
|
56
|
+
*
|
|
57
|
+
* assert.deepStrictEqual(totalHistory, [200, 240, 360]);
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare const derive: <const OS extends NonEmptyTuple<Observable<unknown>>, B>(parents: OS, project: (...values: Unwrap<OS>) => B, options?: Readonly<{
|
|
61
|
+
equals?: (x: B, y: B) => boolean;
|
|
62
|
+
}>) => DeriveObservableRefined<B, OS>;
|
|
63
|
+
//# sourceMappingURL=derive.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive.d.mts","sourceRoot":"","sources":["../../../src/core/combine/derive.mts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAEV,uBAAuB,EAEvB,UAAU,EACV,MAAM,EAGP,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
import { Arr, Optional } from 'ts-data-forge';
|
|
9
|
+
import { SyncChildObservableClass } from '../class/index.mjs';
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
export const derive = (parents, project, options) =>
|
|
68
|
+
|
|
69
|
+
new DeriveObservableClass(parents,
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
project, options?.equals ?? Object.is);
|
|
74
|
+
class DeriveObservableClass extends SyncChildObservableClass {
|
|
75
|
+
#project;
|
|
76
|
+
#equals;
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
#mut_values;
|
|
84
|
+
constructor(parents, project, equals) {
|
|
85
|
+
const snapshots = Arr.map(parents, (p) => p.getSnapshot());
|
|
86
|
+
const mut_values = Array.from(snapshots, (s) => Optional.isSome(s) ? s.value : undefined);
|
|
87
|
+
super({
|
|
88
|
+
parents,
|
|
89
|
+
initialValue: Arr.every(snapshots, Optional.isSome)
|
|
90
|
+
? Optional.some(project(...mut_values))
|
|
91
|
+
: Optional.none,
|
|
92
|
+
});
|
|
93
|
+
this.#project = project;
|
|
94
|
+
this.#equals = equals;
|
|
95
|
+
this.#mut_values = mut_values;
|
|
96
|
+
this.attach();
|
|
97
|
+
}
|
|
98
|
+
tryUpdate(updateToken) {
|
|
99
|
+
const mut_values = this.#mut_values;
|
|
100
|
+
let mut_updated = false;
|
|
101
|
+
let mut_index = 0;
|
|
102
|
+
for (const parent of this.parents) {
|
|
103
|
+
const snapshot = parent.getSnapshot();
|
|
104
|
+
if (Optional.isNone(snapshot)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
mut_values[mut_index] = snapshot.value;
|
|
108
|
+
mut_index += 1;
|
|
109
|
+
if (parent.updateToken === updateToken) {
|
|
110
|
+
mut_updated = true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (!mut_updated) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const next = this.#project(...mut_values);
|
|
117
|
+
const held = this.getSnapshot();
|
|
118
|
+
if (Optional.isSome(held) && this.#equals(held.value, next)) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
this.setNext(next, updateToken);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=derive.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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":"index.d.mts","sourceRoot":"","sources":["../../../src/core/combine/index.mts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/core/combine/index.mts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/core/combine/index.mts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/core/combine/index.mts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
package/dist/core/types/id.d.mts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Brand, UnknownRecord } from 'ts-type-forge';
|
|
2
2
|
/**
|
|
3
3
|
* Identifies one update. Opaque: an object issued per update, which is also
|
|
4
|
-
* that update's queue
|
|
4
|
+
* that update's queue — except for a write nothing observes, which opens no
|
|
5
|
+
* update and is issued a token with no queue behind it.
|
|
5
6
|
*/
|
|
6
7
|
export type UpdateToken = Brand<UnknownRecord, 'update-token'>;
|
|
7
8
|
//# sourceMappingURL=id.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.mts","sourceRoot":"","sources":["../../../src/core/types/id.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"id.d.mts","sourceRoot":"","sources":["../../../src/core/types/id.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -35,6 +35,7 @@ declare namespace SynStateInternals {
|
|
|
35
35
|
type InitializedCombineObservableImpl<A extends NonEmptyUnknownList> = InitializedSyncChildObservable<A, A>;
|
|
36
36
|
export type CombineObservableImpl<A extends NonEmptyUnknownList> = SyncChildObservable<A, A>;
|
|
37
37
|
export type CombineObservableRefinedImpl<OS extends NonEmptyTuple<Observable<unknown>>> = EveryInitialized<OS> extends true ? InitializedCombineObservableImpl<Cast<Unwrap<OS>>> : CombineObservableImpl<Unwrap<OS>>;
|
|
38
|
+
export type DeriveObservableRefinedImpl<B, OS extends NonEmptyTuple<Observable<unknown>>> = EveryInitialized<OS> extends true ? InitializedSyncChildObservable<B, Cast<Unwrap<OS>>> : SyncChildObservable<B, Unwrap<OS>>;
|
|
38
39
|
type InitializedZipObservableImpl<A extends NonEmptyUnknownList> = InitializedSyncChildObservable<A, A>;
|
|
39
40
|
export type ZipObservableImpl<A extends NonEmptyUnknownList> = SyncChildObservable<A, A>;
|
|
40
41
|
export type ZipObservableRefinedImpl<OS extends NonEmptyTuple<Observable<unknown>>> = EveryInitialized<OS> extends true ? InitializedZipObservableImpl<Cast<Unwrap<OS>>> : ZipObservableImpl<Unwrap<OS>>;
|
|
@@ -45,6 +46,8 @@ declare namespace SynStateInternals {
|
|
|
45
46
|
}
|
|
46
47
|
export type CombineObservable<A extends NonEmptyUnknownList> = SynStateInternals.CombineObservableImpl<A>;
|
|
47
48
|
export type CombineObservableRefined<OS extends NonEmptyTuple<Observable<unknown>>> = SynStateInternals.CombineObservableRefinedImpl<OS>;
|
|
49
|
+
export type DeriveObservable<B, A extends NonEmptyUnknownList> = SyncChildObservable<B, A>;
|
|
50
|
+
export type DeriveObservableRefined<B, OS extends NonEmptyTuple<Observable<unknown>>> = SynStateInternals.DeriveObservableRefinedImpl<B, OS>;
|
|
48
51
|
export type ZipObservable<A extends NonEmptyUnknownList> = SynStateInternals.ZipObservableImpl<A>;
|
|
49
52
|
export type ZipObservableRefined<OS extends NonEmptyTuple<Observable<unknown>>> = SynStateInternals.ZipObservableRefinedImpl<OS>;
|
|
50
53
|
export type MergeObservable<A extends NonEmptyUnknownList> = SynStateInternals.MergeObservableImpl<A>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"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"}
|
|
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;AAkJxD,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"}
|
|
@@ -32,7 +32,8 @@ type CreateObservableType<A, Kind extends ObservableKind> = Readonly<{
|
|
|
32
32
|
* The token of the update in which this observable last emitted. A child's
|
|
33
33
|
* `tryUpdate` receives the token of the update now propagating; a parent
|
|
34
34
|
* whose token differs did not emit in it. The token is opaque: compare it,
|
|
35
|
-
* store it, or pass
|
|
35
|
+
* store it, or pass the one `tryUpdate` received on to `setNext`. A write
|
|
36
|
+
* nothing observes opens no update, and its token has no queue behind it.
|
|
36
37
|
*/
|
|
37
38
|
updateToken: UpdateToken;
|
|
38
39
|
complete: () => void;
|