synstate 5.0.1 → 6.1.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 +6 -5
- package/dist/core/class/observable-base-class.mjs.map +1 -1
- 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/operators/keep-equal-parts.d.mts +1 -3
- package/dist/core/operators/keep-equal-parts.d.mts.map +1 -1
- package/dist/core/operators/keep-equal-parts.mjs +0 -2
- package/dist/core/operators/keep-equal-parts.mjs.map +1 -1
- package/dist/core/operators/map.d.mts +30 -18
- package/dist/core/operators/map.d.mts.map +1 -1
- package/dist/core/operators/map.mjs +24 -10
- package/dist/core/operators/map.mjs.map +1 -1
- package/dist/core/predefined/operators/attach-index.d.mts +4 -2
- package/dist/core/predefined/operators/attach-index.d.mts.map +1 -1
- package/dist/core/predefined/operators/attach-index.mjs +36 -2
- package/dist/core/predefined/operators/attach-index.mjs.map +1 -1
- package/dist/core/predefined/operators/map-to.d.mts +6 -2
- package/dist/core/predefined/operators/map-to.d.mts.map +1 -1
- package/dist/core/predefined/operators/map-to.mjs +5 -1
- package/dist/core/predefined/operators/map-to.mjs.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/utils/create-reducer.d.mts +1 -1
- package/dist/utils/create-state.d.mts +1 -1
- package/package.json +12 -10
- package/src/core/class/observable-base-class.mts +2 -2
- package/src/core/class/propagation-state.mts +1 -1
- 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/operators/keep-equal-parts.mts +1 -3
- package/src/core/operators/map-cut-off.test.mts +215 -0
- package/src/core/operators/map.mts +48 -31
- package/src/core/predefined/operators/attach-index.mts +62 -5
- package/src/core/predefined/operators/map-to.mts +7 -3
- package/src/core/types/observable-family.mts +18 -0
- package/src/utils/create-reducer.mts +1 -1
- package/src/utils/create-state.mts +1 -1
|
@@ -109,6 +109,14 @@ namespace SynStateInternals {
|
|
|
109
109
|
? InitializedCombineObservableImpl<Cast<Unwrap<OS>>>
|
|
110
110
|
: CombineObservableImpl<Unwrap<OS>>;
|
|
111
111
|
|
|
112
|
+
export type DeriveObservableRefinedImpl<
|
|
113
|
+
B,
|
|
114
|
+
OS extends NonEmptyTuple<Observable<unknown>>,
|
|
115
|
+
> =
|
|
116
|
+
EveryInitialized<OS> extends true
|
|
117
|
+
? InitializedSyncChildObservable<B, Cast<Unwrap<OS>>>
|
|
118
|
+
: SyncChildObservable<B, Unwrap<OS>>;
|
|
119
|
+
|
|
112
120
|
type InitializedZipObservableImpl<A extends NonEmptyUnknownList> =
|
|
113
121
|
InitializedSyncChildObservable<A, A>;
|
|
114
122
|
|
|
@@ -189,6 +197,16 @@ export type CombineObservableRefined<
|
|
|
189
197
|
OS extends NonEmptyTuple<Observable<unknown>>,
|
|
190
198
|
> = SynStateInternals.CombineObservableRefinedImpl<OS>;
|
|
191
199
|
|
|
200
|
+
export type DeriveObservable<
|
|
201
|
+
B,
|
|
202
|
+
A extends NonEmptyUnknownList,
|
|
203
|
+
> = SyncChildObservable<B, A>;
|
|
204
|
+
|
|
205
|
+
export type DeriveObservableRefined<
|
|
206
|
+
B,
|
|
207
|
+
OS extends NonEmptyTuple<Observable<unknown>>,
|
|
208
|
+
> = SynStateInternals.DeriveObservableRefinedImpl<B, OS>;
|
|
209
|
+
|
|
192
210
|
export type ZipObservable<A extends NonEmptyUnknownList> =
|
|
193
211
|
SynStateInternals.ZipObservableImpl<A>;
|
|
194
212
|
|
|
@@ -150,7 +150,7 @@ export type StateOptions<S> = Readonly<{
|
|
|
150
150
|
* written, and every part of it deeply equal to the same part of the
|
|
151
151
|
* current state is replaced by that part (`replaceEqualDeep` of
|
|
152
152
|
* ts-data-forge): a reader of an unchanged part keeps the object it has, so
|
|
153
|
-
* `
|
|
153
|
+
* `map`, comparing with `Object.is`, stops there. When the whole next state is
|
|
154
154
|
* deeply equal, the current state is kept and nothing is passed on, so
|
|
155
155
|
* `equals` can stay `Object.is`.
|
|
156
156
|
*
|
|
@@ -102,7 +102,7 @@ const reducer = <S,>(state: S, action: Action<S>): S => {
|
|
|
102
102
|
* { keepEqualParts: true },
|
|
103
103
|
* );
|
|
104
104
|
*
|
|
105
|
-
* const summary = report.pipe(map((r) => r.summary))
|
|
105
|
+
* const summary = report.pipe(map((r) => r.summary));
|
|
106
106
|
*
|
|
107
107
|
* const summaryHistory: unknown[] = [];
|
|
108
108
|
*
|