synstate 3.0.6 → 3.2.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 +59 -1
- package/dist/core/base/create-child-observable.d.mts.map +1 -1
- package/dist/core/base/create-child-observable.mjs +0 -1
- package/dist/core/base/create-child-observable.mjs.map +1 -1
- package/dist/core/base/create-observable-base.d.mts +2 -2
- package/dist/core/base/create-observable-base.d.mts.map +1 -1
- package/dist/core/base/create-observable-base.mjs +0 -1
- package/dist/core/base/create-observable-base.mjs.map +1 -1
- package/dist/core/base/create-root-observable.d.mts +1 -1
- package/dist/core/base/create-root-observable.d.mts.map +1 -1
- package/dist/core/combine/combine.d.mts +2 -2
- package/dist/core/combine/combine.d.mts.map +1 -1
- package/dist/core/combine/combine.mjs +0 -1
- package/dist/core/combine/combine.mjs.map +1 -1
- package/dist/core/combine/merge.d.mts +2 -2
- package/dist/core/combine/merge.d.mts.map +1 -1
- package/dist/core/combine/merge.mjs +0 -2
- package/dist/core/combine/merge.mjs.map +1 -1
- package/dist/core/combine/zip.d.mts +2 -2
- package/dist/core/combine/zip.d.mts.map +1 -1
- package/dist/core/combine/zip.mjs +0 -2
- package/dist/core/combine/zip.mjs.map +1 -1
- package/dist/core/create/counter.d.mts +11 -3
- package/dist/core/create/counter.d.mts.map +1 -1
- package/dist/core/create/counter.mjs +17 -7
- package/dist/core/create/counter.mjs.map +1 -1
- package/dist/core/create/from-abortable-promise.d.mts +1 -1
- package/dist/core/create/from-abortable-promise.d.mts.map +1 -1
- package/dist/core/create/from-abortable-promise.mjs +0 -2
- package/dist/core/create/from-abortable-promise.mjs.map +1 -1
- package/dist/core/create/from-promise.d.mts +1 -1
- package/dist/core/create/from-promise.d.mts.map +1 -1
- package/dist/core/create/from-promise.mjs +0 -1
- package/dist/core/create/from-promise.mjs.map +1 -1
- package/dist/core/create/from-subscribable.d.mts +1 -1
- package/dist/core/create/from-subscribable.d.mts.map +1 -1
- package/dist/core/create/from-subscribable.mjs +0 -1
- package/dist/core/create/from-subscribable.mjs.map +1 -1
- package/dist/core/create/just.d.mts +1 -1
- package/dist/core/create/just.d.mts.map +1 -1
- package/dist/core/create/just.mjs +0 -1
- package/dist/core/create/just.mjs.map +1 -1
- package/dist/core/create/source.d.mts +1 -1
- package/dist/core/create/source.d.mts.map +1 -1
- package/dist/core/create/timer.d.mts +1 -1
- package/dist/core/create/timer.d.mts.map +1 -1
- package/dist/core/operators/audit.d.mts +1 -1
- package/dist/core/operators/audit.d.mts.map +1 -1
- package/dist/core/operators/audit.mjs +0 -1
- package/dist/core/operators/audit.mjs.map +1 -1
- package/dist/core/operators/debounce.d.mts +1 -1
- package/dist/core/operators/debounce.d.mts.map +1 -1
- package/dist/core/operators/debounce.mjs +0 -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 +19 -0
- package/dist/core/operators/filter.mjs.map +1 -1
- package/dist/core/operators/map.d.mts +1 -1
- package/dist/core/operators/map.d.mts.map +1 -1
- package/dist/core/operators/map.mjs +0 -1
- package/dist/core/operators/map.mjs.map +1 -1
- package/dist/core/operators/merge-map.d.mts +1 -1
- package/dist/core/operators/merge-map.d.mts.map +1 -1
- package/dist/core/operators/pairwise.d.mts +2 -2
- package/dist/core/operators/pairwise.d.mts.map +1 -1
- package/dist/core/operators/scan.d.mts +1 -1
- package/dist/core/operators/scan.d.mts.map +1 -1
- package/dist/core/operators/skip-if-no-change.d.mts +1 -1
- package/dist/core/operators/skip-if-no-change.d.mts.map +1 -1
- package/dist/core/operators/skip-if-no-change.mjs +0 -1
- package/dist/core/operators/skip-if-no-change.mjs.map +1 -1
- package/dist/core/operators/skip-until.d.mts +1 -1
- package/dist/core/operators/skip-until.d.mts.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/switch-map.d.mts +1 -1
- package/dist/core/operators/switch-map.d.mts.map +1 -1
- package/dist/core/operators/take-until.d.mts +1 -1
- package/dist/core/operators/take-until.d.mts.map +1 -1
- package/dist/core/operators/take-until.mjs +0 -1
- package/dist/core/operators/take-until.mjs.map +1 -1
- package/dist/core/operators/take-while.d.mts +1 -1
- package/dist/core/operators/take-while.d.mts.map +1 -1
- package/dist/core/operators/throttle.d.mts +1 -1
- package/dist/core/operators/throttle.d.mts.map +1 -1
- package/dist/core/operators/throttle.mjs +0 -1
- package/dist/core/operators/throttle.mjs.map +1 -1
- package/dist/core/operators/with-buffered-from.d.mts +1 -1
- package/dist/core/operators/with-buffered-from.d.mts.map +1 -1
- package/dist/core/operators/with-buffered-from.mjs +0 -1
- package/dist/core/operators/with-buffered-from.mjs.map +1 -1
- package/dist/core/operators/with-current-value-from.d.mts +1 -1
- package/dist/core/operators/with-current-value-from.d.mts.map +1 -1
- package/dist/core/operators/with-initial-value.d.mts +1 -1
- package/dist/core/operators/with-initial-value.d.mts.map +1 -1
- package/dist/core/predefined/operators/attach-index.d.mts +2 -2
- package/dist/core/predefined/operators/attach-index.d.mts.map +1 -1
- package/dist/core/predefined/operators/map-optional.d.mts +1 -1
- package/dist/core/predefined/operators/map-optional.d.mts.map +1 -1
- package/dist/core/predefined/operators/map-result-err.d.mts +1 -1
- package/dist/core/predefined/operators/map-result-err.d.mts.map +1 -1
- package/dist/core/predefined/operators/map-result-ok.d.mts +1 -1
- package/dist/core/predefined/operators/map-result-ok.d.mts.map +1 -1
- package/dist/core/predefined/operators/map-to.d.mts +1 -1
- package/dist/core/predefined/operators/map-to.d.mts.map +1 -1
- package/dist/core/predefined/operators/pluck.d.mts +1 -1
- package/dist/core/predefined/operators/pluck.d.mts.map +1 -1
- package/dist/core/predefined/operators/skip.d.mts +2 -2
- package/dist/core/predefined/operators/skip.d.mts.map +1 -1
- package/dist/core/predefined/operators/take.d.mts +2 -2
- package/dist/core/predefined/operators/take.d.mts.map +1 -1
- package/dist/core/predefined/operators/unwrap-optional.d.mts +1 -1
- package/dist/core/predefined/operators/unwrap-optional.d.mts.map +1 -1
- package/dist/core/predefined/operators/unwrap-optional.mjs +0 -1
- package/dist/core/predefined/operators/unwrap-optional.mjs.map +1 -1
- package/dist/core/predefined/operators/unwrap-result-err.d.mts +1 -1
- package/dist/core/predefined/operators/unwrap-result-err.d.mts.map +1 -1
- package/dist/core/predefined/operators/unwrap-result-ok.d.mts +1 -1
- package/dist/core/predefined/operators/unwrap-result-ok.d.mts.map +1 -1
- package/dist/core/predefined/operators/unwrap-result-ok.mjs +0 -1
- package/dist/core/predefined/operators/unwrap-result-ok.mjs.map +1 -1
- package/dist/core/types/id.d.mts +1 -1
- package/dist/core/types/id.d.mts.map +1 -1
- package/dist/core/types/observable-family.d.mts +3 -3
- package/dist/core/types/observable-family.d.mts.map +1 -1
- package/dist/core/types/observable-kind.d.mts +1 -1
- package/dist/core/types/observable-kind.d.mts.map +1 -1
- package/dist/core/types/observable.d.mts +4 -4
- package/dist/core/types/observable.d.mts.map +1 -1
- package/dist/core/types/types.d.mts +1 -1
- package/dist/core/types/types.d.mts.map +1 -1
- package/dist/core/utils/id-maker.d.mts +1 -1
- package/dist/core/utils/id-maker.d.mts.map +1 -1
- package/dist/core/utils/id-maker.mjs +0 -1
- package/dist/core/utils/id-maker.mjs.map +1 -1
- package/dist/core/utils/max-depth.d.mts +1 -1
- package/dist/core/utils/max-depth.d.mts.map +1 -1
- package/dist/core/utils/observable-utils.d.mts +1 -1
- package/dist/core/utils/observable-utils.d.mts.map +1 -1
- package/dist/core/utils/utils.d.mts +1 -1
- package/dist/core/utils/utils.d.mts.map +1 -1
- package/dist/core/utils/utils.mjs +0 -1
- package/dist/core/utils/utils.mjs.map +1 -1
- package/dist/utils/collect-to-array.d.mts +1 -1
- package/dist/utils/collect-to-array.d.mts.map +1 -1
- package/dist/utils/create-boolean-state.d.mts +17 -14
- package/dist/utils/create-boolean-state.d.mts.map +1 -1
- package/dist/utils/create-boolean-state.mjs +4 -2
- package/dist/utils/create-boolean-state.mjs.map +1 -1
- package/dist/utils/create-reducer.d.mts +49 -2
- package/dist/utils/create-reducer.d.mts.map +1 -1
- package/dist/utils/create-reducer.mjs +31 -2
- package/dist/utils/create-reducer.mjs.map +1 -1
- package/dist/utils/create-state.d.mts +37 -2
- package/dist/utils/create-state.d.mts.map +1 -1
- package/dist/utils/create-state.mjs +36 -2
- package/dist/utils/create-state.mjs.map +1 -1
- package/package.json +13 -13
- package/src/core/base/create-child-observable.mts +1 -2
- package/src/core/base/create-observable-base.mts +17 -19
- package/src/core/base/create-root-observable.mts +1 -1
- package/src/core/base/observable-base.test.mts +7 -7
- package/src/core/combine/combine.mts +10 -11
- package/src/core/combine/merge.mts +8 -10
- package/src/core/combine/zip.mts +11 -13
- package/src/core/create/counter.mts +21 -11
- package/src/core/create/counter.test.mts +183 -0
- package/src/core/create/from-abortable-promise.mts +1 -3
- package/src/core/create/from-promise.mts +1 -2
- package/src/core/create/from-subscribable.mts +3 -4
- package/src/core/create/just.mts +1 -2
- package/src/core/create/source.mts +3 -3
- package/src/core/create/timer.mts +1 -1
- package/src/core/operators/audit.mts +5 -6
- package/src/core/operators/debounce.mts +5 -6
- package/src/core/operators/filter.mts +46 -5
- package/src/core/operators/map.mts +5 -6
- package/src/core/operators/merge-map.mts +5 -5
- package/src/core/operators/pairwise.mts +5 -5
- package/src/core/operators/scan.mts +4 -4
- package/src/core/operators/skip-if-no-change.mts +4 -5
- package/src/core/operators/skip-until.mts +4 -4
- package/src/core/operators/skip-while.mts +4 -4
- package/src/core/operators/switch-map.mts +5 -5
- package/src/core/operators/take-until.mts +4 -5
- package/src/core/operators/take-while.mts +5 -5
- package/src/core/operators/throttle.mts +5 -6
- package/src/core/operators/with-buffered-from.mts +4 -5
- package/src/core/operators/with-current-value-from.mts +4 -4
- package/src/core/operators/with-initial-value.mts +5 -5
- package/src/core/predefined/operators/attach-index.mts +2 -2
- package/src/core/predefined/operators/map-optional.mts +1 -1
- package/src/core/predefined/operators/map-result-err.mts +1 -1
- package/src/core/predefined/operators/map-result-ok.mts +1 -1
- package/src/core/predefined/operators/map-to.mts +1 -1
- package/src/core/predefined/operators/pluck.mts +1 -1
- package/src/core/predefined/operators/skip.mts +2 -2
- package/src/core/predefined/operators/take.mts +2 -2
- package/src/core/predefined/operators/unwrap-optional.mts +2 -3
- package/src/core/predefined/operators/unwrap-result-err.mts +2 -2
- package/src/core/predefined/operators/unwrap-result-ok.mts +2 -3
- package/src/core/types/id.mts +1 -1
- package/src/core/types/observable-family.mts +15 -15
- package/src/core/types/observable-kind.mts +1 -1
- package/src/core/types/observable.mts +4 -4
- package/src/core/types/types.mts +1 -1
- package/src/core/utils/id-maker.mts +4 -5
- package/src/core/utils/max-depth.mts +1 -1
- package/src/core/utils/observable-utils.mts +1 -1
- package/src/core/utils/utils.mts +1 -2
- package/src/utils/collect-to-array.mts +1 -1
- package/src/utils/create-boolean-state.mts +18 -14
- package/src/utils/create-boolean-state.test.mts +23 -0
- package/src/utils/create-reducer.mts +59 -2
- package/src/utils/create-reducer.test.mts +87 -0
- package/src/utils/create-state.mts +38 -2
- package/src/utils/create-state.test.mts +72 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unwrap-result-ok.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-result-ok.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAEmC,EAAE;AACjE,4DAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"unwrap-result-ok.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-result-ok.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAEmC,EAAE;AACjE,4DAA4D;AAC5D,GAAG,CAAC,MAAM,CAAC,QAAiD,CAAC,CAAC"}
|
package/dist/core/types/id.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.mts","sourceRoot":"","sources":["../../../src/core/types/id.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"id.d.mts","sourceRoot":"","sources":["../../../src/core/types/id.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Result } from 'ts-data-forge';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import type { ArrayElement, FixedLengthTuple, NonEmptyTuple, SafeUint } from 'ts-type-forge';
|
|
3
|
+
import type { AsyncChildObservable, InitializedObservable, InitializedRootObservable, InitializedSyncChildObservable, Observable, RootObservable, SyncChildObservable, Unwrap } from './observable.mjs';
|
|
4
|
+
import type { NonEmptyUnknownList } from './types.mjs';
|
|
5
5
|
export type InitializedSourceObservable<A> = Readonly<{
|
|
6
6
|
next: (value: A) => void;
|
|
7
7
|
}> & InitializedRootObservable<A>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { StrictExclude } from 'ts-type-forge';
|
|
2
2
|
export type ObservableKind = 'root' | 'sync child' | 'async child';
|
|
3
3
|
export type ManagerObservableKind = StrictExclude<ObservableKind, 'sync child'>;
|
|
4
4
|
export type ChildObservableKind = StrictExclude<ObservableKind, 'root'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-kind.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-kind.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"observable-kind.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-kind.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;AAEnE,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAEhF,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Optional, type Some } from 'ts-data-forge';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import type { StrictOmit } from 'ts-type-forge';
|
|
3
|
+
import type { ObservableId, UpdateToken } from './id.mjs';
|
|
4
|
+
import type { ObservableKind } from './observable-kind.mjs';
|
|
5
|
+
import type { NonEmptyUnknownList, Subscription } from './types.mjs';
|
|
6
6
|
/**
|
|
7
7
|
* Inheritance
|
|
8
8
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"observable.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../src/core/types/types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../src/core/types/types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,QAAQ,CAAC;KACpE,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAEzD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC;IACrC,SAAS,EAAE,CACT,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,EAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,EACnC,UAAU,CAAC,EAAE,MAAM,IAAI,KACpB,YAAY,CAAC;CACnB,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ObservableId, SubscriberId, UpdateToken } from '../types/index.mjs';
|
|
2
2
|
export declare const issueObservableId: () => ObservableId;
|
|
3
3
|
export declare const issueSubscriberId: () => SubscriberId;
|
|
4
4
|
export declare const issueUpdateToken: () => UpdateToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-maker.d.mts","sourceRoot":"","sources":["../../../src/core/utils/id-maker.mts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"id-maker.d.mts","sourceRoot":"","sources":["../../../src/core/utils/id-maker.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAmB5B,eAAO,MAAM,iBAAiB,QAAO,YACL,CAAC;AAEjC,eAAO,MAAM,iBAAiB,QAAO,YACL,CAAC;AAEjC,eAAO,MAAM,gBAAgB,QAAO,WACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-maker.mjs","sourceRoot":"","sources":["../../../src/core/utils/id-maker.mts"],"names":[],"mappings":"AAMA,QAAQ,CAAC,CAAC,OAAO;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,IAAI,EAAE,CAAC;QACZ,4DAA4D;QAC5D,
|
|
1
|
+
{"version":3,"file":"id-maker.mjs","sourceRoot":"","sources":["../../../src/core/utils/id-maker.mts"],"names":[],"mappings":"AAMA,QAAQ,CAAC,CAAC,OAAO;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,IAAI,EAAE,CAAC;QACZ,4DAA4D;QAC5D,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAM,CAAC;QAEpC,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,OAAO,EAAgB,CAAC;AAElD,MAAM,iBAAiB,GAAG,OAAO,EAAgB,CAAC;AAElD,MAAM,gBAAgB,GAAG,OAAO,EAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAiB,EAAE,CAClD,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAiB,EAAE,CAClD,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAgB,EAAE,CAChD,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"max-depth.d.mts","sourceRoot":"","sources":["../../../src/core/utils/max-depth.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"max-depth.d.mts","sourceRoot":"","sources":["../../../src/core/utils/max-depth.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,QAAQ,YAAa,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,KAAG,MAO/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-utils.d.mts","sourceRoot":"","sources":["../../../src/core/utils/observable-utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"observable-utils.d.mts","sourceRoot":"","sources":["../../../src/core/utils/observable-utils.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,YAAY,GAAI,CAAC,UACpB,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,eACT,MAAM,IAAI,KACtB,UAAU,CAAC,CAAC,CAIF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SafeInt } from 'ts-data-forge';
|
|
2
|
-
import {
|
|
2
|
+
import type { NegativeInt32, Uint32 } from 'ts-type-forge';
|
|
3
3
|
export declare const halfInt: (x: SafeInt) => SafeInt;
|
|
4
4
|
/** Returns the position where x should be inserted in a sorted array. */
|
|
5
5
|
export declare const binarySearch: <N extends number>(sortedArray: readonly N[], x: N) => NegativeInt32 | Uint32;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../../../src/core/utils/utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../../../src/core/utils/utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,OAAO,MAAO,OAAO,KAAG,OAKI,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,eAC9B,SAAS,CAAC,EAAE,KACtB,CAAC,KACH,aAAa,GAAG,MAyClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../../src/core/utils/utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGlE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAC7C,CAAC,GAAG,CAAC,KAAK,CAAC;IACT,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,GAAG,CAAC;QACL,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iCAAiC;QACrE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qCAAqC;AAEhF,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAyB,EACzB,CAAI,EACoB,EAAE;IAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,QAAQ,GAAY,KAAK,CAAC;IAE9B,IAAI,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,IAAI,OAAO,GAAY,OAAO,CAAC,GAAG,CAChC,QAAQ,EACR,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC1C,CAAC;IAEF,gDAAgD;IAChD,OAAO,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,MAAM;QACR,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM;QACR,CAAC;QAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,4DAA4D;IAC5D,
|
|
1
|
+
{"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../../src/core/utils/utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGlE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAC7C,CAAC,GAAG,CAAC,KAAK,CAAC;IACT,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,GAAG,CAAC;QACL,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iCAAiC;QACrE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qCAAqC;AAEhF,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAyB,EACzB,CAAI,EACoB,EAAE;IAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,QAAQ,GAAY,KAAK,CAAC;IAE9B,IAAI,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,IAAI,OAAO,GAAY,OAAO,CAAC,GAAG,CAChC,QAAQ,EACR,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC1C,CAAC;IAEF,gDAAgD;IAChD,OAAO,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,MAAM;QACR,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM;QACR,CAAC;QAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,4DAA4D;IAC5D,OAAO,OAAiC,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect-to-array.d.mts","sourceRoot":"","sources":["../../src/utils/collect-to-array.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"collect-to-array.d.mts","sourceRoot":"","sources":["../../src/utils/collect-to-array.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,cAAc,GAAI,CAAC,cAClB,UAAU,CAAC,CAAC,CAAC,KACxB,OAAO,CAAC,SAAS,CAAC,EAAE,CAYnB,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { InitializedObservable } from '../core/index.mjs';
|
|
2
|
+
import type { StateOptions } from './create-reducer.mjs';
|
|
2
3
|
/**
|
|
3
4
|
* Creates a reactive boolean state with convenient methods for boolean operations.
|
|
4
5
|
* Extends `createState` with boolean-specific helpers like `toggle`, `setTrue`, and `setFalse`.
|
|
5
6
|
*
|
|
6
7
|
* @param initialState - The initial boolean value
|
|
8
|
+
* @param options - {@link StateOptions}: `equals`, to pass on only the
|
|
9
|
+
* updates that change the state
|
|
7
10
|
* @returns A 2-element tuple: `[state, { setTrue, setFalse, toggle, setState, updateState, resetState, getSnapshot, initialState }]`
|
|
8
11
|
*
|
|
9
12
|
* @example
|
|
@@ -12,22 +15,22 @@ import { type InitializedObservable } from '../core/index.mjs';
|
|
|
12
15
|
* import { createBooleanState } from 'synstate';
|
|
13
16
|
* import { useObservableValue } from 'synstate-react-hooks';
|
|
14
17
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* // Menu drawer open/close state.
|
|
19
|
+
* // setTrue and setFalse can be passed directly as callbacks
|
|
20
|
+
* // — no need to create wrapper functions like `() => setState(true)`.
|
|
21
|
+
* const [menuOpen$, { setTrue: openMenu, setFalse: closeMenu }] =
|
|
22
|
+
* createBooleanState(false);
|
|
20
23
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
24
|
+
* const SampleComponent = (): React.JSX.Element => (
|
|
25
|
+
* <MenuDrawer
|
|
26
|
+
* open={useObservableValue(menuOpen$)}
|
|
27
|
+
* onClose={closeMenu}
|
|
28
|
+
* onOpen={openMenu}
|
|
29
|
+
* />
|
|
30
|
+
* );
|
|
28
31
|
* ```
|
|
29
32
|
*/
|
|
30
|
-
export declare const createBooleanState: (initialState: boolean) => readonly [state: InitializedObservable<boolean>, utils: Readonly<{
|
|
33
|
+
export declare const createBooleanState: (initialState: boolean, options?: StateOptions<boolean>) => readonly [state: InitializedObservable<boolean>, utils: Readonly<{
|
|
31
34
|
setTrue: () => void;
|
|
32
35
|
setFalse: () => void;
|
|
33
36
|
setState: (next: boolean) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-boolean-state.d.mts","sourceRoot":"","sources":["../../src/utils/create-boolean-state.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-boolean-state.d.mts","sourceRoot":"","sources":["../../src/utils/create-boolean-state.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,eAAO,MAAM,kBAAkB,iBACf,OAAO,YACX,YAAY,CAAC,OAAO,CAAC,KAC9B,SAAS,CACV,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACrC,KAAK,EAAE,QAAQ,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,KAAK,OAAO,CAAC;IAC/D,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC,CAsBH,CAAC"}
|
|
@@ -27,8 +27,10 @@ import { createState } from './create-state.mjs';
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
export const createBooleanState = (initialState, options) => {
|
|
33
|
+
const [state, setState, { updateState, resetState, getSnapshot }] = createState(initialState, options);
|
|
32
34
|
return [
|
|
33
35
|
state,
|
|
34
36
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-boolean-state.mjs","sourceRoot":"","sources":["../../src/utils/create-boolean-state.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-boolean-state.mjs","sourceRoot":"","sources":["../../src/utils/create-boolean-state.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,YAAqB,EACrB,OAA+B,EAa/B,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,GAC/D,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAErC,OAAO;QACL,KAAK;QACL;YACE,OAAO,EAAE,GAAG,EAAE;gBACZ,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,QAAQ;YACR,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;SACb;KACO,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Reducer } from 'ts-type-forge';
|
|
2
2
|
import { type InitializedObservable } from '../core/index.mjs';
|
|
3
3
|
/**
|
|
4
4
|
* Creates a reducer-based state management container following the Redux pattern.
|
|
@@ -8,6 +8,8 @@ import { type InitializedObservable } from '../core/index.mjs';
|
|
|
8
8
|
* @template A - The type of actions
|
|
9
9
|
* @param reducer - A pure function that takes current state and action, returns new state
|
|
10
10
|
* @param initialState - The initial value of the state
|
|
11
|
+
* @param options - {@link StateOptions}: `equals`, to pass on only the
|
|
12
|
+
* dispatches that change the state
|
|
11
13
|
* @returns A 3-element tuple: `[state, dispatch, { getSnapshot, initialState }]`
|
|
12
14
|
*
|
|
13
15
|
* @example
|
|
@@ -42,9 +44,54 @@ import { type InitializedObservable } from '../core/index.mjs';
|
|
|
42
44
|
*
|
|
43
45
|
* assert.deepStrictEqual(stateHistory, [0, 1, 2, 1]);
|
|
44
46
|
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* const [count, dispatch] = createReducer(
|
|
51
|
+
* (s, action: Readonly<{ type: 'add'; amount: number }>) =>
|
|
52
|
+
* s + action.amount,
|
|
53
|
+
* 0,
|
|
54
|
+
* { equals: Object.is },
|
|
55
|
+
* );
|
|
56
|
+
*
|
|
57
|
+
* const countHistory: number[] = [];
|
|
58
|
+
*
|
|
59
|
+
* count.subscribe((value: number) => {
|
|
60
|
+
* countHistory.push(value);
|
|
61
|
+
* });
|
|
62
|
+
*
|
|
63
|
+
* dispatch({ type: 'add', amount: 0 }); // 0 again: nothing is passed on
|
|
64
|
+
*
|
|
65
|
+
* dispatch({ type: 'add', amount: 2 });
|
|
66
|
+
*
|
|
67
|
+
* assert.deepStrictEqual(countHistory, [0, 2]);
|
|
68
|
+
* ```
|
|
45
69
|
*/
|
|
46
|
-
export declare const createReducer: <S, A>(reducer: Reducer<S, A>, initialState: S) => readonly [state: InitializedObservable<S>, dispatch: (action: A) => S, utils: Readonly<{
|
|
70
|
+
export declare const createReducer: <S, A>(reducer: Reducer<S, A>, initialState: S, options?: StateOptions<NoInfer<S>>) => readonly [state: InitializedObservable<S>, dispatch: (action: A) => S, utils: Readonly<{
|
|
47
71
|
getSnapshot: () => S;
|
|
48
72
|
initialState: S;
|
|
49
73
|
}>];
|
|
74
|
+
/**
|
|
75
|
+
* Options of {@link createReducer}, `createState` and `createBooleanState`.
|
|
76
|
+
*/
|
|
77
|
+
export type StateOptions<S> = Readonly<{
|
|
78
|
+
/**
|
|
79
|
+
* Whether the next state is the same as the current one. When it says so,
|
|
80
|
+
* the update is not passed on — no subscriber, and nothing derived from
|
|
81
|
+
* the state, is told of it — and the current state is kept, along with its
|
|
82
|
+
* identity: `setState` and the like return the current state rather than
|
|
83
|
+
* the next.
|
|
84
|
+
*
|
|
85
|
+
* Decide here, where the state is held, rather than downstream with
|
|
86
|
+
* `skipIfNoChange`: an update passed on here reaches whatever reads the
|
|
87
|
+
* state directly before any operator can thin it out.
|
|
88
|
+
*
|
|
89
|
+
* When omitted, every update is passed on, equal or not. That default is
|
|
90
|
+
* stocked in `NEXT_MAJOR.md` to become `Object.is`.
|
|
91
|
+
*
|
|
92
|
+
* @param current - The state held now
|
|
93
|
+
* @param next - The state the update would set
|
|
94
|
+
*/
|
|
95
|
+
equals?: (current: S, next: S) => boolean;
|
|
96
|
+
}>;
|
|
50
97
|
//# sourceMappingURL=create-reducer.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-reducer.d.mts","sourceRoot":"","sources":["../../src/utils/create-reducer.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-reducer.d.mts","sourceRoot":"","sources":["../../src/utils/create-reducer.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAU,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,WACvB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,gBACR,CAAC,YACL,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KACjC,SAAS,CACV,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,QAAQ,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,CAuBH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC;IACrC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;CAC3C,CAAC,CAAC"}
|
|
@@ -42,10 +42,39 @@ import { source } from '../core/index.mjs';
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
export const createReducer = (reducer, initialState, options) => {
|
|
46
70
|
const state = source(initialState);
|
|
71
|
+
const equals = options?.equals;
|
|
47
72
|
const dispatch = (action) => {
|
|
48
|
-
const
|
|
73
|
+
const currentState = state.getSnapshot().value;
|
|
74
|
+
const nextState = reducer(currentState, action);
|
|
75
|
+
if (equals?.(currentState, nextState) === true) {
|
|
76
|
+
return currentState;
|
|
77
|
+
}
|
|
49
78
|
state.next(nextState);
|
|
50
79
|
return nextState;
|
|
51
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-reducer.mjs","sourceRoot":"","sources":["../../src/utils/create-reducer.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA8B,MAAM,mBAAmB,CAAC;AAEvE
|
|
1
|
+
{"version":3,"file":"create-reducer.mjs","sourceRoot":"","sources":["../../src/utils/create-reducer.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA8B,MAAM,mBAAmB,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAsB,EACtB,YAAe,EACf,OAAkC,EAQlC,EAAE;IACF,MAAM,KAAK,GAAG,MAAM,CAAI,YAAY,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAE/B,MAAM,QAAQ,GAAG,CAAC,MAAS,EAAK,EAAE;QAChC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC;QAE/C,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAEhD,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtB,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC;IAEvD,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAU,CAAC;AACnE,CAAC,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { InitializedObservable } from '../core/index.mjs';
|
|
2
|
+
import { type StateOptions } from './create-reducer.mjs';
|
|
2
3
|
/**
|
|
3
4
|
* Creates a reactive state container with getter and setter methods.
|
|
4
5
|
* Provides a simple state management solution with observable state.
|
|
5
6
|
*
|
|
6
7
|
* @template S - The type of the state
|
|
7
8
|
* @param initialState - The initial value of the state
|
|
9
|
+
* @param options - {@link StateOptions}: `equals`, to pass on only the
|
|
10
|
+
* updates that change the state
|
|
8
11
|
* @returns A 3-element tuple: `[state, setState, { updateState, resetState, getSnapshot, initialState }]`
|
|
9
12
|
*
|
|
10
13
|
* @example
|
|
@@ -31,8 +34,40 @@ import { type InitializedObservable } from '../core/index.mjs';
|
|
|
31
34
|
*
|
|
32
35
|
* assert.deepStrictEqual(stateHistory, [0, 10, 11, 0]);
|
|
33
36
|
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* const [filters, setFilters] = createState(
|
|
41
|
+
* { label: 'bug', page: 1 },
|
|
42
|
+
* { equals: fastDeepEqual },
|
|
43
|
+
* );
|
|
44
|
+
*
|
|
45
|
+
* const before = filters.getSnapshot().value;
|
|
46
|
+
*
|
|
47
|
+
* // Derived state is recomputed only when the state really changes.
|
|
48
|
+
* const query = filters.pipe(
|
|
49
|
+
* map(({ label, page }) => `label:${label} page:${page}`),
|
|
50
|
+
* );
|
|
51
|
+
*
|
|
52
|
+
* const queryHistory: string[] = [];
|
|
53
|
+
*
|
|
54
|
+
* query.subscribe((value: string) => {
|
|
55
|
+
* queryHistory.push(value);
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* setFilters({ label: 'bug', page: 1 }); // equal: nothing is passed on
|
|
59
|
+
*
|
|
60
|
+
* assert.strictEqual(filters.getSnapshot().value, before);
|
|
61
|
+
*
|
|
62
|
+
* setFilters({ label: 'bug', page: 2 });
|
|
63
|
+
*
|
|
64
|
+
* assert.deepStrictEqual(queryHistory, [
|
|
65
|
+
* 'label:bug page:1',
|
|
66
|
+
* 'label:bug page:2',
|
|
67
|
+
* ]);
|
|
68
|
+
* ```
|
|
34
69
|
*/
|
|
35
|
-
export declare const createState: <S>(initialState: S) => readonly [state: InitializedObservable<S>, setState: (v: S) => S, utils: Readonly<{
|
|
70
|
+
export declare const createState: <S>(initialState: S, options?: StateOptions<NoInfer<S>>) => readonly [state: InitializedObservable<S>, setState: (v: S) => S, utils: Readonly<{
|
|
36
71
|
updateState: (updateFn: (prev: S) => S) => S;
|
|
37
72
|
resetState: () => S;
|
|
38
73
|
getSnapshot: () => S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-state.d.mts","sourceRoot":"","sources":["../../src/utils/create-state.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-state.d.mts","sourceRoot":"","sources":["../../src/utils/create-state.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAuBxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,gBACb,CAAC,YACL,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KACjC,SAAS,CACV,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EACrB,KAAK,EAAE,QAAQ,CAAC;IACd,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,CA0BH,CAAC"}
|
|
@@ -40,8 +40,42 @@ const reducer = (state, action) => {
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
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
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
export const createState = (initialState, options) => {
|
|
78
|
+
const [state, dispatch, { getSnapshot }] = createReducer(reducer, initialState, options);
|
|
45
79
|
const updateState = (updateFn) => dispatch({ type: 'update', updateFn });
|
|
46
80
|
const setState = (nextState) => dispatch({ type: 'set', nextState });
|
|
47
81
|
const resetState = () => dispatch({ type: 'set', nextState: initialState });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-state.mjs","sourceRoot":"","sources":["../../src/utils/create-state.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"create-state.mjs","sourceRoot":"","sources":["../../src/utils/create-state.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AAaxE,MAAM,OAAO,GAAG,CAAK,KAAQ,EAAE,MAAiB,EAAK,EAAE;IACrD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,SAAS,CAAC;QAE1B,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,YAAe,EACf,OAAkC,EAUlC,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,aAAa,CACtD,OAAO,EACP,YAAY,EACZ,OAAO,CACR,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,QAAwB,EAAK,EAAE,CAClD,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,CAAC,SAAY,EAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAG,GAAM,EAAE,CACzB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IAErD,OAAO;QACL,KAAK;QACL,QAAQ;QACR;YACE,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;SACb;KACO,CAAC;AACb,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "synstate",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Type-safe State Management Library for TypeScript/JavaScript",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -34,25 +34,25 @@
|
|
|
34
34
|
"ts-type-forge": "^9.2.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@reduxjs/toolkit": "2.
|
|
38
|
-
"@sumi-lang/cli": "0.0.
|
|
37
|
+
"@reduxjs/toolkit": "2.13.0",
|
|
38
|
+
"@sumi-lang/cli": "0.0.5",
|
|
39
39
|
"@types/react": "19.3.0",
|
|
40
|
-
"@vitest/browser-playwright": "5.0.
|
|
40
|
+
"@vitest/browser-playwright": "5.0.3",
|
|
41
41
|
"argparse": "3.0.2",
|
|
42
|
-
"eslint-config-typed": "5.
|
|
43
|
-
"eslint-plugin-ts-data-forge": "0.8.
|
|
44
|
-
"eslint-plugin-ts-fortress": "1.
|
|
45
|
-
"eslint-plugin-ts-type-forge": "0.8.
|
|
46
|
-
"jotai": "3.0.
|
|
47
|
-
"mobx": "7.0.
|
|
42
|
+
"eslint-config-typed": "5.17.1",
|
|
43
|
+
"eslint-plugin-ts-data-forge": "0.8.4",
|
|
44
|
+
"eslint-plugin-ts-fortress": "1.3.1",
|
|
45
|
+
"eslint-plugin-ts-type-forge": "0.8.6",
|
|
46
|
+
"jotai": "3.0.1",
|
|
47
|
+
"mobx": "7.0.6",
|
|
48
48
|
"playwright": "1.63.0",
|
|
49
|
-
"prettier": "3.9.
|
|
49
|
+
"prettier": "3.9.9",
|
|
50
50
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
51
51
|
"prettier-plugin-packagejson": "3.0.2",
|
|
52
52
|
"react": "19.3.0",
|
|
53
53
|
"rxjs": "7.8.2",
|
|
54
|
-
"synstate-react-hooks": "3.0
|
|
55
|
-
"synstate-react-hooks-compat": "3.0
|
|
54
|
+
"synstate-react-hooks": "3.2.0",
|
|
55
|
+
"synstate-react-hooks-compat": "3.2.0",
|
|
56
56
|
"ts-repo-utils": "10.7.1",
|
|
57
57
|
"valtio": "2.3.2",
|
|
58
58
|
"zustand": "5.0.15"
|