synstate-preact-signals 2.0.5 → 2.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/dist/create-boolean-state.d.mts +3 -3
- package/dist/create-boolean-state.d.mts.map +1 -1
- package/dist/create-boolean-state.mjs +2 -2
- package/dist/create-boolean-state.mjs.map +1 -1
- package/dist/create-reducer.d.mts +4 -4
- package/dist/create-reducer.d.mts.map +1 -1
- package/dist/create-reducer.mjs +2 -2
- package/dist/create-reducer.mjs.map +1 -1
- package/dist/create-state.d.mts +3 -3
- package/dist/create-state.d.mts.map +1 -1
- package/dist/create-state.mjs +2 -2
- package/dist/create-state.mjs.map +1 -1
- package/dist/to-signal.d.mts +1 -1
- package/dist/to-signal.d.mts.map +1 -1
- package/package.json +8 -8
- package/src/create-boolean-state.mts +5 -3
- package/src/create-reducer.mts +5 -2
- package/src/create-state.mts +4 -2
- package/src/to-signal.mts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type InitializedObservable } from 'synstate';
|
|
1
|
+
import type { ReadonlySignal } from '@preact/signals';
|
|
2
|
+
import { type InitializedObservable, type StateOptions } from 'synstate';
|
|
3
3
|
/**
|
|
4
4
|
* Creates a synstate boolean state with a `ReadonlySignal` for reading the
|
|
5
5
|
* current value in Preact components.
|
|
@@ -25,7 +25,7 @@ import { type InitializedObservable } from 'synstate';
|
|
|
25
25
|
* assert.strictEqual(isOpenSignal.value, true);
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
export declare const createBooleanState: (initialState: boolean) => readonly [signal: ReadonlySignal<boolean>, utils: Readonly<{
|
|
28
|
+
export declare const createBooleanState: (initialState: boolean, options?: StateOptions<boolean>) => readonly [signal: ReadonlySignal<boolean>, utils: Readonly<{
|
|
29
29
|
state: InitializedObservable<boolean>;
|
|
30
30
|
setTrue: () => void;
|
|
31
31
|
setFalse: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-boolean-state.d.mts","sourceRoot":"","sources":["../src/create-boolean-state.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-boolean-state.d.mts","sourceRoot":"","sources":["../src/create-boolean-state.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAGlB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,kBAAkB,iBACf,OAAO,YACX,YAAY,CAAC,OAAO,CAAC,KAC9B,SAAS,CACV,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,EAC/B,KAAK,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACtC,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,CA+BH,CAAC"}
|
|
@@ -25,8 +25,8 @@ import { toSignal } from './to-signal.mjs';
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
export const createBooleanState = (initialState) => {
|
|
29
|
-
const [state, { setTrue, setFalse, setState, toggle, updateState, resetState, getSnapshot, },] = createBooleanStateBase(initialState);
|
|
28
|
+
export const createBooleanState = (initialState, options) => {
|
|
29
|
+
const [state, { setTrue, setFalse, setState, toggle, updateState, resetState, getSnapshot, },] = createBooleanStateBase(initialState, options);
|
|
30
30
|
const sig = toSignal(state);
|
|
31
31
|
return [
|
|
32
32
|
sig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-boolean-state.mjs","sourceRoot":"","sources":["../src/create-boolean-state.mts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-boolean-state.mjs","sourceRoot":"","sources":["../src/create-boolean-state.mts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,IAAI,sBAAsB,GAG7C,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,YAAqB,EACrB,OAA+B,EAc/B,EAAE;IACF,MAAM,CACJ,KAAK,EACL,EACE,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,UAAU,EACV,WAAW,GACZ,EACF,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5B,OAAO;QACL,GAAG;QACH;YACE,KAAK;YACL,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,MAAM;YACN,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;SACb;KACO,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type InitializedObservable } from 'synstate';
|
|
3
|
-
import {
|
|
1
|
+
import type { ReadonlySignal } from '@preact/signals';
|
|
2
|
+
import { type InitializedObservable, type StateOptions } from 'synstate';
|
|
3
|
+
import type { Reducer } from 'ts-type-forge';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a synstate reducer with a `ReadonlySignal` for reading the current
|
|
6
6
|
* value in Preact components.
|
|
@@ -32,7 +32,7 @@ import { type Reducer } from 'ts-type-forge';
|
|
|
32
32
|
* assert.strictEqual(getSnapshot(), 1);
|
|
33
33
|
* ```
|
|
34
34
|
*/
|
|
35
|
-
export declare const createReducer: <S, A>(reducer: Reducer<S, A>, initialState: S) => readonly [signal: ReadonlySignal<S>, dispatch: (action: A) => S, utils: Readonly<{
|
|
35
|
+
export declare const createReducer: <S, A>(reducer: Reducer<S, A>, initialState: S, options?: StateOptions<NoInfer<S>>) => readonly [signal: ReadonlySignal<S>, dispatch: (action: A) => S, utils: Readonly<{
|
|
36
36
|
state: InitializedObservable<S>;
|
|
37
37
|
getSnapshot: () => S;
|
|
38
38
|
initialState: S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-reducer.d.mts","sourceRoot":"","sources":["../src/create-reducer.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-reducer.d.mts","sourceRoot":"","sources":["../src/create-reducer.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;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,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,CAWH,CAAC"}
|
package/dist/create-reducer.mjs
CHANGED
|
@@ -31,8 +31,8 @@ import { toSignal } from './to-signal.mjs';
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
export const createReducer = (reducer, initialState) => {
|
|
35
|
-
const [state, dispatch, { getSnapshot }] = createReducerBase(reducer, initialState);
|
|
34
|
+
export const createReducer = (reducer, initialState, options) => {
|
|
35
|
+
const [state, dispatch, { getSnapshot }] = createReducerBase(reducer, initialState, options);
|
|
36
36
|
const sig = toSignal(state);
|
|
37
37
|
return [sig, dispatch, { state, getSnapshot, initialState }];
|
|
38
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-reducer.mjs","sourceRoot":"","sources":["../src/create-reducer.mts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,IAAI,iBAAiB,
|
|
1
|
+
{"version":3,"file":"create-reducer.mjs","sourceRoot":"","sources":["../src/create-reducer.mts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,IAAI,iBAAiB,GAGnC,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAsB,EACtB,YAAe,EACf,OAAkC,EASlC,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,iBAAiB,CAC1D,OAAO,EACP,YAAY,EACZ,OAAO,CACR,CAAC;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5B,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC"}
|
package/dist/create-state.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type InitializedObservable } from 'synstate';
|
|
1
|
+
import type { ReadonlySignal } from '@preact/signals';
|
|
2
|
+
import { type InitializedObservable, type StateOptions } from 'synstate';
|
|
3
3
|
/**
|
|
4
4
|
* Creates a synstate state with a `ReadonlySignal` for reading the current
|
|
5
5
|
* value in Preact components.
|
|
@@ -35,7 +35,7 @@ import { type InitializedObservable } from 'synstate';
|
|
|
35
35
|
* assert.strictEqual(getSnapshot(), 0);
|
|
36
36
|
* ```
|
|
37
37
|
*/
|
|
38
|
-
export declare const createState: <S>(initialState: S) => readonly [signal: ReadonlySignal<S>, setState: (v: S) => S, utils: Readonly<{
|
|
38
|
+
export declare const createState: <S>(initialState: S, options?: StateOptions<NoInfer<S>>) => readonly [signal: ReadonlySignal<S>, setState: (v: S) => S, utils: Readonly<{
|
|
39
39
|
state: InitializedObservable<S>;
|
|
40
40
|
updateState: (updateFn: (prev: S) => S) => S;
|
|
41
41
|
resetState: () => S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-state.d.mts","sourceRoot":"","sources":["../src/create-state.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-state.d.mts","sourceRoot":"","sources":["../src/create-state.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAGlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,gBACb,CAAC,YACL,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KACjC,SAAS,CACV,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EACrB,KAAK,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChC,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,CAkBH,CAAC"}
|
package/dist/create-state.mjs
CHANGED
|
@@ -35,8 +35,8 @@ import { toSignal } from './to-signal.mjs';
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
export const createState = (initialState) => {
|
|
39
|
-
const [state, setState, { updateState, resetState, getSnapshot }] = createStateBase(initialState);
|
|
38
|
+
export const createState = (initialState, options) => {
|
|
39
|
+
const [state, setState, { updateState, resetState, getSnapshot }] = createStateBase(initialState, options);
|
|
40
40
|
const sig = toSignal(state);
|
|
41
41
|
return [
|
|
42
42
|
sig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-state.mjs","sourceRoot":"","sources":["../src/create-state.mts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,IAAI,eAAe,
|
|
1
|
+
{"version":3,"file":"create-state.mjs","sourceRoot":"","sources":["../src/create-state.mts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,IAAI,eAAe,GAG/B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,YAAe,EACf,OAAkC,EAWlC,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,GAC/D,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5B,OAAO;QACL,GAAG;QACH,QAAQ;QACR;YACE,KAAK;YACL,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;SACb;KACO,CAAC;AACb,CAAC,CAAC"}
|
package/dist/to-signal.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReadonlySignal } from '@preact/signals';
|
|
2
|
-
import {
|
|
2
|
+
import type { InitializedObservable, Observable } from 'synstate';
|
|
3
3
|
/**
|
|
4
4
|
* Converts a synstate `InitializedObservable` into a Preact `ReadonlySignal`.
|
|
5
5
|
*
|
package/dist/to-signal.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-signal.d.mts","sourceRoot":"","sources":["../src/to-signal.mts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"to-signal.d.mts","sourceRoot":"","sources":["../src/to-signal.mts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGlE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,GACpC,cAAc,CAAC,CAAC,CAAC,CAAC;AAErB;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,GACzB,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAC/B,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAC1B,QAAQ,EAAE,CAAC,GACV,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "synstate-preact-signals",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Preact Signals integration for SynState - bridge between synstate observables and @preact/signals",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,20 +28,20 @@
|
|
|
28
28
|
"LICENSE"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"synstate": "3.0
|
|
31
|
+
"synstate": "3.1.0",
|
|
32
32
|
"ts-data-forge": "^14.7.1",
|
|
33
33
|
"ts-type-forge": "^9.2.2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@preact/signals": "2.11.2",
|
|
37
|
-
"@vitest/browser-playwright": "5.0.
|
|
38
|
-
"eslint-config-typed": "5.
|
|
39
|
-
"eslint-plugin-ts-data-forge": "0.8.
|
|
40
|
-
"eslint-plugin-ts-fortress": "1.
|
|
41
|
-
"eslint-plugin-ts-type-forge": "0.8.
|
|
37
|
+
"@vitest/browser-playwright": "5.0.2",
|
|
38
|
+
"eslint-config-typed": "5.17.0",
|
|
39
|
+
"eslint-plugin-ts-data-forge": "0.8.3",
|
|
40
|
+
"eslint-plugin-ts-fortress": "1.3.0",
|
|
41
|
+
"eslint-plugin-ts-type-forge": "0.8.5",
|
|
42
42
|
"playwright": "1.63.0",
|
|
43
43
|
"preact": "10.29.8",
|
|
44
|
-
"prettier": "3.9.
|
|
44
|
+
"prettier": "3.9.9",
|
|
45
45
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
46
46
|
"prettier-plugin-packagejson": "3.0.2",
|
|
47
47
|
"ts-repo-utils": "10.7.1"
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ReadonlySignal } from '@preact/signals';
|
|
2
2
|
import {
|
|
3
|
-
type InitializedObservable,
|
|
4
3
|
createBooleanState as createBooleanStateBase,
|
|
4
|
+
type InitializedObservable,
|
|
5
|
+
type StateOptions,
|
|
5
6
|
} from 'synstate';
|
|
6
7
|
import { toSignal } from './to-signal.mjs';
|
|
7
8
|
|
|
@@ -32,6 +33,7 @@ import { toSignal } from './to-signal.mjs';
|
|
|
32
33
|
*/
|
|
33
34
|
export const createBooleanState = (
|
|
34
35
|
initialState: boolean,
|
|
36
|
+
options?: StateOptions<boolean>,
|
|
35
37
|
): readonly [
|
|
36
38
|
signal: ReadonlySignal<boolean>,
|
|
37
39
|
utils: Readonly<{
|
|
@@ -57,7 +59,7 @@ export const createBooleanState = (
|
|
|
57
59
|
resetState,
|
|
58
60
|
getSnapshot,
|
|
59
61
|
},
|
|
60
|
-
] = createBooleanStateBase(initialState);
|
|
62
|
+
] = createBooleanStateBase(initialState, options);
|
|
61
63
|
|
|
62
64
|
const sig = toSignal(state);
|
|
63
65
|
|
package/src/create-reducer.mts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ReadonlySignal } from '@preact/signals';
|
|
2
2
|
import {
|
|
3
3
|
createReducer as createReducerBase,
|
|
4
4
|
type InitializedObservable,
|
|
5
|
+
type StateOptions,
|
|
5
6
|
} from 'synstate';
|
|
6
|
-
import {
|
|
7
|
+
import type { Reducer } from 'ts-type-forge';
|
|
7
8
|
import { toSignal } from './to-signal.mjs';
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -40,6 +41,7 @@ import { toSignal } from './to-signal.mjs';
|
|
|
40
41
|
export const createReducer = <S, A>(
|
|
41
42
|
reducer: Reducer<S, A>,
|
|
42
43
|
initialState: S,
|
|
44
|
+
options?: StateOptions<NoInfer<S>>,
|
|
43
45
|
): readonly [
|
|
44
46
|
signal: ReadonlySignal<S>,
|
|
45
47
|
dispatch: (action: A) => S,
|
|
@@ -52,6 +54,7 @@ export const createReducer = <S, A>(
|
|
|
52
54
|
const [state, dispatch, { getSnapshot }] = createReducerBase(
|
|
53
55
|
reducer,
|
|
54
56
|
initialState,
|
|
57
|
+
options,
|
|
55
58
|
);
|
|
56
59
|
|
|
57
60
|
const sig = toSignal(state);
|
package/src/create-state.mts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ReadonlySignal } from '@preact/signals';
|
|
2
2
|
import {
|
|
3
3
|
createState as createStateBase,
|
|
4
4
|
type InitializedObservable,
|
|
5
|
+
type StateOptions,
|
|
5
6
|
} from 'synstate';
|
|
6
7
|
import { toSignal } from './to-signal.mjs';
|
|
7
8
|
|
|
@@ -42,6 +43,7 @@ import { toSignal } from './to-signal.mjs';
|
|
|
42
43
|
*/
|
|
43
44
|
export const createState = <S,>(
|
|
44
45
|
initialState: S,
|
|
46
|
+
options?: StateOptions<NoInfer<S>>,
|
|
45
47
|
): readonly [
|
|
46
48
|
signal: ReadonlySignal<S>,
|
|
47
49
|
setState: (v: S) => S,
|
|
@@ -54,7 +56,7 @@ export const createState = <S,>(
|
|
|
54
56
|
}>,
|
|
55
57
|
] => {
|
|
56
58
|
const [state, setState, { updateState, resetState, getSnapshot }] =
|
|
57
|
-
createStateBase(initialState);
|
|
59
|
+
createStateBase(initialState, options);
|
|
58
60
|
|
|
59
61
|
const sig = toSignal(state);
|
|
60
62
|
|
package/src/to-signal.mts
CHANGED