synstate-react-hooks 0.1.2 → 1.0.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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # SynState React hooks
2
2
 
3
+ synstate-react-hooks re-exports all exports from synstate except for `createState`, `createReducer`, and `createBooleanState`, and exports modified versions of those creation functions.
4
+
5
+ The first element of the array returned by the `createState<T>` function provided by synstate-preact-hooks is changed from `InitializedObservable<T>` to a React hook `() => T`, and the `InitializedObservable<T>` has been moved to the `state` property in the object at index 2.
6
+
3
7
  ## Installation
4
8
 
5
9
  ```bash
@@ -35,10 +39,7 @@ const UserProfile = (): React.JSX.Element => {
35
39
 
36
40
  return (
37
41
  <div>
38
- <p>
39
- {'Name: '}
40
- {user.name}
41
- </p>
42
+ <p>{`Name: ${user.name}`}</p>
42
43
  <button
43
44
  onClick={() => {
44
45
  setUserState({
@@ -83,10 +84,7 @@ const UserProfile = (): React.JSX.Element => {
83
84
 
84
85
  return (
85
86
  <div>
86
- <p>
87
- {'Name: '}
88
- {user.name}
89
- </p>
87
+ <p>{`Name: ${user.name}`}</p>
90
88
  <button
91
89
  onClick={() => {
92
90
  setUserState({
@@ -8,5 +8,6 @@ export declare const createBooleanState: (initialState: boolean) => readonly [us
8
8
  updateState: (updateFn: (prev: boolean) => boolean) => boolean;
9
9
  resetState: () => boolean;
10
10
  getSnapshot: () => boolean;
11
+ initialState: boolean;
11
12
  }>];
12
13
  //# sourceMappingURL=create-boolean-state.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-boolean-state.d.mts","sourceRoot":"","sources":["../src/create-boolean-state.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,kBAAkB,GAC7B,cAAc,OAAO,KACpB,SAAS,CACV,eAAe,EAAE,MAAM,OAAO,EAC9B,QAAQ,CAAC;IACP,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;CAC5B,CAAC,CA8BH,CAAC"}
1
+ {"version":3,"file":"create-boolean-state.d.mts","sourceRoot":"","sources":["../src/create-boolean-state.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,kBAAkB,GAC7B,cAAc,OAAO,KACpB,SAAS,CACV,eAAe,EAAE,MAAM,OAAO,EAC9B,QAAQ,CAAC;IACP,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"}
@@ -15,6 +15,7 @@ const createBooleanState = (initialState) => {
15
15
  updateState,
16
16
  resetState,
17
17
  getSnapshot,
18
+ initialState,
18
19
  },
19
20
  ];
20
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create-boolean-state.mjs","sources":["../src/create-boolean-state.mts"],"sourcesContent":[null],"names":["createBooleanStateBase"],"mappings":";;;AAMO,MAAM,kBAAkB,GAAG,CAChC,YAAqB,KAanB;IACF,MAAM,CACJ,KAAK,EACL,EACE,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,UAAU,EACV,WAAW,GACZ,EACF,GAAGA,oBAAsB,CAAC,YAAY,CAAC;IAExC,MAAM,eAAe,GAAG,MAAe,kBAAkB,CAAC,KAAK,CAAC;IAEhE,OAAO;QACL,eAAe;AACf,QAAA;YACE,KAAK;YACL,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,MAAM;YACN,WAAW;YACX,UAAU;YACV,WAAW;AACZ,SAAA;KACO;AACZ;;;;"}
1
+ {"version":3,"file":"create-boolean-state.mjs","sources":["../src/create-boolean-state.mts"],"sourcesContent":[null],"names":["createBooleanStateBase"],"mappings":";;;AAMO,MAAM,kBAAkB,GAAG,CAChC,YAAqB,KAcnB;IACF,MAAM,CACJ,KAAK,EACL,EACE,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,UAAU,EACV,WAAW,GACZ,EACF,GAAGA,oBAAsB,CAAC,YAAY,CAAC;IAExC,MAAM,eAAe,GAAG,MAAe,kBAAkB,CAAC,KAAK,CAAC;IAEhE,OAAO;QACL,eAAe;AACf,QAAA;YACE,KAAK;YACL,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,MAAM;YACN,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;AACb,SAAA;KACO;AACZ;;;;"}
@@ -1,6 +1,8 @@
1
1
  import { type InitializedObservable } from 'synstate';
2
+ import { type Reducer } from 'ts-type-forge';
2
3
  export declare const createReducer: <S, A>(reducer: Reducer<S, A>, initialState: S) => readonly [useCurrentValue: () => S, dispatch: (action: A) => S, Readonly<{
3
4
  state: InitializedObservable<S>;
4
5
  getSnapshot: () => S;
6
+ initialState: S;
5
7
  }>];
6
8
  //# sourceMappingURL=create-reducer.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-reducer.d.mts","sourceRoot":"","sources":["../src/create-reducer.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAChC,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,cAAc,CAAC,KACd,SAAS,CACV,eAAe,EAAE,MAAM,CAAC,EACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAC1B,QAAQ,CAAC;IACP,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,CAAC;CACtB,CAAC,CAUH,CAAC"}
1
+ {"version":3,"file":"create-reducer.d.mts","sourceRoot":"","sources":["../src/create-reducer.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAChC,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,cAAc,CAAC,KACd,SAAS,CACV,eAAe,EAAE,MAAM,CAAC,EACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAC1B,QAAQ,CAAC;IACP,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,CAUH,CAAC"}
@@ -2,9 +2,9 @@ import { createReducer as createReducer$1 } from 'synstate';
2
2
  import { useObservableValue } from './use-observable-value.mjs';
3
3
 
4
4
  const createReducer = (reducer, initialState) => {
5
- const [state, dispatch, getSnapshot] = createReducer$1(reducer, initialState);
5
+ const [state, dispatch, { getSnapshot }] = createReducer$1(reducer, initialState);
6
6
  const useCurrentValue = () => useObservableValue(state);
7
- return [useCurrentValue, dispatch, { state, getSnapshot }];
7
+ return [useCurrentValue, dispatch, { state, getSnapshot, initialState }];
8
8
  };
9
9
 
10
10
  export { createReducer };
@@ -1 +1 @@
1
- {"version":3,"file":"create-reducer.mjs","sources":["../src/create-reducer.mts"],"sourcesContent":[null],"names":["createReducerBase"],"mappings":";;;MAMa,aAAa,GAAG,CAC3B,OAAsB,EACtB,YAAe,KAQb;AACF,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAGA,eAAiB,CACtD,OAAO,EACP,YAAY,CACb;IAED,MAAM,eAAe,GAAG,MAAS,kBAAkB,CAAC,KAAK,CAAC;IAE1D,OAAO,CAAC,eAAe,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAC5D;;;;"}
1
+ {"version":3,"file":"create-reducer.mjs","sources":["../src/create-reducer.mts"],"sourcesContent":[null],"names":["createReducerBase"],"mappings":";;;MAOa,aAAa,GAAG,CAC3B,OAAsB,EACtB,YAAe,KASb;AACF,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,GAAGA,eAAiB,CAC1D,OAAO,EACP,YAAY,CACb;IAED,MAAM,eAAe,GAAG,MAAS,kBAAkB,CAAC,KAAK,CAAC;AAE1D,IAAA,OAAO,CAAC,eAAe,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAC1E;;;;"}
@@ -4,5 +4,6 @@ export declare const createState: <S>(initialState: S) => readonly [useCurrentVa
4
4
  updateState: (updateFn: (prev: S) => S) => S;
5
5
  resetState: () => S;
6
6
  getSnapshot: () => S;
7
+ initialState: S;
7
8
  }>];
8
9
  //# sourceMappingURL=create-state.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-state.d.mts","sourceRoot":"","sources":["../src/create-state.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,WAAW,GAAI,CAAC,EAC3B,cAAc,CAAC,KACd,SAAS,CACV,eAAe,EAAE,MAAM,CAAC,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EACrB,QAAQ,CAAC;IACP,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;CACtB,CAAC,CAiBH,CAAC"}
1
+ {"version":3,"file":"create-state.d.mts","sourceRoot":"","sources":["../src/create-state.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,WAAW,GAAI,CAAC,EAC3B,cAAc,CAAC,KACd,SAAS,CACV,eAAe,EAAE,MAAM,CAAC,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EACrB,QAAQ,CAAC;IACP,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"}
@@ -12,6 +12,7 @@ const createState = (initialState) => {
12
12
  updateState,
13
13
  resetState,
14
14
  getSnapshot,
15
+ initialState,
15
16
  },
16
17
  ];
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create-state.mjs","sources":["../src/create-state.mts"],"sourcesContent":[null],"names":["createStateBase"],"mappings":";;;AAMO,MAAM,WAAW,GAAG,CACzB,YAAe,KAUb;AACF,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,GAC/DA,aAAe,CAAC,YAAY,CAAC;IAE/B,MAAM,eAAe,GAAG,MAAS,kBAAkB,CAAC,KAAK,CAAC;IAE1D,OAAO;QACL,eAAe;QACf,QAAQ;AACR,QAAA;YACE,KAAK;YACL,WAAW;YACX,UAAU;YACV,WAAW;AACZ,SAAA;KACO;AACZ;;;;"}
1
+ {"version":3,"file":"create-state.mjs","sources":["../src/create-state.mts"],"sourcesContent":[null],"names":["createStateBase"],"mappings":";;;AAMO,MAAM,WAAW,GAAG,CACzB,YAAe,KAWb;AACF,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,GAC/DA,aAAe,CAAC,YAAY,CAAC;IAE/B,MAAM,eAAe,GAAG,MAAS,kBAAkB,CAAC,KAAK,CAAC;IAE1D,OAAO;QACL,eAAe;QACf,QAAQ;AACR,QAAA;YACE,KAAK;YACL,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;AACb,SAAA;KACO;AACZ;;;;"}
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  export { createBooleanState } from './create-boolean-state.mjs';
2
2
  export { createReducer } from './create-reducer.mjs';
3
3
  export { createState } from './create-state.mjs';
4
- export { AsyncChildObservableClass, InitializedSyncChildObservableClass, ObservableBaseClass, RootObservableClass, SyncChildObservableClass, attachIndex, auditTime, binarySearch, combine, combineLatest, createEventEmitter, createValueEmitter, debounceTime, distinctUntilChanged, filter, flatMap, fromArray, fromPromise, fromSubscribable, getKey, halfInt, interval, isChildObservable, isManagerObservable, isRootObservable, issueObservableId, issueSubscriberId, issueUpdaterSymbol, map, mapOptional, mapResultErr, mapResultOk, mapTo, mapWithIndex, maxDepth, merge, mergeMap, of, pairwise, pluck, scan, skip, skipIfNoChange, skipUntil, skipWhile, source, subject, switchMap, take, takeUntil, takeWhile, throttleTime, timer, toSubscriber, unwrapOptional, unwrapResultErr, unwrapResultOk, withBuffered, withBufferedFrom, withCurrentValueFrom, withIndex, withInitialValue, withLatestFrom, zip } from 'synstate';
4
+ export { AsyncChildObservableClass, InitializedSyncChildObservableClass, ObservableBaseClass, RootObservableClass, SyncChildObservableClass, attachIndex, audit, collectToArray, combine, combineLatest, counter, createEventEmitter, createValueEmitter, debounce, distinctUntilChanged, filter, flatMap, fromAbortablePromise, fromPromise, fromSubscribable, getKey, isChildObservable, isManagerObservable, isRootObservable, just, map, mapOptional, mapResultErr, mapResultOk, mapTo, merge, mergeMap, pairwise, pluck, scan, skip, skipIfNoChange, skipUntil, skipWhile, source, switchMap, take, takeUntil, takeWhile, throttle, timer, unwrapOptional, unwrapResultErr, unwrapResultOk, withBuffered, withBufferedFrom, withCurrentValueFrom, withIndex, withInitialValue, withLatestFrom, zip } from 'synstate';
5
5
  export { useObservableEffect } from './use-observable-effect.mjs';
6
6
  export { useObservableValue } from './use-observable-value.mjs';
7
7
  export { useValueAsObservable } from './use-value-as-observable.mjs';
@@ -1,2 +1,2 @@
1
- export { AsyncChildObservableClass, InitializedSyncChildObservableClass, ObservableBaseClass, RootObservableClass, SyncChildObservableClass, attachIndex, auditTime, binarySearch, combine, combineLatest, createEventEmitter, createValueEmitter, debounceTime, distinctUntilChanged, filter, flatMap, fromArray, fromPromise, fromSubscribable, getKey, halfInt, interval, isChildObservable, isManagerObservable, isRootObservable, issueObservableId, issueSubscriberId, issueUpdaterSymbol, map, mapOptional, mapResultErr, mapResultOk, mapTo, mapWithIndex, maxDepth, merge, mergeMap, of, pairwise, pluck, scan, skip, skipIfNoChange, skipUntil, skipWhile, source, subject, switchMap, take, takeUntil, takeWhile, throttleTime, timer, toSubscriber, unwrapOptional, unwrapResultErr, unwrapResultOk, withBuffered, withBufferedFrom, withCurrentValueFrom, withIndex, withInitialValue, withLatestFrom, zip, } from 'synstate';
1
+ export { AsyncChildObservableClass, InitializedSyncChildObservableClass, ObservableBaseClass, RootObservableClass, SyncChildObservableClass, attachIndex, audit, collectToArray, combine, combineLatest, counter, createEventEmitter, createValueEmitter, debounce, distinctUntilChanged, filter, flatMap, fromAbortablePromise, fromPromise, fromSubscribable, getKey, isChildObservable, isManagerObservable, isRootObservable, just, map, mapOptional, mapResultErr, mapResultOk, mapTo, merge, mergeMap, pairwise, pluck, scan, skip, skipIfNoChange, skipUntil, skipWhile, source, switchMap, take, takeUntil, takeWhile, throttle, timer, unwrapOptional, unwrapResultErr, unwrapResultOk, withBuffered, withBufferedFrom, withCurrentValueFrom, withIndex, withInitialValue, withLatestFrom, zip, } from 'synstate';
2
2
  //# sourceMappingURL=synstate.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"synstate.d.mts","sourceRoot":"","sources":["../src/synstate.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACN,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,GAAG,EACH,WAAW,EACX,YAAY,EACZ,WAAW,EACX,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,EAAE,EACF,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,cAAc,EACd,SAAS,EACT,SAAS,EACT,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,GAAG,GACJ,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"synstate.d.mts","sourceRoot":"","sources":["../src/synstate.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,KAAK,EACL,cAAc,EACd,OAAO,EACP,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,MAAM,EACN,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,IAAI,EACJ,GAAG,EACH,WAAW,EACX,YAAY,EACZ,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,cAAc,EACd,SAAS,EACT,SAAS,EACT,MAAM,EACN,SAAS,EACT,IAAI,EACJ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,GAAG,GACJ,MAAM,UAAU,CAAC"}
package/dist/synstate.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { AsyncChildObservableClass, InitializedSyncChildObservableClass, ObservableBaseClass, RootObservableClass, SyncChildObservableClass, attachIndex, auditTime, binarySearch, combine, combineLatest, createEventEmitter, createValueEmitter, debounceTime, distinctUntilChanged, filter, flatMap, fromArray, fromPromise, fromSubscribable, getKey, halfInt, interval, isChildObservable, isManagerObservable, isRootObservable, issueObservableId, issueSubscriberId, issueUpdaterSymbol, map, mapOptional, mapResultErr, mapResultOk, mapTo, mapWithIndex, maxDepth, merge, mergeMap, of, pairwise, pluck, scan, skip, skipIfNoChange, skipUntil, skipWhile, source, subject, switchMap, take, takeUntil, takeWhile, throttleTime, timer, toSubscriber, unwrapOptional, unwrapResultErr, unwrapResultOk, withBuffered, withBufferedFrom, withCurrentValueFrom, withIndex, withInitialValue, withLatestFrom, zip } from 'synstate';
1
+ export { AsyncChildObservableClass, InitializedSyncChildObservableClass, ObservableBaseClass, RootObservableClass, SyncChildObservableClass, attachIndex, audit, collectToArray, combine, combineLatest, counter, createEventEmitter, createValueEmitter, debounce, distinctUntilChanged, filter, flatMap, fromAbortablePromise, fromPromise, fromSubscribable, getKey, isChildObservable, isManagerObservable, isRootObservable, just, map, mapOptional, mapResultErr, mapResultOk, mapTo, merge, mergeMap, pairwise, pluck, scan, skip, skipIfNoChange, skipUntil, skipWhile, source, switchMap, take, takeUntil, takeWhile, throttle, timer, unwrapOptional, unwrapResultErr, unwrapResultOk, withBuffered, withBufferedFrom, withCurrentValueFrom, withIndex, withInitialValue, withLatestFrom, zip } from 'synstate';
2
2
  //# sourceMappingURL=synstate.mjs.map
package/dist/types.d.mts CHANGED
@@ -1,2 +1 @@
1
- import './globals.d.mts';
2
- export * from './entry-point.mjs';
1
+ export * from './entry-point.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synstate-react-hooks",
3
- "version": "0.1.2",
3
+ "version": "1.0.1",
4
4
  "description": "Type-safe State Management Library for TypeScript/JavaScript",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,14 +27,15 @@
27
27
  "LICENSE"
28
28
  ],
29
29
  "dependencies": {
30
- "ts-data-forge": "^6.5.0",
31
- "synstate": "0.1.2"
30
+ "ts-data-forge": "6.9.4",
31
+ "ts-type-forge": "3.0.0",
32
+ "synstate": "1.0.1"
32
33
  },
33
34
  "devDependencies": {
34
- "@types/argparse": "^2.0.17",
35
- "@types/react": "^19.2.14",
36
- "argparse": "^2.0.1",
37
- "react": "^19.2.4"
35
+ "@types/argparse": "2.0.17",
36
+ "@types/react": "19.2.14",
37
+ "argparse": "2.0.1",
38
+ "react": "19.2.5"
38
39
  },
39
40
  "peerDependencies": {
40
41
  "react": ">=18.0.0"
@@ -45,12 +46,11 @@
45
46
  "check:ext": "tsx ./scripts/cmd/check-ext.mts",
46
47
  "check-all": "tsx ./scripts/cmd/check-all.mts",
47
48
  "codemod": "convert-to-readonly '{src,samples,test}/**/*.{mts,tsx}'",
48
- "doc": "tsx ./scripts/cmd/gen-docs.mts",
49
+ "doc": "run-s doc:embed doc:embed:jsdoc fmt",
49
50
  "doc:embed": "tsx ./scripts/cmd/embed-examples.mts",
50
51
  "doc:embed:jsdoc": "tsx ./scripts/cmd/embed-examples-in-jsdoc.mts",
51
- "doc:preview": "vite preview --config ./configs/vite.doc.config.ts",
52
- "doc:watch": "typedoc --options ./configs/typedoc.config.mjs --watch",
53
- "fmt": "pnpm run z:prettier .",
52
+ "fmt": "format-uncommitted",
53
+ "fmt:full": "pnpm run z:prettier .",
54
54
  "gen:re-export": "run-s gen:re-export:script fmt",
55
55
  "gen:re-export:script": "tsx ./scripts/cmd/generate-re-export-script.mts",
56
56
  "gi": "run-s gi:src fmt",
@@ -58,7 +58,6 @@
58
58
  "lint": "eslint .",
59
59
  "lint:fix": "eslint . --fix",
60
60
  "test": "pnpm run z:vitest:node run",
61
- "test:all": "run-p test",
62
61
  "test:browser": "pnpm run z:vitest --project='Browser' run",
63
62
  "test:cov": "pnpm run z:vitest:node run --coverage",
64
63
  "test:cov:ui": "vite preview --outDir ./coverage",
@@ -17,6 +17,7 @@ export const createBooleanState = (
17
17
  updateState: (updateFn: (prev: boolean) => boolean) => boolean;
18
18
  resetState: () => boolean;
19
19
  getSnapshot: () => boolean;
20
+ initialState: boolean;
20
21
  }>,
21
22
  ] => {
22
23
  const [
@@ -45,6 +46,7 @@ export const createBooleanState = (
45
46
  updateState,
46
47
  resetState,
47
48
  getSnapshot,
49
+ initialState,
48
50
  },
49
51
  ] as const;
50
52
  };
@@ -2,6 +2,7 @@ import {
2
2
  createReducer as createReducerBase,
3
3
  type InitializedObservable,
4
4
  } from 'synstate';
5
+ import { type Reducer } from 'ts-type-forge';
5
6
  import { useObservableValue } from './use-observable-value.mjs';
6
7
 
7
8
  export const createReducer = <S, A>(
@@ -13,14 +14,15 @@ export const createReducer = <S, A>(
13
14
  Readonly<{
14
15
  state: InitializedObservable<S>;
15
16
  getSnapshot: () => S;
17
+ initialState: S;
16
18
  }>,
17
19
  ] => {
18
- const [state, dispatch, getSnapshot] = createReducerBase(
20
+ const [state, dispatch, { getSnapshot }] = createReducerBase(
19
21
  reducer,
20
22
  initialState,
21
23
  );
22
24
 
23
25
  const useCurrentValue = (): S => useObservableValue(state);
24
26
 
25
- return [useCurrentValue, dispatch, { state, getSnapshot }];
27
+ return [useCurrentValue, dispatch, { state, getSnapshot, initialState }];
26
28
  };
@@ -14,6 +14,7 @@ export const createState = <S,>(
14
14
  updateState: (updateFn: (prev: S) => S) => S;
15
15
  resetState: () => S;
16
16
  getSnapshot: () => S;
17
+ initialState: S;
17
18
  }>,
18
19
  ] => {
19
20
  const [state, setState, { updateState, resetState, getSnapshot }] =
@@ -29,6 +30,7 @@ export const createState = <S,>(
29
30
  updateState,
30
31
  resetState,
31
32
  getSnapshot,
33
+ initialState,
32
34
  },
33
35
  ] as const;
34
36
  };
package/src/synstate.mts CHANGED
@@ -5,38 +5,32 @@ export {
5
5
  RootObservableClass,
6
6
  SyncChildObservableClass,
7
7
  attachIndex,
8
- auditTime,
9
- binarySearch,
8
+ audit,
9
+ collectToArray,
10
10
  combine,
11
11
  combineLatest,
12
+ counter,
12
13
  createEventEmitter,
13
14
  createValueEmitter,
14
- debounceTime,
15
+ debounce,
15
16
  distinctUntilChanged,
16
17
  filter,
17
18
  flatMap,
18
- fromArray,
19
+ fromAbortablePromise,
19
20
  fromPromise,
20
21
  fromSubscribable,
21
22
  getKey,
22
- halfInt,
23
- interval,
24
23
  isChildObservable,
25
24
  isManagerObservable,
26
25
  isRootObservable,
27
- issueObservableId,
28
- issueSubscriberId,
29
- issueUpdaterSymbol,
26
+ just,
30
27
  map,
31
28
  mapOptional,
32
29
  mapResultErr,
33
30
  mapResultOk,
34
31
  mapTo,
35
- mapWithIndex,
36
- maxDepth,
37
32
  merge,
38
33
  mergeMap,
39
- of,
40
34
  pairwise,
41
35
  pluck,
42
36
  scan,
@@ -45,14 +39,12 @@ export {
45
39
  skipUntil,
46
40
  skipWhile,
47
41
  source,
48
- subject,
49
42
  switchMap,
50
43
  take,
51
44
  takeUntil,
52
45
  takeWhile,
53
- throttleTime,
46
+ throttle,
54
47
  timer,
55
- toSubscriber,
56
48
  unwrapOptional,
57
49
  unwrapResultErr,
58
50
  unwrapResultOk,
@@ -1 +0,0 @@
1
- /// <reference types="ts-type-forge" />
package/src/globals.d.mts DELETED
@@ -1 +0,0 @@
1
- /// <reference types="ts-type-forge" />