@plitzi/nexus 0.32.1 → 0.32.3
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/CHANGELOG.md +39 -0
- package/README.md +181 -22
- package/dist/advanced/index.d.ts +0 -2
- package/dist/advanced/index.mjs +10 -16
- package/dist/async/index.d.ts +0 -2
- package/dist/async/index.mjs +1 -3
- package/dist/createStore/createStore.d.ts +3 -43
- package/dist/createStore/createStore.mjs +73 -97
- package/dist/createStore/helpers/PathTrie.mjs +14 -14
- package/dist/createStore/helpers/createChainReads.d.ts +1 -1
- package/dist/createStore/helpers/createChainReads.mjs +26 -17
- package/dist/createStore/helpers/createSetState.mjs +11 -9
- package/dist/createStore/helpers/forwardParentChanges.mjs +16 -13
- package/dist/createStore/index.mjs +3 -3
- package/dist/derived/index.d.ts +0 -1
- package/dist/derived/index.mjs +1 -2
- package/dist/entities/createEntityStore.d.ts +0 -3
- package/dist/entities/createEntityStore.mjs +71 -78
- package/dist/env.d.ts +4 -0
- package/dist/env.mjs +3 -0
- package/dist/history/index.d.ts +0 -2
- package/dist/history/index.mjs +1 -2
- package/dist/index.d.ts +23 -16
- package/dist/index.mjs +15 -23
- package/dist/middleware/historyMiddleware.mjs +31 -31
- package/dist/middleware/persistMiddleware.mjs +11 -11
- package/dist/middleware/recorderMiddleware.d.ts +21 -0
- package/dist/middleware/recorderMiddleware.mjs +33 -0
- package/dist/{StoreContext.d.ts → react/StoreContext.d.ts} +1 -1
- package/dist/{StoreContext.mjs → react/StoreContext.mjs} +1 -1
- package/dist/{StoreProvider.d.ts → react/StoreProvider.d.ts} +4 -2
- package/dist/react/StoreProvider.mjs +62 -0
- package/dist/react/createStoreHook.d.ts +44 -0
- package/dist/react/createStoreHook.mjs +27 -0
- package/dist/{createStore → react}/hooks/shared.mjs +2 -2
- package/dist/{async → react}/hooks/useAsync.d.ts +1 -1
- package/dist/{async → react}/hooks/useAsync.mjs +1 -1
- package/dist/{async → react}/hooks/useAsyncValue.d.ts +1 -1
- package/dist/{async → react}/hooks/useAsyncValue.mjs +1 -1
- package/dist/{derived → react}/hooks/useDerived.d.ts +1 -1
- package/dist/{derived → react}/hooks/useDerived.mjs +1 -1
- package/dist/react/hooks/useEntity.d.ts +10 -0
- package/dist/react/hooks/useEntity.mjs +23 -0
- package/dist/{createStore → react}/hooks/useStore.mjs +2 -2
- package/dist/{createStore → react}/hooks/useStoreById.mjs +2 -2
- package/dist/{createStore → react}/hooks/useStoreGetter.mjs +1 -1
- package/dist/react/hooks/useStoreHistory.mjs +29 -0
- package/dist/{createStore → react}/hooks/useStoreSetter.mjs +1 -1
- package/dist/{createStore → react}/hooks/useStoreSync.mjs +2 -2
- package/dist/react/index.d.ts +17 -0
- package/dist/react/index.mjs +16 -0
- package/dist/{helpers → react}/useIsomorphicLayoutEffect.mjs +1 -1
- package/dist/types/StoreTypes.d.ts +3 -0
- package/dist/vue/index.d.ts +8 -0
- package/dist/vue/index.mjs +7 -0
- package/dist/vue/injection.d.ts +3 -0
- package/dist/vue/injection.mjs +13 -0
- package/dist/vue/useAsync.d.ts +3 -0
- package/dist/vue/useAsync.mjs +10 -0
- package/dist/vue/useDerived.d.ts +3 -0
- package/dist/vue/useDerived.mjs +10 -0
- package/dist/vue/useEntity.d.ts +11 -0
- package/dist/vue/useEntity.mjs +29 -0
- package/dist/vue/useStore.d.ts +13 -0
- package/dist/vue/useStore.mjs +31 -0
- package/dist/vue/useStoreHistory.d.ts +12 -0
- package/dist/vue/useStoreHistory.mjs +33 -0
- package/logo.svg +77 -22
- package/package.json +127 -58
- package/dist/StoreProvider.mjs +0 -57
- package/dist/history/hooks/useStoreHistory.mjs +0 -24
- /package/dist/{createStore → react}/hooks/shared.d.ts +0 -0
- /package/dist/{createStore → react}/hooks/useStore.d.ts +0 -0
- /package/dist/{createStore → react}/hooks/useStoreById.d.ts +0 -0
- /package/dist/{createStore → react}/hooks/useStoreGetter.d.ts +0 -0
- /package/dist/{history → react}/hooks/useStoreHistory.d.ts +0 -0
- /package/dist/{createStore → react}/hooks/useStoreSetter.d.ts +0 -0
- /package/dist/{createStore → react}/hooks/useStoreSync.d.ts +0 -0
- /package/dist/{helpers → react}/useIsomorphicLayoutEffect.d.ts +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "
|
|
2
|
-
import t from "
|
|
1
|
+
import e from "./Subscribers.mjs";
|
|
2
|
+
import t from "../../helpers/parsePath.mjs";
|
|
3
3
|
//#region src/createStore/helpers/PathTrie.ts
|
|
4
4
|
var n = class {
|
|
5
5
|
subscribers = null;
|
|
@@ -10,16 +10,16 @@ var n = class {
|
|
|
10
10
|
root = new n();
|
|
11
11
|
size = 0;
|
|
12
12
|
add(r, i) {
|
|
13
|
-
let a =
|
|
13
|
+
let a = t(r), o = this.direct.get(r);
|
|
14
14
|
if (!o) {
|
|
15
|
-
o = new
|
|
16
|
-
let
|
|
17
|
-
for (let
|
|
18
|
-
|
|
19
|
-
let r =
|
|
20
|
-
r || (r = new n(),
|
|
15
|
+
o = new e(), this.direct.set(r, o);
|
|
16
|
+
let t = this.root;
|
|
17
|
+
for (let e of a) {
|
|
18
|
+
t.children ||= /* @__PURE__ */ new Map();
|
|
19
|
+
let r = t.children.get(e);
|
|
20
|
+
r || (r = new n(), t.children.set(e, r)), t = r;
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
t.subscribers = o, this.size++;
|
|
23
23
|
let i = "";
|
|
24
24
|
for (let e = 0; e < a.length - 1; e++) {
|
|
25
25
|
i = i ? `${i}.${a[e]}` : a[e];
|
|
@@ -59,16 +59,16 @@ var n = class {
|
|
|
59
59
|
getDescendants(e) {
|
|
60
60
|
return this.descendants.get(e);
|
|
61
61
|
}
|
|
62
|
-
forEachAffected(
|
|
62
|
+
forEachAffected(e, n, r) {
|
|
63
63
|
let i = (e) => {
|
|
64
64
|
e && e.forEach(n, r);
|
|
65
65
|
};
|
|
66
|
-
if (typeof
|
|
66
|
+
if (typeof e != "string") {
|
|
67
67
|
this.direct.forEach(i);
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
let a = e
|
|
71
|
-
this.walkAncestors(a, i), this.descendants.get(
|
|
70
|
+
let a = t(e);
|
|
71
|
+
this.walkAncestors(a, i), this.descendants.get(e)?.forEach((e) => i(this.direct.get(e)));
|
|
72
72
|
}
|
|
73
73
|
clear() {
|
|
74
74
|
this.direct.clear(), this.descendants.clear(), this.root.children = null, this.root.subscribers = null, this.size = 0;
|
|
@@ -7,4 +7,4 @@ export type ChainReads<TState extends object> = {
|
|
|
7
7
|
resetCache: () => void;
|
|
8
8
|
getMergeCount: () => number;
|
|
9
9
|
};
|
|
10
|
-
export declare function createChainReads<TState extends object>(getOwnState: () => TState, getOwnSnapshot: () => TState, parent: StoreApi<TState> | undefined): ChainReads<TState>;
|
|
10
|
+
export declare function createChainReads<TState extends object>(getOwnState: () => TState, getOwnSnapshot: () => TState, parent: StoreApi<TState> | undefined, exclusive?: ReadonlyArray<string>): ChainReads<TState>;
|
|
@@ -1,35 +1,44 @@
|
|
|
1
|
-
import e from "
|
|
2
|
-
import
|
|
1
|
+
import { deepMerge as e, isPlainObject as t } from "./deepMerge.mjs";
|
|
2
|
+
import n from "../../helpers/getByPath.mjs";
|
|
3
3
|
//#region src/createStore/helpers/createChainReads.ts
|
|
4
|
-
function r(r, i, a) {
|
|
4
|
+
function r(r, i, a, o) {
|
|
5
5
|
if (!a) return {
|
|
6
6
|
getState: i,
|
|
7
|
-
getPath: (
|
|
7
|
+
getPath: (e) => n(r(), e),
|
|
8
8
|
invalidate: () => {},
|
|
9
9
|
resetCache: () => {},
|
|
10
10
|
getMergeCount: () => 0
|
|
11
11
|
};
|
|
12
|
-
let
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
let
|
|
16
|
-
return
|
|
12
|
+
let s = a, c = o && o.length > 0 ? new Set(o) : void 0, l = !0, u = !1, d, f = 0, p = /* @__PURE__ */ new Map(), m = () => {
|
|
13
|
+
f++;
|
|
14
|
+
let t = i(), n = e(s.getState(), t);
|
|
15
|
+
if (c) for (let e of c) t[e] !== void 0 && (n[e] = t[e]);
|
|
16
|
+
return n;
|
|
17
|
+
}, h = () => ((l || d === void 0) && (d = m(), l = !1), d), g = (e) => {
|
|
18
|
+
if (c) {
|
|
19
|
+
let t = e.indexOf("."), i = t === -1 ? e : e.slice(0, t);
|
|
20
|
+
if (c.has(i) && r()[i] !== void 0) return n(r(), e);
|
|
21
|
+
}
|
|
22
|
+
let i = n(r(), e);
|
|
23
|
+
if (i === void 0) return s.getPath(e);
|
|
24
|
+
let a = s.getPath(e);
|
|
25
|
+
return a === void 0 || !t(i) || !t(a) ? i : n(h(), e);
|
|
17
26
|
};
|
|
18
27
|
return {
|
|
19
|
-
getState:
|
|
28
|
+
getState: h,
|
|
20
29
|
getPath: (e) => {
|
|
21
|
-
if (
|
|
22
|
-
else if (
|
|
23
|
-
let t =
|
|
24
|
-
return
|
|
30
|
+
if (u) p.clear(), u = !1;
|
|
31
|
+
else if (p.has(e)) return p.get(e);
|
|
32
|
+
let t = g(e);
|
|
33
|
+
return p.set(e, t), t;
|
|
25
34
|
},
|
|
26
35
|
invalidate: () => {
|
|
27
|
-
|
|
36
|
+
l = !0, u = !0;
|
|
28
37
|
},
|
|
29
38
|
resetCache: () => {
|
|
30
|
-
|
|
39
|
+
p.clear(), d = void 0, l = !0, u = !1;
|
|
31
40
|
},
|
|
32
|
-
getMergeCount: () =>
|
|
41
|
+
getMergeCount: () => f
|
|
33
42
|
};
|
|
34
43
|
}
|
|
35
44
|
//#endregion
|
|
@@ -65,15 +65,17 @@ function u(u) {
|
|
|
65
65
|
t !== o && b(t, "notify", void 0);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
}, O = (e,
|
|
69
|
-
let
|
|
68
|
+
}, O = (e, n, r) => {
|
|
69
|
+
let i = {
|
|
70
70
|
path: e,
|
|
71
|
-
prev:
|
|
72
|
-
next:
|
|
73
|
-
|
|
71
|
+
prev: n,
|
|
72
|
+
next: r,
|
|
73
|
+
prevValue: e === void 0 ? n : t(n, e),
|
|
74
|
+
nextValue: e === void 0 ? r : t(r, e)
|
|
75
|
+
}, { items: a } = v;
|
|
74
76
|
v.begin();
|
|
75
77
|
try {
|
|
76
|
-
let t = s(
|
|
78
|
+
let t = s(a, i, a.length);
|
|
77
79
|
t !== o && b(t, "onChange", e);
|
|
78
80
|
} finally {
|
|
79
81
|
v.end();
|
|
@@ -139,9 +141,9 @@ function u(u) {
|
|
|
139
141
|
}
|
|
140
142
|
let b = e(i), w;
|
|
141
143
|
if (y.length > 0) {
|
|
142
|
-
let e = t(u, i), n =
|
|
143
|
-
if (
|
|
144
|
-
w = r(u, i, b,
|
|
144
|
+
let e = t(u, i), n = typeof o == "function" ? o(e) : o, s = C(i, n, e);
|
|
145
|
+
if (s === a) return;
|
|
146
|
+
w = r(u, i, b, s, !1);
|
|
145
147
|
} else w = r(u, i, b, o, typeof o == "function");
|
|
146
148
|
if (w === n) return;
|
|
147
149
|
let T = w;
|
|
@@ -1,23 +1,26 @@
|
|
|
1
|
+
import e from "../../helpers/getByPath.mjs";
|
|
1
2
|
//#region src/createStore/helpers/forwardParentChanges.ts
|
|
2
|
-
function
|
|
3
|
-
let
|
|
3
|
+
function t(t, n, r, i, a, o, s) {
|
|
4
|
+
let c;
|
|
4
5
|
return {
|
|
5
|
-
unsubscribe:
|
|
6
|
-
|
|
7
|
-
let
|
|
8
|
-
if (
|
|
9
|
-
let
|
|
10
|
-
path:
|
|
11
|
-
prev:
|
|
12
|
-
next:
|
|
6
|
+
unsubscribe: t.subscribe((t) => {
|
|
7
|
+
s();
|
|
8
|
+
let l = t;
|
|
9
|
+
if (n.forEach((e) => e(t), (e) => o(e, "notify", l)), r.size > 0 && r.forEachAffected(t, (e) => e(t), (e) => o(e, "notify", l)), i.length > 0) {
|
|
10
|
+
let t = a(), n = c ?? t, r = {
|
|
11
|
+
path: l,
|
|
12
|
+
prev: n,
|
|
13
|
+
next: t,
|
|
14
|
+
prevValue: l === void 0 ? n : e(n, l),
|
|
15
|
+
nextValue: l === void 0 ? t : e(t, l)
|
|
13
16
|
};
|
|
14
|
-
|
|
17
|
+
c = t, i.forEach((e) => e(r), (e) => o(e, "onChange", l));
|
|
15
18
|
}
|
|
16
19
|
}),
|
|
17
20
|
seedBaseline: () => {
|
|
18
|
-
|
|
21
|
+
c ??= a();
|
|
19
22
|
}
|
|
20
23
|
};
|
|
21
24
|
}
|
|
22
25
|
//#endregion
|
|
23
|
-
export {
|
|
26
|
+
export { t as forwardParentChanges };
|
package/dist/derived/index.d.ts
CHANGED
package/dist/derived/index.mjs
CHANGED
|
@@ -30,9 +30,6 @@ export type EntityStore<T> = {
|
|
|
30
30
|
subscribeOne: (id: EntityId, listener: EntityChangeListener) => () => void;
|
|
31
31
|
subscribeIds: (listener: EntityChangeListener) => () => void;
|
|
32
32
|
subscribeAll: (listener: EntityChangeListener) => () => void;
|
|
33
|
-
useOne: (id: EntityId) => T | undefined;
|
|
34
|
-
useIds: () => string[];
|
|
35
|
-
useAll: () => T[];
|
|
36
33
|
destroy: () => void;
|
|
37
34
|
};
|
|
38
35
|
export declare function createEntityStore<T>(initialEntities?: readonly T[], options?: EntityStoreOptions<T>): EntityStore<T>;
|
|
@@ -1,102 +1,95 @@
|
|
|
1
1
|
import e from "../createStore/helpers/Subscribers.mjs";
|
|
2
|
-
import { useCallback as t, useSyncExternalStore as n } from "react";
|
|
3
2
|
//#region src/entities/createEntityStore.ts
|
|
4
|
-
function
|
|
5
|
-
let
|
|
6
|
-
for (let e of
|
|
7
|
-
let
|
|
3
|
+
function t(t = [], n = {}) {
|
|
4
|
+
let r = n.selectId ?? ((e) => e.id), i = n.sortComparer, a = (e) => String(r(e)), o = /* @__PURE__ */ new Map();
|
|
5
|
+
for (let e of t) o.set(a(e), e);
|
|
6
|
+
let s = /* @__PURE__ */ new Map(), c = new e(), l = new e(), u, d, f = 0, p = /* @__PURE__ */ new Set(), m = !1, h = !1, g = (e) => {
|
|
8
7
|
e && e.length > 0 && e.forEach((e) => e());
|
|
9
|
-
},
|
|
10
|
-
if (t && (
|
|
11
|
-
|
|
8
|
+
}, _ = (e, t) => {
|
|
9
|
+
if (t && (u = void 0), d = void 0, f > 0) {
|
|
10
|
+
p.add(e), m ||= t, h = !0;
|
|
12
11
|
return;
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
let e = [...
|
|
17
|
-
|
|
18
|
-
for (let t of e)
|
|
19
|
-
t &&
|
|
20
|
-
},
|
|
21
|
-
|
|
13
|
+
g(s.get(e)), t && g(c), g(l);
|
|
14
|
+
}, v = () => {
|
|
15
|
+
let e = [...p], t = m, n = h;
|
|
16
|
+
p.clear(), m = !1, h = !1;
|
|
17
|
+
for (let t of e) g(s.get(t));
|
|
18
|
+
t && g(c), n && g(l);
|
|
19
|
+
}, y = (e) => {
|
|
20
|
+
f++;
|
|
22
21
|
try {
|
|
23
22
|
e();
|
|
24
23
|
} finally {
|
|
25
|
-
|
|
24
|
+
f--, f === 0 && h && v();
|
|
26
25
|
}
|
|
27
|
-
},
|
|
28
|
-
let r =
|
|
29
|
-
if (t && !
|
|
30
|
-
let
|
|
26
|
+
}, b = (e, t, n) => {
|
|
27
|
+
let r = a(e), i = o.get(r), s = i === void 0;
|
|
28
|
+
if (t && !s) return;
|
|
29
|
+
let c = n && !s ? {
|
|
31
30
|
...i,
|
|
32
31
|
...e
|
|
33
32
|
} : e;
|
|
34
|
-
|
|
33
|
+
c !== i && (o.set(r, c), _(r, s));
|
|
34
|
+
}, x = (e) => {
|
|
35
|
+
b(e, !1, !1);
|
|
36
|
+
}, S = (e) => {
|
|
37
|
+
b(e, !0, !1);
|
|
35
38
|
}, C = (e) => {
|
|
36
|
-
|
|
37
|
-
}, w = (e) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
S(e, !1, !0);
|
|
41
|
-
}, E = (e, t) => {
|
|
42
|
-
let n = String(e), r = c.get(n);
|
|
43
|
-
r !== void 0 && (c.set(n, {
|
|
39
|
+
b(e, !1, !0);
|
|
40
|
+
}, w = (e, t) => {
|
|
41
|
+
let n = String(e), r = o.get(n);
|
|
42
|
+
r !== void 0 && (o.set(n, {
|
|
44
43
|
...r,
|
|
45
44
|
...t
|
|
46
|
-
}),
|
|
47
|
-
},
|
|
45
|
+
}), _(n, !1));
|
|
46
|
+
}, T = (e) => {
|
|
48
47
|
let t = String(e);
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
if (p === void 0) {
|
|
52
|
-
let e = [...c.values()];
|
|
53
|
-
p = o ? e.sort(o) : e;
|
|
54
|
-
}
|
|
55
|
-
return p;
|
|
56
|
-
}, j = (t, n) => {
|
|
57
|
-
let r = String(t), i = l.get(r);
|
|
58
|
-
i || (i = new e(), l.set(r, i));
|
|
59
|
-
let a = i, o = a.add(n);
|
|
60
|
-
return () => {
|
|
61
|
-
o(), a.length === 0 && l.get(r) === a && l.delete(r);
|
|
62
|
-
};
|
|
63
|
-
}, M = (e) => u.add(e), N = (e) => d.add(e);
|
|
48
|
+
o.has(t) && (o.delete(t), _(t, !0));
|
|
49
|
+
};
|
|
64
50
|
return {
|
|
65
|
-
selectId:
|
|
66
|
-
getOne:
|
|
67
|
-
getIds:
|
|
68
|
-
getAll:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
51
|
+
selectId: r,
|
|
52
|
+
getOne: (e) => o.get(String(e)),
|
|
53
|
+
getIds: () => u ??= [...o.keys()],
|
|
54
|
+
getAll: () => {
|
|
55
|
+
if (d === void 0) {
|
|
56
|
+
let e = [...o.values()];
|
|
57
|
+
d = i ? e.sort(i) : e;
|
|
58
|
+
}
|
|
59
|
+
return d;
|
|
60
|
+
},
|
|
61
|
+
has: (e) => o.has(String(e)),
|
|
62
|
+
size: () => o.size,
|
|
63
|
+
setOne: x,
|
|
64
|
+
setMany: (e) => y(() => e.forEach(x)),
|
|
65
|
+
setAll: (e) => y(() => {
|
|
66
|
+
for (let e of [...o.keys()]) T(e);
|
|
67
|
+
e.forEach(x);
|
|
76
68
|
}),
|
|
77
|
-
addOne:
|
|
78
|
-
addMany: (e) =>
|
|
79
|
-
upsertOne:
|
|
80
|
-
upsertMany: (e) =>
|
|
81
|
-
updateOne:
|
|
82
|
-
updateMany: (e) =>
|
|
83
|
-
removeOne:
|
|
84
|
-
removeMany: (e) =>
|
|
85
|
-
removeAll: () =>
|
|
86
|
-
batch:
|
|
87
|
-
subscribeOne:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
69
|
+
addOne: S,
|
|
70
|
+
addMany: (e) => y(() => e.forEach(S)),
|
|
71
|
+
upsertOne: C,
|
|
72
|
+
upsertMany: (e) => y(() => e.forEach(C)),
|
|
73
|
+
updateOne: w,
|
|
74
|
+
updateMany: (e) => y(() => e.forEach(({ id: e, changes: t }) => w(e, t))),
|
|
75
|
+
removeOne: T,
|
|
76
|
+
removeMany: (e) => y(() => e.forEach(T)),
|
|
77
|
+
removeAll: () => y(() => [...o.keys()].forEach(T)),
|
|
78
|
+
batch: y,
|
|
79
|
+
subscribeOne: (t, n) => {
|
|
80
|
+
let r = String(t), i = s.get(r);
|
|
81
|
+
i || (i = new e(), s.set(r, i));
|
|
82
|
+
let a = i, o = a.add(n);
|
|
83
|
+
return () => {
|
|
84
|
+
o(), a.length === 0 && s.get(r) === a && s.delete(r);
|
|
85
|
+
};
|
|
93
86
|
},
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
subscribeIds: (e) => c.add(e),
|
|
88
|
+
subscribeAll: (e) => l.add(e),
|
|
96
89
|
destroy: () => {
|
|
97
|
-
|
|
90
|
+
o.clear(), s.clear(), c.clear(), l.clear(), u = void 0, d = void 0;
|
|
98
91
|
}
|
|
99
92
|
};
|
|
100
93
|
}
|
|
101
94
|
//#endregion
|
|
102
|
-
export {
|
|
95
|
+
export { t as createEntityStore };
|
package/dist/env.d.ts
ADDED
package/dist/env.mjs
ADDED
package/dist/history/index.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
export { getStoreHistory } from '../middleware/historyMiddleware';
|
|
2
|
-
export { useStoreHistory } from './hooks/useStoreHistory';
|
|
3
2
|
export type { HistoryEntry, HistorySnapshot, StoreHistory, StoreHistoryOptions } from '../middleware/historyMiddleware';
|
|
4
|
-
export type { UseStoreHistoryReturn } from './hooks/useStoreHistory';
|
package/dist/history/index.mjs
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
import { default as useStoreById } from './createStore/hooks/useStoreById';
|
|
3
|
-
import { default as useStoreSetter } from './createStore/hooks/useStoreSetter';
|
|
4
|
-
import { default as StoreProvider } from './StoreProvider';
|
|
5
|
-
export * from './createStore';
|
|
6
|
-
export * from './StoreProvider';
|
|
7
|
-
export * from './types';
|
|
8
|
-
export { createStore, StoreProvider };
|
|
9
|
-
export * from './async';
|
|
10
|
-
export * from './derived';
|
|
11
|
-
export * from './entities';
|
|
12
|
-
export * from './history';
|
|
13
|
-
export * from './middleware';
|
|
14
|
-
export * from './createStore/hooks/useStoreSetter';
|
|
15
|
-
export * from './createStore/hooks/useStoreById';
|
|
16
|
-
export { useStoreById, useStoreSetter };
|
|
1
|
+
export { default as createStore } from './createStore/createStore';
|
|
17
2
|
export { setCodegenEnabled } from './createStore/helpers/writeByPath';
|
|
3
|
+
export { createAsync } from './async/createAsync';
|
|
4
|
+
export { createDerived } from './derived/createDerived';
|
|
5
|
+
export { createEntityAdapter } from './entities/createEntityAdapter';
|
|
6
|
+
export { createEntityStore } from './entities/createEntityStore';
|
|
7
|
+
export { loggerMiddleware } from './middleware/loggerMiddleware';
|
|
8
|
+
export { persistMiddleware } from './middleware/persistMiddleware';
|
|
9
|
+
export { historyMiddleware } from './middleware/historyMiddleware';
|
|
10
|
+
export { reduxDevToolsMiddleware } from './middleware/reduxDevToolsMiddleware';
|
|
11
|
+
export { createRecorder } from './middleware/recorderMiddleware';
|
|
12
|
+
export { cascade } from './middleware/cascade';
|
|
13
|
+
export { getStoreHistory } from './middleware/historyMiddleware';
|
|
18
14
|
export { createServerSnapshot, isServerSnapshot } from './rsc';
|
|
15
|
+
export * from './types';
|
|
16
|
+
export type { CreateStoreOptions } from './createStore/createStore';
|
|
17
|
+
export type { AsyncOptions, AsyncResource, AsyncSnapshot, AsyncStatus } from './async/createAsync';
|
|
18
|
+
export type { Derived, DerivedOptions } from './derived/createDerived';
|
|
19
|
+
export type { EntityAdapter, EntityAdapterOptions, EntityId, EntityMap, EntityUpdate, EntityUpdater } from './entities/createEntityAdapter';
|
|
20
|
+
export type { EntityStore, EntityStoreOptions, EntityChangeListener } from './entities/createEntityStore';
|
|
21
|
+
export type { LoggerOptions } from './middleware/loggerMiddleware';
|
|
22
|
+
export type { PersistOptions, PersistStorage, PersistTarget, PersistTargetOption } from './middleware/persistMiddleware';
|
|
23
|
+
export type { ReduxDevToolsOptions } from './middleware/reduxDevToolsMiddleware';
|
|
24
|
+
export type { Recorder, RecorderEntry, RecorderOptions } from './middleware/recorderMiddleware';
|
|
25
|
+
export type { HistoryEntry, HistorySnapshot, StoreHistory, StoreHistoryOptions } from './middleware/historyMiddleware';
|
package/dist/index.mjs
CHANGED
|
@@ -1,23 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
import { cascade as _ } from "./middleware/cascade.mjs";
|
|
17
|
-
import { setCodegenEnabled as v } from "./createStore/helpers/writeByPath.mjs";
|
|
18
|
-
import { CANCEL as y } from "./types/StoreTypes.mjs";
|
|
19
|
-
import { createStoreHook as b } from "./createStore/createStore.mjs";
|
|
20
|
-
import x from "./createStore/index.mjs";
|
|
21
|
-
import { createServerSnapshot as S, isServerSnapshot as C } from "./rsc/index.mjs";
|
|
22
|
-
import w from "./StoreProvider.mjs";
|
|
23
|
-
export { y as CANCEL, e as StoreContext, w as StoreProvider, t as StoreRegistryContext, _ as cascade, i as createAsync, s as createDerived, l as createEntityAdapter, u as createEntityStore, S as createServerSnapshot, x as createStore, b as createStoreHook, d as getStoreHistory, f as historyMiddleware, C as isServerSnapshot, m as loggerMiddleware, h as persistMiddleware, g as reduxDevToolsMiddleware, v as setCodegenEnabled, a as useAsync, o as useAsyncValue, c as useDerived, n as useStoreById, p as useStoreHistory, r as useStoreSetter };
|
|
1
|
+
import { createAsync as e } from "./async/createAsync.mjs";
|
|
2
|
+
import { createDerived as t } from "./derived/createDerived.mjs";
|
|
3
|
+
import { createEntityAdapter as n } from "./entities/createEntityAdapter.mjs";
|
|
4
|
+
import { createEntityStore as r } from "./entities/createEntityStore.mjs";
|
|
5
|
+
import { getStoreHistory as i, historyMiddleware as a } from "./middleware/historyMiddleware.mjs";
|
|
6
|
+
import { loggerMiddleware as o } from "./middleware/loggerMiddleware.mjs";
|
|
7
|
+
import { persistMiddleware as s } from "./middleware/persistMiddleware.mjs";
|
|
8
|
+
import { reduxDevToolsMiddleware as c } from "./middleware/reduxDevToolsMiddleware.mjs";
|
|
9
|
+
import { cascade as l } from "./middleware/cascade.mjs";
|
|
10
|
+
import { setCodegenEnabled as u } from "./createStore/helpers/writeByPath.mjs";
|
|
11
|
+
import { CANCEL as d } from "./types/StoreTypes.mjs";
|
|
12
|
+
import f from "./createStore/createStore.mjs";
|
|
13
|
+
import { createRecorder as p } from "./middleware/recorderMiddleware.mjs";
|
|
14
|
+
import { createServerSnapshot as m, isServerSnapshot as h } from "./rsc/index.mjs";
|
|
15
|
+
export { d as CANCEL, l as cascade, e as createAsync, t as createDerived, n as createEntityAdapter, r as createEntityStore, p as createRecorder, m as createServerSnapshot, f as createStore, i as getStoreHistory, a as historyMiddleware, h as isServerSnapshot, o as loggerMiddleware, s as persistMiddleware, c as reduxDevToolsMiddleware, u as setCodegenEnabled };
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import e from "
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { isDisabled as e } from "./isDisabled.mjs";
|
|
2
|
+
import { isPlainObject as t } from "../createStore/helpers/deepMerge.mjs";
|
|
3
|
+
import n from "../helpers/getByPath.mjs";
|
|
4
4
|
import r from "../helpers/isPathAffected.mjs";
|
|
5
5
|
//#region src/middleware/historyMiddleware.ts
|
|
6
|
-
var i = (e,
|
|
7
|
-
if (!Object.is(e,
|
|
8
|
-
if (r <= 0 || !
|
|
6
|
+
var i = (e, n, r = 12) => {
|
|
7
|
+
if (!Object.is(e, n)) {
|
|
8
|
+
if (r <= 0 || !t(e) || !t(n)) return {
|
|
9
9
|
path: "",
|
|
10
|
-
value:
|
|
10
|
+
value: n
|
|
11
11
|
};
|
|
12
|
-
for (let
|
|
13
|
-
if (Object.is(e[
|
|
14
|
-
let a = i(e[
|
|
12
|
+
for (let t of /* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(n)])) {
|
|
13
|
+
if (Object.is(e[t], n[t])) continue;
|
|
14
|
+
let a = i(e[t], n[t], r - 1);
|
|
15
15
|
if (a) return {
|
|
16
|
-
path: a.path ? `${
|
|
16
|
+
path: a.path ? `${t}.${a.path}` : t,
|
|
17
17
|
value: a.value
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
function a(
|
|
23
|
-
let a =
|
|
24
|
-
state:
|
|
22
|
+
function a(e, t = {}) {
|
|
23
|
+
let a = t.limit ?? 100, o = t.path, s = t.shouldRecord, c = [{
|
|
24
|
+
state: e.getState(),
|
|
25
25
|
timestamp: Date.now()
|
|
26
26
|
}], l = 0, u = !1, d = () => ({
|
|
27
27
|
entries: c,
|
|
@@ -30,12 +30,12 @@ function a(t, n = {}) {
|
|
|
30
30
|
canRedo: l < c.length - 1
|
|
31
31
|
}), f = d(), p = /* @__PURE__ */ new Set(), m = () => {
|
|
32
32
|
f = d(), p.forEach((e) => e());
|
|
33
|
-
}, h = ({ path:
|
|
34
|
-
if (u || s && !s(
|
|
35
|
-
let d = l < c.length - 1 ? c.slice(0, l + 1) : c, f = d[d.length - 1].state, p =
|
|
33
|
+
}, h = ({ path: t }) => {
|
|
34
|
+
if (u || s && !s(t) || o && t !== void 0 && !r(t, o)) return;
|
|
35
|
+
let d = l < c.length - 1 ? c.slice(0, l + 1) : c, f = d[d.length - 1].state, p = e.getState(), h = t ?? o, g, _ = t ?? o;
|
|
36
36
|
if (_) try {
|
|
37
|
-
let
|
|
38
|
-
|
|
37
|
+
let e = i(n(f, _), n(p, _));
|
|
38
|
+
e && (h = e.path ? `${_}.${e.path}` : _, g = e.value);
|
|
39
39
|
} catch {}
|
|
40
40
|
let v = [...d, {
|
|
41
41
|
path: h,
|
|
@@ -44,14 +44,14 @@ function a(t, n = {}) {
|
|
|
44
44
|
timestamp: Date.now()
|
|
45
45
|
}];
|
|
46
46
|
c = v.length > a ? v.slice(v.length - a) : v, l = c.length - 1, m();
|
|
47
|
-
}, g = (
|
|
48
|
-
if (
|
|
49
|
-
let r = c[
|
|
47
|
+
}, g = (t) => {
|
|
48
|
+
if (t < 0 || t >= c.length || t === l) return;
|
|
49
|
+
let r = c[t].state;
|
|
50
50
|
if (u = !0, o) {
|
|
51
|
-
let
|
|
52
|
-
|
|
53
|
-
} else
|
|
54
|
-
u = !1, l =
|
|
51
|
+
let t = n(r, o);
|
|
52
|
+
e.setState(o, () => t);
|
|
53
|
+
} else e.setState(void 0, () => r);
|
|
54
|
+
u = !1, l = t, m();
|
|
55
55
|
};
|
|
56
56
|
return {
|
|
57
57
|
handle: {
|
|
@@ -62,7 +62,7 @@ function a(t, n = {}) {
|
|
|
62
62
|
travelTo: g,
|
|
63
63
|
clear: () => {
|
|
64
64
|
c = [{
|
|
65
|
-
state:
|
|
65
|
+
state: e.getState(),
|
|
66
66
|
timestamp: Date.now()
|
|
67
67
|
}], l = 0, m();
|
|
68
68
|
}
|
|
@@ -74,11 +74,11 @@ var o = /* @__PURE__ */ new WeakMap();
|
|
|
74
74
|
function s(e) {
|
|
75
75
|
return o.get(e);
|
|
76
76
|
}
|
|
77
|
-
var c = (
|
|
78
|
-
let n =
|
|
77
|
+
var c = (t) => {
|
|
78
|
+
let n = t?.enabled;
|
|
79
79
|
return (r) => {
|
|
80
|
-
if (
|
|
81
|
-
let { handle: i, record: s } = a(r,
|
|
80
|
+
if (e(n, r.getState())) return;
|
|
81
|
+
let { handle: i, record: s } = a(r, t);
|
|
82
82
|
return o.set(r, i), { onChange: s };
|
|
83
83
|
};
|
|
84
84
|
};
|