@plitzi/nexus 0.31.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.
Files changed (94) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/LICENSE +74 -0
  3. package/README.md +563 -0
  4. package/dist/StoreContext.d.ts +10 -0
  5. package/dist/StoreContext.mjs +11 -0
  6. package/dist/StoreProvider.d.ts +24 -0
  7. package/dist/StoreProvider.mjs +51 -0
  8. package/dist/async/createAsync.d.ts +19 -0
  9. package/dist/async/createAsync.mjs +29 -0
  10. package/dist/async/hooks/useAsync.d.ts +2 -0
  11. package/dist/async/hooks/useAsync.mjs +7 -0
  12. package/dist/async/hooks/useAsyncValue.d.ts +2 -0
  13. package/dist/async/hooks/useAsyncValue.mjs +13 -0
  14. package/dist/async/index.d.ts +4 -0
  15. package/dist/async/index.mjs +4 -0
  16. package/dist/createStore/createStore.d.ts +90 -0
  17. package/dist/createStore/createStore.mjs +104 -0
  18. package/dist/createStore/helpers/PathTrie.d.ts +13 -0
  19. package/dist/createStore/helpers/PathTrie.mjs +43 -0
  20. package/dist/createStore/helpers/Subscribers.d.ts +15 -0
  21. package/dist/createStore/helpers/Subscribers.mjs +59 -0
  22. package/dist/createStore/helpers/createChainReads.d.ts +10 -0
  23. package/dist/createStore/helpers/createChainReads.mjs +37 -0
  24. package/dist/createStore/helpers/createSetState.d.ts +22 -0
  25. package/dist/createStore/helpers/createSetState.mjs +163 -0
  26. package/dist/createStore/helpers/deepMerge.d.ts +2 -0
  27. package/dist/createStore/helpers/deepMerge.mjs +9 -0
  28. package/dist/createStore/helpers/forwardParentChanges.d.ts +7 -0
  29. package/dist/createStore/helpers/forwardParentChanges.mjs +23 -0
  30. package/dist/createStore/helpers/scopeCollisions.d.ts +4 -0
  31. package/dist/createStore/helpers/scopeCollisions.mjs +14 -0
  32. package/dist/createStore/helpers/writeByPath.d.ts +11 -0
  33. package/dist/createStore/helpers/writeByPath.mjs +51 -0
  34. package/dist/createStore/hooks/shared.d.ts +12 -0
  35. package/dist/createStore/hooks/shared.mjs +85 -0
  36. package/dist/createStore/hooks/useStore.d.ts +73 -0
  37. package/dist/createStore/hooks/useStore.mjs +57 -0
  38. package/dist/createStore/hooks/useStoreById.d.ts +3 -0
  39. package/dist/createStore/hooks/useStoreById.mjs +7 -0
  40. package/dist/createStore/hooks/useStoreGetter.d.ts +9 -0
  41. package/dist/createStore/hooks/useStoreGetter.mjs +38 -0
  42. package/dist/createStore/hooks/useStoreSetter.d.ts +5 -0
  43. package/dist/createStore/hooks/useStoreSetter.mjs +11 -0
  44. package/dist/createStore/hooks/useStoreSync.d.ts +7 -0
  45. package/dist/createStore/hooks/useStoreSync.mjs +55 -0
  46. package/dist/createStore/index.d.ts +3 -0
  47. package/dist/createStore/index.mjs +5 -0
  48. package/dist/derived/createDerived.d.ts +10 -0
  49. package/dist/derived/createDerived.mjs +21 -0
  50. package/dist/derived/hooks/useDerived.d.ts +2 -0
  51. package/dist/derived/hooks/useDerived.mjs +7 -0
  52. package/dist/derived/index.d.ts +3 -0
  53. package/dist/derived/index.mjs +3 -0
  54. package/dist/entities/createEntityAdapter.d.ts +32 -0
  55. package/dist/entities/createEntityAdapter.mjs +73 -0
  56. package/dist/entities/index.d.ts +2 -0
  57. package/dist/entities/index.mjs +2 -0
  58. package/dist/helpers/createObservable.d.ts +9 -0
  59. package/dist/helpers/createObservable.mjs +18 -0
  60. package/dist/helpers/getByPath.d.ts +4 -0
  61. package/dist/helpers/getByPath.mjs +40 -0
  62. package/dist/helpers/isPathAffected.d.ts +3 -0
  63. package/dist/helpers/isPathAffected.mjs +4 -0
  64. package/dist/helpers/parsePath.d.ts +2 -0
  65. package/dist/helpers/parsePath.mjs +7 -0
  66. package/dist/helpers/setByPath.d.ts +3 -0
  67. package/dist/helpers/setByPath.mjs +19 -0
  68. package/dist/helpers/shallowEqual.d.ts +2 -0
  69. package/dist/helpers/shallowEqual.mjs +11 -0
  70. package/dist/helpers/useIsomorphicLayoutEffect.d.ts +3 -0
  71. package/dist/helpers/useIsomorphicLayoutEffect.mjs +5 -0
  72. package/dist/history/hooks/useStoreHistory.d.ts +8 -0
  73. package/dist/history/hooks/useStoreHistory.mjs +24 -0
  74. package/dist/history/index.d.ts +4 -0
  75. package/dist/history/index.mjs +3 -0
  76. package/dist/index.d.ts +16 -0
  77. package/dist/index.mjs +21 -0
  78. package/dist/middleware/cascade.d.ts +2 -0
  79. package/dist/middleware/cascade.mjs +4 -0
  80. package/dist/middleware/historyMiddleware.d.ts +28 -0
  81. package/dist/middleware/historyMiddleware.mjs +81 -0
  82. package/dist/middleware/index.d.ts +8 -0
  83. package/dist/middleware/index.mjs +6 -0
  84. package/dist/middleware/loggerMiddleware.d.ts +7 -0
  85. package/dist/middleware/loggerMiddleware.mjs +20 -0
  86. package/dist/middleware/persistMiddleware.d.ts +16 -0
  87. package/dist/middleware/persistMiddleware.mjs +36 -0
  88. package/dist/middleware/reduxDevToolsMiddleware.d.ts +6 -0
  89. package/dist/middleware/reduxDevToolsMiddleware.mjs +26 -0
  90. package/dist/types/StoreTypes.d.ts +143 -0
  91. package/dist/types/StoreTypes.mjs +4 -0
  92. package/dist/types/index.d.ts +1 -0
  93. package/dist/types/index.mjs +2 -0
  94. package/package.json +257 -0
@@ -0,0 +1,16 @@
1
+ import { StoreMiddleware } from '../types';
2
+ export type PersistStorage = {
3
+ getItem: (key: string) => string | null;
4
+ setItem: (key: string, value: string) => void;
5
+ removeItem: (key: string) => void;
6
+ };
7
+ export type PersistOptions<TState extends object> = {
8
+ key: string;
9
+ storage?: PersistStorage;
10
+ partialize?: (state: TState) => Partial<TState>;
11
+ version?: number;
12
+ migrate?: (persisted: unknown, version: number) => Partial<TState>;
13
+ merge?: (persisted: Partial<TState>, current: TState) => Partial<TState>;
14
+ debounce?: number;
15
+ };
16
+ export declare const persistMiddleware: <TState extends object>(options: PersistOptions<TState>) => StoreMiddleware<TState>;
@@ -0,0 +1,36 @@
1
+ //#region src/middleware/persistMiddleware.ts
2
+ var e = {
3
+ getItem: () => null,
4
+ setItem: () => {},
5
+ removeItem: () => {}
6
+ }, t = () => typeof localStorage < "u" ? localStorage : e, n = (e) => {
7
+ let { key: n, storage: i = t(), partialize: a, version: o = 0, migrate: s, merge: c, debounce: l = 0 } = e, u = (e) => {
8
+ let t = e.getState(), r = {
9
+ version: o,
10
+ state: a ? a(t) : t
11
+ };
12
+ i.setItem(n, JSON.stringify(r));
13
+ };
14
+ return (e) => {
15
+ r(e, n, i, o, s, c);
16
+ let t;
17
+ return { onChange: () => {
18
+ if (l <= 0) {
19
+ u(e);
20
+ return;
21
+ }
22
+ clearTimeout(t), t = setTimeout(() => u(e), l);
23
+ } };
24
+ };
25
+ };
26
+ function r(e, t, n, r, i, a) {
27
+ let o = n.getItem(t);
28
+ if (o) try {
29
+ let t = JSON.parse(o), n = t.version !== r && i ? i(t.state, t.version) : t.state;
30
+ e.setState(void 0, a ? a(n, e.getState()) : n);
31
+ } catch {
32
+ n.removeItem(t);
33
+ }
34
+ }
35
+ //#endregion
36
+ export { n as persistMiddleware };
@@ -0,0 +1,6 @@
1
+ import { StoreChange, StoreMiddleware } from '../types';
2
+ export type ReduxDevToolsOptions<TState extends object> = {
3
+ name?: string;
4
+ action?: (change: StoreChange<TState>) => string;
5
+ };
6
+ export declare const reduxDevToolsMiddleware: <TState extends object>(options?: ReduxDevToolsOptions<TState>) => StoreMiddleware<TState>;
@@ -0,0 +1,26 @@
1
+ //#region src/middleware/reduxDevToolsMiddleware.ts
2
+ var e = () => {
3
+ if (!(typeof window > "u")) return window.__REDUX_DEVTOOLS_EXTENSION__;
4
+ }, t = (t = {}) => (n) => {
5
+ let r = e();
6
+ if (!r) return;
7
+ let { name: i = "nexus", action: a } = t, o = r.connect({ name: i });
8
+ o.init(n.getState());
9
+ let s = !1;
10
+ return o.subscribe((e) => {
11
+ if (e.type !== "DISPATCH" || e.state === void 0) return;
12
+ let t = e.payload?.type;
13
+ if (!(t !== "JUMP_TO_STATE" && t !== "JUMP_TO_ACTION" && t !== "ROLLBACK")) {
14
+ s = !0;
15
+ try {
16
+ n.setState(void 0, JSON.parse(e.state));
17
+ } finally {
18
+ s = !1;
19
+ }
20
+ }
21
+ }), { onChange: (e) => {
22
+ s || o.send({ type: a ? a(e) : e.path ?? "SET_STATE" }, n.getState());
23
+ } };
24
+ };
25
+ //#endregion
26
+ export { t as reduxDevToolsMiddleware };
@@ -0,0 +1,143 @@
1
+ import { default as PathTrie } from '../createStore/helpers/PathTrie';
2
+ import { default as Subscribers } from '../createStore/helpers/Subscribers';
3
+ export type Path = string;
4
+ export type Primitive = string | number | boolean | null | undefined | symbol | bigint;
5
+ export type PathOf<T, Seen = never> = T extends Primitive ? never : T extends Seen ? never : {
6
+ [K in keyof T & string]-?: T[K] extends Primitive ? K : T[K] extends Array<infer U> ? K | `${K}.${number}` | `${K}.${number}.${PathOf<U, Seen | T>}` : K | `${K}.${PathOf<T[K], Seen | T>}`;
7
+ }[keyof T & string];
8
+ export type PathValue<T, P> = T extends undefined ? undefined : P extends `${infer K}.${infer Rest}` ? K extends keyof NonNullable<T> ? NonNullable<T>[K] extends Array<infer U> ? Rest extends `${number}.${infer R}` ? PathValue<U, R> : Rest extends `${number}` ? U : never : PathValue<NonNullable<T>[K], Rest> : never : P extends keyof NonNullable<T> ? NonNullable<T>[P] : never;
9
+ export type PathSetter<TState extends object, P extends PathOf<TState>> = (value: PathValue<TState, P> | ((prev: PathValue<TState, P>) => PathValue<TState, P>)) => void;
10
+ export type __NoDefault = {
11
+ __noDefault: true;
12
+ };
13
+ type NumericIndex<I> = I extends `${infer N extends number}` ? N : I extends number ? I : never;
14
+ export type PathValues<TState extends object, Paths extends ReadonlyArray<PathOf<TState>>, DefaultValue = __NoDefault> = {
15
+ [I in keyof Paths]: Paths[I] extends PathOf<TState> ? [DefaultValue] extends [__NoDefault] ? PathValue<TState, Paths[I]> : DefaultValue extends readonly any[] ? NumericIndex<I> extends infer NI ? NI extends keyof DefaultValue ? DefaultValue[NI] extends undefined ? PathValue<TState, Paths[I]> | undefined : NonNullable<PathValue<TState, Paths[I]>> | DefaultValue[NI] : PathValue<TState, Paths[I]> : never : NonNullable<PathValue<TState, Paths[I]>> | DefaultValue : never;
16
+ };
17
+ export type PathSetters<TState extends object, Paths extends ReadonlyArray<PathOf<TState>>> = {
18
+ [I in keyof Paths]: Paths[I] extends PathOf<TState> ? PathSetter<TState, Paths[I]> : never;
19
+ };
20
+ export type SyncMode = 'mount' | 'sync';
21
+ export type StoreHookBaseOptions<TState extends object = object> = {
22
+ store?: StoreApi<TState>;
23
+ storeId?: string;
24
+ };
25
+ export type StoreHookReactiveOptions<T, TState extends object = object> = StoreHookBaseOptions<TState> & {
26
+ mode?: SyncMode;
27
+ enabled?: boolean;
28
+ equalityFn?: (a: T, b: T) => boolean;
29
+ };
30
+ export type StoreChange<T> = {
31
+ path: PathOf<T> | undefined;
32
+ prev: T;
33
+ next: T;
34
+ };
35
+ export type ChangeListener<T> = (change: StoreChange<T>) => void;
36
+ export declare const CANCEL: unique symbol;
37
+ export type WriteContext<T> = {
38
+ path: PathOf<T> | undefined;
39
+ value: unknown;
40
+ prev: unknown;
41
+ };
42
+ export type WriteInterceptor<T> = (context: WriteContext<T>) => unknown;
43
+ export type StoreError<T> = {
44
+ error: unknown;
45
+ phase: 'beforeChange' | 'onChange' | 'notify';
46
+ path: PathOf<T> | undefined;
47
+ };
48
+ export type StoreErrorHandler<T> = (failure: StoreError<T>) => void;
49
+ export type StoreErrorReporter<T> = (error: unknown, phase: StoreError<T>['phase'], path: PathOf<T> | undefined) => void;
50
+ export type StoreMiddlewareHandlers<T> = {
51
+ beforeChange?: WriteInterceptor<T>;
52
+ onChange?: ChangeListener<T>;
53
+ onError?: StoreErrorHandler<T>;
54
+ };
55
+ export type StoreMiddleware<T extends object> = (api: StoreApi<T>) => StoreMiddlewareHandlers<T> | void;
56
+ export type Listener = (changedPath?: Path) => void;
57
+ export type SetState<T> = {
58
+ (path: undefined, value: T | ((prev: T) => T), canPropagate?: boolean): void;
59
+ <P extends PathOf<T>>(path: P, value: PathValue<T, P> | ((prev: PathValue<T, P>) => PathValue<T, P>), canPropagate?: boolean): void;
60
+ };
61
+ export type GetState<T> = () => T;
62
+ export type StoreApi<T> = {
63
+ id?: string;
64
+ getState: GetState<T>;
65
+ getPath: <P extends PathOf<T>>(path: P) => PathValue<T, P> | undefined;
66
+ setState: SetState<T>;
67
+ batch: <R>(fn: () => R) => R;
68
+ subscribe: (listener: Listener) => () => void;
69
+ subscribePath: <P extends PathOf<T>>(path: P, listener: Listener) => () => void;
70
+ subscribeChange: (listener: ChangeListener<T>) => () => void;
71
+ destroy?: () => void;
72
+ reconnect?: () => void;
73
+ subscribeInvalidate?: (listener: () => void) => () => void;
74
+ };
75
+ export type StoreApiInternal<T> = StoreApi<T> & {
76
+ listeners: Subscribers<Listener>;
77
+ pathListeners: PathTrie;
78
+ changeListeners: Subscribers<ChangeListener<T>>;
79
+ interceptors: WriteInterceptor<T>[];
80
+ errorHandlers: StoreErrorHandler<T>[];
81
+ getMergeCount?: () => number;
82
+ };
83
+ export type PathOrFn<TState extends object> = PathOf<TState> | ((state: TState) => PathOf<TState>);
84
+ export type PathOrFnValue<TState extends object, Entry> = Entry extends PathOf<TState> ? PathValue<TState, Entry> : Entry extends (state: TState) => infer P ? P extends PathOf<TState> ? PathValue<TState, P> : unknown : unknown;
85
+ export type PathOrFnValues<TState extends object, Entries extends ReadonlyArray<PathOrFn<TState>>> = {
86
+ [I in keyof Entries]: PathOrFnValue<TState, Entries[I]>;
87
+ };
88
+ export type PathOrFnSetter<TState extends object, Entry> = Entry extends PathOf<TState> ? PathSetter<TState, Entry> : Entry extends (state: TState) => infer P ? P extends PathOf<TState> ? PathSetter<TState, P> : (value: unknown) => void : (value: unknown) => void;
89
+ export type PathOrFnSetters<TState extends object, Entries extends ReadonlyArray<PathOrFn<TState>>> = {
90
+ [I in keyof Entries]: PathOrFnSetter<TState, Entries[I]>;
91
+ };
92
+ export type MultiPathReturn<TState extends object, Paths extends ReadonlyArray<PathOf<TState>>, TDefaultValue = __NoDefault> = [PathValues<TState, Paths, TDefaultValue>, ...PathSetters<TState, Paths>];
93
+ export type UseStoreReturn<TState extends object, TArg> = TArg extends PathOf<TState> ? [PathValue<TState, TArg>, PathSetter<TState, TArg>] : TArg extends (state: TState) => unknown ? [unknown, (value: unknown) => void] : [TState, StoreApi<TState>['setState']];
94
+ export type UseStoreOptions<T, TState extends object = object> = StoreHookReactiveOptions<T, TState> & {
95
+ defaultValue?: NonNullable<T>;
96
+ transformer?: (value: T) => unknown;
97
+ };
98
+ export type UseStoreMultiOptions<TState extends object, Paths extends ReadonlyArray<PathOf<TState>>, TDefaultValue extends readonly (PathValue<TState, Paths[number]> | undefined)[] | PathValue<TState, Paths[number]> | undefined = undefined> = Omit<StoreHookReactiveOptions<never, TState>, 'equalityFn'> & {
99
+ equalityFn?: (a: PathValues<TState, Paths>, b: PathValues<TState, Paths>) => boolean;
100
+ defaultValue?: TDefaultValue;
101
+ transformer?: (values: PathValues<TState, Paths>) => unknown;
102
+ };
103
+ export type UseStoreSyncOptions<T, TState extends object = object> = StoreHookReactiveOptions<T, TState> & {
104
+ syncStrategy?: 'render' | 'afterRender';
105
+ };
106
+ export type UseStoreSyncMultiOptions<TState extends object = object> = Omit<StoreHookReactiveOptions<never, TState>, 'equalityFn'> & {
107
+ syncStrategy?: 'render' | 'afterRender';
108
+ };
109
+ export type GetValueFn<TState extends object> = {
110
+ (): TState;
111
+ <P extends PathOf<TState>>(path: P): PathValue<TState, P>;
112
+ <P extends PathOf<TState>, D>(path: P, defaultValue: D): NonNullable<PathValue<TState, P>> | D;
113
+ <D>(path: undefined, defaultValue: D): NonNullable<TState> | D;
114
+ };
115
+ export type GetValueFromBaseFn<TBase> = TBase extends object ? {
116
+ (): TBase;
117
+ <SubP extends PathOf<TBase>>(path: SubP): PathValue<TBase, SubP>;
118
+ <SubP extends PathOf<TBase>, D>(path: SubP, defaultValue: D): NonNullable<PathValue<TBase, SubP>> | D;
119
+ <D>(path: undefined, defaultValue: D): NonNullable<TBase> | D;
120
+ } : () => TBase;
121
+ export type GetValueFromBaseWithDefaultFn<TBase, D> = TBase extends object ? {
122
+ (): NonNullable<TBase> | D;
123
+ <SubP extends PathOf<NonNullable<TBase>>>(path: SubP): PathValue<NonNullable<TBase>, SubP>;
124
+ <SubP extends PathOf<NonNullable<TBase>>, D2>(path: SubP, defaultValue: D2): NonNullable<PathValue<NonNullable<TBase>, SubP>> | D2;
125
+ <D2>(path: undefined, defaultValue: D2): NonNullable<TBase> | D2;
126
+ } : () => NonNullable<TBase> | D;
127
+ type EntryGetter<TState extends object, Entry> = Entry extends PathOf<TState> ? GetValueFromBaseFn<PathValue<TState, Entry>> : Entry extends (state: TState) => infer R ? R extends object ? GetValueFromBaseFn<R> : () => R : never;
128
+ export type GetterTuple<TState extends object, Entries extends ReadonlyArray<PathOf<TState> | ((state: TState) => unknown)>> = {
129
+ [K in keyof Entries]: EntryGetter<TState, Entries[K]>;
130
+ };
131
+ export type UseStoreGetterOptions<TState extends object = object, D = __NoDefault> = StoreHookBaseOptions<TState> & {
132
+ defaultValue?: D;
133
+ };
134
+ export type SetStateFn<TState extends object> = {
135
+ (path: undefined, value: TState | ((prev: TState) => TState)): void;
136
+ <P extends PathOf<TState>>(path: P, value: PathValue<TState, P> | ((prev: PathValue<TState, P>) => PathValue<TState, P>)): void;
137
+ };
138
+ export type SetFromBaseFn<TBase> = TBase extends object ? {
139
+ (subPath: undefined, value: TBase | ((prev: TBase) => TBase)): void;
140
+ <SubP extends PathOf<TBase>>(subPath: SubP, value: PathValue<TBase, SubP> | ((prev: PathValue<TBase, SubP>) => PathValue<TBase, SubP>)): void;
141
+ } : (subPath: undefined, value: TBase) => void;
142
+ export type UseStoreSetterOptions<TState extends object = object> = StoreHookBaseOptions<TState>;
143
+ export {};
@@ -0,0 +1,4 @@
1
+ //#region src/types/StoreTypes.ts
2
+ var e = Symbol("@plitzi/nexus/cancel");
3
+ //#endregion
4
+ export { e as CANCEL };
@@ -0,0 +1 @@
1
+ export * from './StoreTypes';
@@ -0,0 +1,2 @@
1
+ import { CANCEL as e } from "./StoreTypes.mjs";
2
+ export { e as CANCEL };
package/package.json ADDED
@@ -0,0 +1,257 @@
1
+ {
2
+ "name": "@plitzi/nexus",
3
+ "version": "0.31.1",
4
+ "license": "Apache-2.0",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "main": "dist/index.js",
9
+ "module": "dist/index.js",
10
+ "types": "dist/index.d.ts",
11
+ "scripts": {
12
+ "lint": "eslint ./src",
13
+ "typecheck": "tsc -p tsconfig.app.json --noEmit",
14
+ "test": "vitest run",
15
+ "test:coverage": "vitest --coverage",
16
+ "test:watch": "vitest",
17
+ "test:ui": "vitest --ui",
18
+ "build:dev": "vite build --mode development --minify false && node ../sdk-shared/scripts/generate-exports.mjs",
19
+ "build:dev-watch": "vite build --mode development --watch --minify false",
20
+ "build:prod": "vite build && node ../sdk-shared/scripts/generate-exports.mjs"
21
+ },
22
+ "type": "module",
23
+ "sideEffects": false,
24
+ "devDependencies": {
25
+ "eslint": "^9.39.4",
26
+ "react": "^19.2.6",
27
+ "react-dom": "^19.2.6",
28
+ "typescript": "^6.0.3",
29
+ "vite": "^8.0.14",
30
+ "vitest": "^4.1.7"
31
+ },
32
+ "peerDependencies": {
33
+ "react": "^18.0.0 || ^19.0.0",
34
+ "react-dom": "^18.0.0 || ^19.0.0"
35
+ },
36
+ "exports": {
37
+ ".": {
38
+ "types": "./dist/index.d.ts",
39
+ "import": "./dist/index.mjs"
40
+ },
41
+ "./StoreContext": {
42
+ "types": "./dist/StoreContext.d.ts",
43
+ "import": "./dist/StoreContext.mjs"
44
+ },
45
+ "./StoreProvider": {
46
+ "types": "./dist/StoreProvider.d.ts",
47
+ "import": "./dist/StoreProvider.mjs"
48
+ },
49
+ "./async": {
50
+ "types": "./dist/async/index.d.ts",
51
+ "import": "./dist/async/index.mjs"
52
+ },
53
+ "./async/createAsync": {
54
+ "types": "./dist/async/createAsync.d.ts",
55
+ "import": "./dist/async/createAsync.mjs"
56
+ },
57
+ "./async/hooks/useAsync": {
58
+ "types": "./dist/async/hooks/useAsync.d.ts",
59
+ "import": "./dist/async/hooks/useAsync.mjs"
60
+ },
61
+ "./async/hooks/useAsyncValue": {
62
+ "types": "./dist/async/hooks/useAsyncValue.d.ts",
63
+ "import": "./dist/async/hooks/useAsyncValue.mjs"
64
+ },
65
+ "./async/index": {
66
+ "types": "./dist/async/index.d.ts",
67
+ "import": "./dist/async/index.mjs"
68
+ },
69
+ "./createStore": {
70
+ "types": "./dist/createStore/index.d.ts",
71
+ "import": "./dist/createStore/index.mjs"
72
+ },
73
+ "./createStore/createStore": {
74
+ "types": "./dist/createStore/createStore.d.ts",
75
+ "import": "./dist/createStore/createStore.mjs"
76
+ },
77
+ "./createStore/helpers/PathTrie": {
78
+ "types": "./dist/createStore/helpers/PathTrie.d.ts",
79
+ "import": "./dist/createStore/helpers/PathTrie.mjs"
80
+ },
81
+ "./createStore/helpers/Subscribers": {
82
+ "types": "./dist/createStore/helpers/Subscribers.d.ts",
83
+ "import": "./dist/createStore/helpers/Subscribers.mjs"
84
+ },
85
+ "./createStore/helpers/createChainReads": {
86
+ "types": "./dist/createStore/helpers/createChainReads.d.ts",
87
+ "import": "./dist/createStore/helpers/createChainReads.mjs"
88
+ },
89
+ "./createStore/helpers/createGetPath": {
90
+ "types": "./dist/createStore/helpers/createGetPath.d.ts",
91
+ "import": "./dist/createStore/helpers/createGetPath.mjs"
92
+ },
93
+ "./createStore/helpers/createGetState": {
94
+ "types": "./dist/createStore/helpers/createGetState.d.ts",
95
+ "import": "./dist/createStore/helpers/createGetState.mjs"
96
+ },
97
+ "./createStore/helpers/createSetState": {
98
+ "types": "./dist/createStore/helpers/createSetState.d.ts",
99
+ "import": "./dist/createStore/helpers/createSetState.mjs"
100
+ },
101
+ "./createStore/helpers/deepMerge": {
102
+ "types": "./dist/createStore/helpers/deepMerge.d.ts",
103
+ "import": "./dist/createStore/helpers/deepMerge.mjs"
104
+ },
105
+ "./createStore/helpers/forwardParentChanges": {
106
+ "types": "./dist/createStore/helpers/forwardParentChanges.d.ts",
107
+ "import": "./dist/createStore/helpers/forwardParentChanges.mjs"
108
+ },
109
+ "./createStore/helpers/scopeCollisions": {
110
+ "types": "./dist/createStore/helpers/scopeCollisions.d.ts",
111
+ "import": "./dist/createStore/helpers/scopeCollisions.mjs"
112
+ },
113
+ "./createStore/helpers/writeByPath": {
114
+ "types": "./dist/createStore/helpers/writeByPath.d.ts",
115
+ "import": "./dist/createStore/helpers/writeByPath.mjs"
116
+ },
117
+ "./createStore/hooks/shared": {
118
+ "types": "./dist/createStore/hooks/shared.d.ts",
119
+ "import": "./dist/createStore/hooks/shared.mjs"
120
+ },
121
+ "./createStore/hooks/useStore": {
122
+ "types": "./dist/createStore/hooks/useStore.d.ts",
123
+ "import": "./dist/createStore/hooks/useStore.mjs"
124
+ },
125
+ "./createStore/hooks/useStoreById": {
126
+ "types": "./dist/createStore/hooks/useStoreById.d.ts",
127
+ "import": "./dist/createStore/hooks/useStoreById.mjs"
128
+ },
129
+ "./createStore/hooks/useStoreGetter": {
130
+ "types": "./dist/createStore/hooks/useStoreGetter.d.ts",
131
+ "import": "./dist/createStore/hooks/useStoreGetter.mjs"
132
+ },
133
+ "./createStore/hooks/useStoreSetter": {
134
+ "types": "./dist/createStore/hooks/useStoreSetter.d.ts",
135
+ "import": "./dist/createStore/hooks/useStoreSetter.mjs"
136
+ },
137
+ "./createStore/hooks/useStoreSync": {
138
+ "types": "./dist/createStore/hooks/useStoreSync.d.ts",
139
+ "import": "./dist/createStore/hooks/useStoreSync.mjs"
140
+ },
141
+ "./createStore/index": {
142
+ "types": "./dist/createStore/index.d.ts",
143
+ "import": "./dist/createStore/index.mjs"
144
+ },
145
+ "./derived": {
146
+ "types": "./dist/derived/index.d.ts",
147
+ "import": "./dist/derived/index.mjs"
148
+ },
149
+ "./derived/createDerived": {
150
+ "types": "./dist/derived/createDerived.d.ts",
151
+ "import": "./dist/derived/createDerived.mjs"
152
+ },
153
+ "./derived/hooks/useDerived": {
154
+ "types": "./dist/derived/hooks/useDerived.d.ts",
155
+ "import": "./dist/derived/hooks/useDerived.mjs"
156
+ },
157
+ "./derived/index": {
158
+ "types": "./dist/derived/index.d.ts",
159
+ "import": "./dist/derived/index.mjs"
160
+ },
161
+ "./entities": {
162
+ "types": "./dist/entities/index.d.ts",
163
+ "import": "./dist/entities/index.mjs"
164
+ },
165
+ "./entities/createEntityAdapter": {
166
+ "types": "./dist/entities/createEntityAdapter.d.ts",
167
+ "import": "./dist/entities/createEntityAdapter.mjs"
168
+ },
169
+ "./entities/index": {
170
+ "types": "./dist/entities/index.d.ts",
171
+ "import": "./dist/entities/index.mjs"
172
+ },
173
+ "./helpers/createObservable": {
174
+ "types": "./dist/helpers/createObservable.d.ts",
175
+ "import": "./dist/helpers/createObservable.mjs"
176
+ },
177
+ "./helpers/getByPath": {
178
+ "types": "./dist/helpers/getByPath.d.ts",
179
+ "import": "./dist/helpers/getByPath.mjs"
180
+ },
181
+ "./helpers/isPathAffected": {
182
+ "types": "./dist/helpers/isPathAffected.d.ts",
183
+ "import": "./dist/helpers/isPathAffected.mjs"
184
+ },
185
+ "./helpers/parsePath": {
186
+ "types": "./dist/helpers/parsePath.d.ts",
187
+ "import": "./dist/helpers/parsePath.mjs"
188
+ },
189
+ "./helpers/setByPath": {
190
+ "types": "./dist/helpers/setByPath.d.ts",
191
+ "import": "./dist/helpers/setByPath.mjs"
192
+ },
193
+ "./helpers/shallowEqual": {
194
+ "types": "./dist/helpers/shallowEqual.d.ts",
195
+ "import": "./dist/helpers/shallowEqual.mjs"
196
+ },
197
+ "./helpers/useIsomorphicLayoutEffect": {
198
+ "types": "./dist/helpers/useIsomorphicLayoutEffect.d.ts",
199
+ "import": "./dist/helpers/useIsomorphicLayoutEffect.mjs"
200
+ },
201
+ "./history": {
202
+ "types": "./dist/history/index.d.ts",
203
+ "import": "./dist/history/index.mjs"
204
+ },
205
+ "./history/hooks/useStoreHistory": {
206
+ "types": "./dist/history/hooks/useStoreHistory.d.ts",
207
+ "import": "./dist/history/hooks/useStoreHistory.mjs"
208
+ },
209
+ "./history/index": {
210
+ "types": "./dist/history/index.d.ts",
211
+ "import": "./dist/history/index.mjs"
212
+ },
213
+ "./index": {
214
+ "types": "./dist/index.d.ts",
215
+ "import": "./dist/index.mjs"
216
+ },
217
+ "./middleware": {
218
+ "types": "./dist/middleware/index.d.ts",
219
+ "import": "./dist/middleware/index.mjs"
220
+ },
221
+ "./middleware/cascade": {
222
+ "types": "./dist/middleware/cascade.d.ts",
223
+ "import": "./dist/middleware/cascade.mjs"
224
+ },
225
+ "./middleware/historyMiddleware": {
226
+ "types": "./dist/middleware/historyMiddleware.d.ts",
227
+ "import": "./dist/middleware/historyMiddleware.mjs"
228
+ },
229
+ "./middleware/index": {
230
+ "types": "./dist/middleware/index.d.ts",
231
+ "import": "./dist/middleware/index.mjs"
232
+ },
233
+ "./middleware/loggerMiddleware": {
234
+ "types": "./dist/middleware/loggerMiddleware.d.ts",
235
+ "import": "./dist/middleware/loggerMiddleware.mjs"
236
+ },
237
+ "./middleware/persistMiddleware": {
238
+ "types": "./dist/middleware/persistMiddleware.d.ts",
239
+ "import": "./dist/middleware/persistMiddleware.mjs"
240
+ },
241
+ "./middleware/reduxDevToolsMiddleware": {
242
+ "types": "./dist/middleware/reduxDevToolsMiddleware.d.ts",
243
+ "import": "./dist/middleware/reduxDevToolsMiddleware.mjs"
244
+ },
245
+ "./types": {
246
+ "types": "./dist/types/index.d.ts",
247
+ "import": "./dist/types/index.mjs"
248
+ },
249
+ "./types/StoreTypes": {
250
+ "import": "./dist/types/StoreTypes.mjs"
251
+ },
252
+ "./types/index": {
253
+ "types": "./dist/types/index.d.ts",
254
+ "import": "./dist/types/index.mjs"
255
+ }
256
+ }
257
+ }