@tamagui/use-store 1.52.7 → 1.52.8
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/cjs/helpers.js +5 -26
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index.js +2 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/observe.js +159 -0
- package/dist/cjs/observe.js.map +6 -0
- package/dist/cjs/reaction.js +0 -80
- package/dist/cjs/reaction.js.map +2 -2
- package/dist/cjs/selector.js +64 -9
- package/dist/cjs/selector.js.map +1 -1
- package/dist/cjs/useStore.js +16 -13
- package/dist/cjs/useStore.js.map +1 -1
- package/dist/esm/helpers.js +5 -25
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/observe.js +134 -0
- package/dist/esm/observe.js.map +6 -0
- package/dist/esm/reaction.js +0 -56
- package/dist/esm/reaction.js.map +2 -2
- package/dist/esm/selector.js +62 -8
- package/dist/esm/selector.js.map +1 -1
- package/dist/esm/useStore.js +15 -13
- package/dist/esm/useStore.js.map +1 -1
- package/package.json +5 -2
- package/src/helpers.tsx +7 -30
- package/src/index.ts +1 -2
- package/src/interfaces.tsx +2 -1
- package/src/{selector.tsx → observe.tsx} +73 -50
- package/src/useStore.tsx +19 -13
- package/types/helpers.d.ts +1 -2
- package/types/helpers.d.ts.map +1 -1
- package/types/index.d.ts +1 -2
- package/types/index.d.ts.map +1 -1
- package/types/interfaces.d.ts +2 -1
- package/types/interfaces.d.ts.map +1 -1
- package/types/observe.d.ts +6 -0
- package/types/observe.d.ts.map +1 -0
- package/types/reaction.d.ts +0 -3
- package/types/reaction.d.ts.map +1 -1
- package/types/selector.d.ts +5 -1
- package/types/selector.d.ts.map +1 -1
- package/types/useStore.d.ts +2 -0
- package/types/useStore.d.ts.map +1 -1
- package/src/reaction.tsx +0 -112
package/dist/esm/helpers.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
+
import { simpleHash } from "@tamagui/simple-hash";
|
|
1
2
|
import { useRef } from "react";
|
|
2
|
-
const wkm = /* @__PURE__ */ new WeakMap();
|
|
3
|
-
const weakKey = (obj, prefix = "") => {
|
|
4
|
-
if (wkm.has(obj))
|
|
5
|
-
return wkm.get(obj);
|
|
6
|
-
const key = `${prefix}-${Math.random()}`;
|
|
7
|
-
wkm.set(obj, key);
|
|
8
|
-
return key;
|
|
9
|
-
};
|
|
10
3
|
function getStoreUid(Constructor, props) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
return simpleHash(
|
|
5
|
+
`${Constructor}${!props ? "" : typeof props === "string" ? props : JSON.stringify(props)}`,
|
|
6
|
+
"strict"
|
|
7
|
+
);
|
|
14
8
|
}
|
|
15
9
|
const UNWRAP_STORE_INFO = Symbol("UNWRAP_STORE_INFO");
|
|
16
10
|
const cache = /* @__PURE__ */ new Map();
|
|
@@ -28,19 +22,6 @@ function getStoreDescriptors(storeInstance) {
|
|
|
28
22
|
function get(_, b) {
|
|
29
23
|
return _;
|
|
30
24
|
}
|
|
31
|
-
function getKey(props) {
|
|
32
|
-
let s = "";
|
|
33
|
-
const sorted = Object.keys(props).sort();
|
|
34
|
-
for (const key of sorted) {
|
|
35
|
-
const v = props[key];
|
|
36
|
-
if (v && typeof v === "object") {
|
|
37
|
-
s += getKey(v);
|
|
38
|
-
} else {
|
|
39
|
-
s += `.${key}:${v}`;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return s;
|
|
43
|
-
}
|
|
44
25
|
function useConstant(fn) {
|
|
45
26
|
const ref = useRef();
|
|
46
27
|
if (!ref.current) {
|
|
@@ -62,7 +43,6 @@ export {
|
|
|
62
43
|
cache,
|
|
63
44
|
useConstant as default,
|
|
64
45
|
get,
|
|
65
|
-
getKey,
|
|
66
46
|
getStoreDebugInfo,
|
|
67
47
|
getStoreDescriptors,
|
|
68
48
|
getStoreUid,
|
package/dist/esm/helpers.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/helpers.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,
|
|
4
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AAIhB,SAAS,YAAY,aAAkB,OAA+B;AAC3E,SAAO;AAAA,IACL,GAAG,WAAW,GACZ,CAAC,QAAQ,KAAK,OAAO,UAAU,WAAW,QAAQ,KAAK,UAAU,KAAK,CACxE;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,oBAAoB,OAAO,mBAAmB;AACpD,MAAM,QAAQ,oBAAI,IAAuB;AAEzC,SAAS,oBAAoB,eAAoB;AACtD,QAAM,QAAQ,OAAO,eAAe,aAAa;AACjD,QAAM,sBAAsB,OAAO,0BAA0B,aAAa;AAC1E,QAAM,mBAAmB,OAAO,0BAA0B,KAAK;AAC/D,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,SAAO,YAAY;AACnB,SAAO;AACT;AAEO,SAAS,IAAO,GAAM,GAAyD;AACpF,SAAO;AACT;AAIe,SAAR,YAAgC,IAAgB;AACrD,QAAM,MAAM,OAAqB;AACjC,MAAI,CAAC,IAAI,SAAS;AAChB,QAAI,UAAU,EAAE,GAAG,GAAG,EAAE;AAAA,EAC1B;AACA,SAAO,IAAI,QAAQ;AACrB;AAEO,SAAS,UAAU,KAAU;AAClC,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,WAAO,OAAO,QAAQ,aAClB,OACA,OAAO,QAAQ,WACf,IAAI,GAAG,MACP,CAAC,MACD,MACA,OAAO,QAAQ,WACf,MACA,MAAM,QAAQ,GAAG,IACjB,UACA;AAAA,EACN;AACA,SAAO;AACT;AAGO,SAAS,kBAAkB,OAAY;AAC5C,SACE,MAAM,iBAAiB,KAAK,MAAM,IAAI,YAAY,MAAM,aAAa,MAAM,KAAK,CAAC;AAErF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export * from "./useStore";
|
|
2
2
|
import { configureUseStore } from "./configureUseStore";
|
|
3
3
|
export * from "./interfaces";
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./reaction";
|
|
4
|
+
export * from "./observe";
|
|
6
5
|
import { UNWRAP_PROXY } from "./constants";
|
|
7
6
|
export * from "./comparators";
|
|
8
7
|
export * from "./decorators";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,cAAc;AACd,SAAS,yBAAyB;AAClC,cAAc;AACd,cAAc;AACd,
|
|
4
|
+
"mappings": "AAAA,cAAc;AACd,SAAS,yBAAyB;AAClC,cAAc;AACd,cAAc;AACd,SAAS,oBAAoB;AAC7B,cAAc;AACd,cAAc;AAGP,MAAM,MAAyC;AAAA,EACpD,YAAmB,OAAc;AAAd;AAAA,EAAe;AACpC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { isEqualSubsetShallow } from "./comparators";
|
|
3
|
+
import { UNWRAP_PROXY } from "./constants";
|
|
4
|
+
import { trackStoresAccess } from "./useStore";
|
|
5
|
+
const logUpdate = process.env.NODE_ENV === "development" ? (fn, stores, last, next) => {
|
|
6
|
+
const getStoreLogName = (store) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const str = store[UNWRAP_PROXY] ?? store;
|
|
9
|
+
return `${str.constructor.name}${((_a = store.props) == null ? void 0 : _a.id) ? `:${store.props.id}` : ""}`;
|
|
10
|
+
};
|
|
11
|
+
const storeNames = stores.map(getStoreLogName).join(", ");
|
|
12
|
+
const name = `\u{1F311} \u25B6\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;
|
|
13
|
+
console.groupCollapsed(name, "color: tomato;");
|
|
14
|
+
console.groupCollapsed("trace >");
|
|
15
|
+
console.trace();
|
|
16
|
+
console.groupEnd();
|
|
17
|
+
console.log(" next", next);
|
|
18
|
+
console.groupEnd();
|
|
19
|
+
} : null;
|
|
20
|
+
function observe(fn) {
|
|
21
|
+
let prev = getObserverValueAndStoresAccessed(fn);
|
|
22
|
+
let disposeValue = null;
|
|
23
|
+
const subscribe = () => {
|
|
24
|
+
const stores = [...prev.storeInfos];
|
|
25
|
+
return subscribeToStores(stores, () => {
|
|
26
|
+
disposeValue == null ? void 0 : disposeValue();
|
|
27
|
+
const next = getObserverValueAndStoresAccessed(fn);
|
|
28
|
+
if (typeof next.value === "function") {
|
|
29
|
+
disposeValue = next.value;
|
|
30
|
+
if (process.env.NODE_ENV === "development") {
|
|
31
|
+
logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (isEqualSubsetShallow(prev.storeInfos, next.storeInfos) && isEqualSubsetShallow(prev.value, next.value)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (process.env.NODE_ENV === "development") {
|
|
39
|
+
logUpdate(fn, [...next.storeInfos], prev.value, next.value);
|
|
40
|
+
}
|
|
41
|
+
prev = next;
|
|
42
|
+
dispose();
|
|
43
|
+
dispose = subscribe();
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
let dispose = subscribe();
|
|
47
|
+
return {
|
|
48
|
+
dispose: () => {
|
|
49
|
+
dispose();
|
|
50
|
+
disposeValue == null ? void 0 : disposeValue();
|
|
51
|
+
},
|
|
52
|
+
getValue: () => prev.value
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function useObserve(fn) {
|
|
56
|
+
const [state, setState] = useState(() => {
|
|
57
|
+
return getObserverValueAndStoresAccessed(fn);
|
|
58
|
+
});
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
let dispose;
|
|
61
|
+
const unsub = subscribeToStores([...state.storeInfos], () => {
|
|
62
|
+
dispose == null ? void 0 : dispose();
|
|
63
|
+
const next = getObserverValueAndStoresAccessed(fn);
|
|
64
|
+
const nextStoreInfos = [...next.storeInfos];
|
|
65
|
+
const prevStoreInfos = [...state.storeInfos];
|
|
66
|
+
if (typeof next.value === "function") {
|
|
67
|
+
if (process.env.NODE_ENV === "development") {
|
|
68
|
+
logUpdate(fn, nextStoreInfos, "(fn)", "(fn)");
|
|
69
|
+
}
|
|
70
|
+
dispose = next.value;
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
setState((prev) => {
|
|
74
|
+
if (isEqualSubsetShallow(prevStoreInfos, nextStoreInfos) && isEqualSubsetShallow(prev.value, next.value)) {
|
|
75
|
+
return prev;
|
|
76
|
+
}
|
|
77
|
+
if (process.env.NODE_ENV === "development") {
|
|
78
|
+
logUpdate(fn, nextStoreInfos, prev.value, next.value);
|
|
79
|
+
}
|
|
80
|
+
return next;
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
return () => {
|
|
84
|
+
unsub();
|
|
85
|
+
dispose == null ? void 0 : dispose();
|
|
86
|
+
};
|
|
87
|
+
}, [[...state.storeInfos].map((i) => i.uid).join(",")]);
|
|
88
|
+
return state.value;
|
|
89
|
+
}
|
|
90
|
+
function getObserverValueAndStoresAccessed(selector) {
|
|
91
|
+
const storeInfos = /* @__PURE__ */ new Set();
|
|
92
|
+
const dispose = trackStoresAccess((storeInfo) => {
|
|
93
|
+
storeInfos.add(storeInfo);
|
|
94
|
+
});
|
|
95
|
+
const value = selector();
|
|
96
|
+
dispose();
|
|
97
|
+
return {
|
|
98
|
+
value,
|
|
99
|
+
storeInfos
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function subscribeToStores(storeInfos, onUpdate) {
|
|
103
|
+
const disposes = [];
|
|
104
|
+
let isUpdating = false;
|
|
105
|
+
const onUpdateDebouncedWithoutTracking = () => {
|
|
106
|
+
if (isUpdating)
|
|
107
|
+
return;
|
|
108
|
+
isUpdating = true;
|
|
109
|
+
queueMicrotask(() => {
|
|
110
|
+
try {
|
|
111
|
+
for (const storeInfo of storeInfos) {
|
|
112
|
+
storeInfo.disableTracking = true;
|
|
113
|
+
}
|
|
114
|
+
onUpdate();
|
|
115
|
+
} finally {
|
|
116
|
+
isUpdating = false;
|
|
117
|
+
for (const storeInfo of storeInfos) {
|
|
118
|
+
storeInfo.disableTracking = false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
for (const storeInfo of storeInfos) {
|
|
124
|
+
disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
|
|
125
|
+
}
|
|
126
|
+
return () => {
|
|
127
|
+
disposes.forEach((x) => x());
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
export {
|
|
131
|
+
observe,
|
|
132
|
+
useObserve
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=observe.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/observe.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/esm/reaction.js
CHANGED
|
@@ -1,57 +1 @@
|
|
|
1
|
-
import { useMemo } from "react";
|
|
2
|
-
import { isEqualSubsetShallow } from "./comparators";
|
|
3
|
-
import { UNWRAP_PROXY } from "./constants";
|
|
4
|
-
import { getStoreInfo, setIsInReaction } from "./useStore";
|
|
5
|
-
const dispose = (d) => {
|
|
6
|
-
if (typeof d === "function") {
|
|
7
|
-
d();
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
function useReaction(store, selector, receiver, props, equalityFn = isEqualSubsetShallow, memoArgs) {
|
|
11
|
-
const storeInfo = getStoreInfo(store, props);
|
|
12
|
-
return useMemo(
|
|
13
|
-
() => reaction(storeInfo, selector, receiver, equalityFn),
|
|
14
|
-
[memoArgs]
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
function reaction({ store, subscribe }, selector, receiver, equalityFn = isEqualSubsetShallow) {
|
|
18
|
-
let last = void 0;
|
|
19
|
-
let innerDispose;
|
|
20
|
-
function updateReaction() {
|
|
21
|
-
var _a;
|
|
22
|
-
try {
|
|
23
|
-
setIsInReaction(true);
|
|
24
|
-
const storeInstance = store[UNWRAP_PROXY] || store;
|
|
25
|
-
const next = selector(storeInstance);
|
|
26
|
-
if (!equalityFn(last, next)) {
|
|
27
|
-
if (process.env.NODE_ENV === "development") {
|
|
28
|
-
console.groupCollapsed(
|
|
29
|
-
`\u{1F311} \u23ED %c${receiver.name.padStart(24)} (${storeInstance.constructor.name}${((_a = store.props) == null ? void 0 : _a.id) ? `:${store.props.id}` : ""}) ${last} => ${next}`,
|
|
30
|
-
"color: chocolate;"
|
|
31
|
-
);
|
|
32
|
-
console.groupCollapsed("trace >");
|
|
33
|
-
console.trace();
|
|
34
|
-
console.groupEnd();
|
|
35
|
-
console.log(" ARG", next);
|
|
36
|
-
console.groupEnd();
|
|
37
|
-
}
|
|
38
|
-
dispose(innerDispose);
|
|
39
|
-
last = next;
|
|
40
|
-
innerDispose = receiver(next);
|
|
41
|
-
}
|
|
42
|
-
} finally {
|
|
43
|
-
setIsInReaction(false);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
const disposeSubscribe = subscribe(updateReaction);
|
|
47
|
-
updateReaction();
|
|
48
|
-
return () => {
|
|
49
|
-
disposeSubscribe();
|
|
50
|
-
dispose(innerDispose);
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
export {
|
|
54
|
-
reaction,
|
|
55
|
-
useReaction
|
|
56
|
-
};
|
|
57
1
|
//# sourceMappingURL=reaction.js.map
|
package/dist/esm/reaction.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": [
|
|
4
|
-
"mappings": "
|
|
3
|
+
"sources": [],
|
|
4
|
+
"mappings": "",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/selector.js
CHANGED
|
@@ -17,15 +17,50 @@ const logUpdate = process.env.NODE_ENV === "development" ? (fn, stores, last, ne
|
|
|
17
17
|
console.log(" next", next);
|
|
18
18
|
console.groupEnd();
|
|
19
19
|
} : null;
|
|
20
|
-
function
|
|
20
|
+
function observe(fn) {
|
|
21
|
+
let prev = getObserverValueAndStoresAccessed(fn);
|
|
22
|
+
let disposeValue = null;
|
|
23
|
+
const subscribe = () => {
|
|
24
|
+
const stores = [...prev.storeInfos];
|
|
25
|
+
return subscribeToStores(stores, () => {
|
|
26
|
+
disposeValue == null ? void 0 : disposeValue();
|
|
27
|
+
const next = getObserverValueAndStoresAccessed(fn);
|
|
28
|
+
if (typeof next.value === "function") {
|
|
29
|
+
disposeValue = next.value;
|
|
30
|
+
if (process.env.NODE_ENV === "development") {
|
|
31
|
+
logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (isEqualSubsetShallow(prev.storeInfos, next.storeInfos) && isEqualSubsetShallow(prev.value, next.value)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (process.env.NODE_ENV === "development") {
|
|
39
|
+
logUpdate(fn, [...next.storeInfos], prev.value, next.value);
|
|
40
|
+
}
|
|
41
|
+
prev = next;
|
|
42
|
+
dispose();
|
|
43
|
+
dispose = subscribe();
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
let dispose = subscribe();
|
|
47
|
+
return {
|
|
48
|
+
dispose: () => {
|
|
49
|
+
dispose();
|
|
50
|
+
disposeValue == null ? void 0 : disposeValue();
|
|
51
|
+
},
|
|
52
|
+
getValue: () => prev.value
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function useObserve(fn) {
|
|
21
56
|
const [state, setState] = useState(() => {
|
|
22
|
-
return
|
|
57
|
+
return getObserverValueAndStoresAccessed(fn);
|
|
23
58
|
});
|
|
24
59
|
useEffect(() => {
|
|
25
60
|
let dispose;
|
|
26
61
|
const unsub = subscribeToStores([...state.storeInfos], () => {
|
|
27
62
|
dispose == null ? void 0 : dispose();
|
|
28
|
-
const next =
|
|
63
|
+
const next = getObserverValueAndStoresAccessed(fn);
|
|
29
64
|
const nextStoreInfos = [...next.storeInfos];
|
|
30
65
|
const prevStoreInfos = [...state.storeInfos];
|
|
31
66
|
if (typeof next.value === "function") {
|
|
@@ -52,7 +87,7 @@ function useSelector(fn) {
|
|
|
52
87
|
}, [[...state.storeInfos].map((i) => i.uid).join(",")]);
|
|
53
88
|
return state.value;
|
|
54
89
|
}
|
|
55
|
-
function
|
|
90
|
+
function getObserverValueAndStoresAccessed(selector) {
|
|
56
91
|
const storeInfos = /* @__PURE__ */ new Set();
|
|
57
92
|
const dispose = trackStoresAccess((storeInfo) => {
|
|
58
93
|
storeInfos.add(storeInfo);
|
|
@@ -64,16 +99,35 @@ function runStoreSelector(selector) {
|
|
|
64
99
|
storeInfos
|
|
65
100
|
};
|
|
66
101
|
}
|
|
67
|
-
function subscribeToStores(
|
|
102
|
+
function subscribeToStores(storeInfos, onUpdate) {
|
|
68
103
|
const disposes = [];
|
|
69
|
-
|
|
70
|
-
|
|
104
|
+
let isUpdating = false;
|
|
105
|
+
const onUpdateDebouncedWithoutTracking = () => {
|
|
106
|
+
if (isUpdating)
|
|
107
|
+
return;
|
|
108
|
+
isUpdating = true;
|
|
109
|
+
queueMicrotask(() => {
|
|
110
|
+
try {
|
|
111
|
+
for (const storeInfo of storeInfos) {
|
|
112
|
+
storeInfo.disableTracking = true;
|
|
113
|
+
}
|
|
114
|
+
onUpdate();
|
|
115
|
+
} finally {
|
|
116
|
+
for (const storeInfo of storeInfos) {
|
|
117
|
+
storeInfo.disableTracking = false;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
for (const storeInfo of storeInfos) {
|
|
123
|
+
disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
|
|
71
124
|
}
|
|
72
125
|
return () => {
|
|
73
126
|
disposes.forEach((x) => x());
|
|
74
127
|
};
|
|
75
128
|
}
|
|
76
129
|
export {
|
|
77
|
-
|
|
130
|
+
observe,
|
|
131
|
+
useObserve
|
|
78
132
|
};
|
|
79
133
|
//# sourceMappingURL=selector.js.map
|
package/dist/esm/selector.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/selector.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,WAAW,gBAAgB;AAEpC,SAAS,4BAA4B;AACrC,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/useStore.js
CHANGED
|
@@ -21,10 +21,7 @@ function useStoreDebug(StoreKlass, props) {
|
|
|
21
21
|
return useStore(StoreKlass, props, { debug: true });
|
|
22
22
|
}
|
|
23
23
|
function createStore(StoreKlass, props, options) {
|
|
24
|
-
return getOrCreateStoreInfo(StoreKlass, props,
|
|
25
|
-
...options,
|
|
26
|
-
avoidCache: true
|
|
27
|
-
}).store;
|
|
24
|
+
return getOrCreateStoreInfo(StoreKlass, props, options).store;
|
|
28
25
|
}
|
|
29
26
|
function useGlobalStore(instance, debug) {
|
|
30
27
|
const store = instance[UNWRAP_PROXY];
|
|
@@ -77,6 +74,13 @@ function getStoreInfo(StoreKlass, props) {
|
|
|
77
74
|
refuseCreation: true
|
|
78
75
|
});
|
|
79
76
|
}
|
|
77
|
+
const onCreateListeners = /* @__PURE__ */ new Set();
|
|
78
|
+
function onCreateStore(cb) {
|
|
79
|
+
onCreateListeners.add(cb);
|
|
80
|
+
return () => {
|
|
81
|
+
onCreateListeners.delete(cb);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
80
84
|
function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
|
|
81
85
|
var _a;
|
|
82
86
|
const uid = getStoreUid(StoreKlass, propsKeyCalculated ?? props);
|
|
@@ -107,11 +111,12 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
|
|
|
107
111
|
const keyComparators = storeInstance["_comparators"];
|
|
108
112
|
const listeners = /* @__PURE__ */ new Set();
|
|
109
113
|
const storeInfo = {
|
|
110
|
-
uid
|
|
114
|
+
uid,
|
|
111
115
|
keyComparators,
|
|
112
116
|
storeInstance,
|
|
113
117
|
getters,
|
|
114
118
|
stateKeys,
|
|
119
|
+
props,
|
|
115
120
|
actions,
|
|
116
121
|
debug: options == null ? void 0 : options.debug,
|
|
117
122
|
disableTracking: false,
|
|
@@ -148,6 +153,7 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
|
|
|
148
153
|
storeInfo.store = store;
|
|
149
154
|
const result = storeInfo;
|
|
150
155
|
cache.set(uid, result);
|
|
156
|
+
onCreateListeners.forEach((cb) => cb(result));
|
|
151
157
|
return result;
|
|
152
158
|
}
|
|
153
159
|
const allStores = {};
|
|
@@ -391,18 +397,13 @@ function createProxiedStore(storeInfo) {
|
|
|
391
397
|
if (key === UNWRAP_STORE_INFO) {
|
|
392
398
|
return storeInfo;
|
|
393
399
|
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
if (storeAccessTrackers.size && !storeAccessTrackers.has(storeInstance)) {
|
|
397
|
-
for (const t of storeAccessTrackers) {
|
|
398
|
-
t(storeInfo);
|
|
399
|
-
}
|
|
400
|
-
}
|
|
400
|
+
if (storeAccessTrackers.size) {
|
|
401
|
+
storeAccessTrackers.forEach((cb) => cb(storeInfo));
|
|
401
402
|
}
|
|
402
403
|
if (typeof key !== "string") {
|
|
403
404
|
return Reflect.get(storeInstance, key);
|
|
404
405
|
}
|
|
405
|
-
if (!
|
|
406
|
+
if (!storeInfo.disableTracking) {
|
|
406
407
|
if (gettersState.isGetting) {
|
|
407
408
|
gettersState.curGetKeys.add(key);
|
|
408
409
|
} else {
|
|
@@ -499,6 +500,7 @@ export {
|
|
|
499
500
|
getOrCreateStore,
|
|
500
501
|
getStore,
|
|
501
502
|
getStoreInfo,
|
|
503
|
+
onCreateStore,
|
|
502
504
|
setIsInReaction,
|
|
503
505
|
trackStoresAccess,
|
|
504
506
|
useGlobalStore,
|
package/dist/esm/useStore.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useStore.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["curInternal", "shouldDebug", "hashCode", "strColor", "key", "name"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/use-store",
|
|
3
|
-
"version": "1.52.
|
|
3
|
+
"version": "1.52.8",
|
|
4
4
|
"types": "./types/index.d.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -26,8 +26,11 @@
|
|
|
26
26
|
"require": "./dist/cjs/index.js"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@tamagui/simple-hash": "1.52.8"
|
|
31
|
+
},
|
|
29
32
|
"devDependencies": {
|
|
30
|
-
"@tamagui/build": "1.52.
|
|
33
|
+
"@tamagui/build": "1.52.8",
|
|
31
34
|
"@testing-library/react": "^13.4.0",
|
|
32
35
|
"react": "^18.2.0",
|
|
33
36
|
"vitest": "^0.26.3"
|
package/src/helpers.tsx
CHANGED
|
@@ -1,24 +1,15 @@
|
|
|
1
|
+
import { simpleHash } from '@tamagui/simple-hash'
|
|
1
2
|
import { useRef } from 'react'
|
|
2
3
|
|
|
3
4
|
import { StoreInfo } from './interfaces'
|
|
4
5
|
|
|
5
|
-
const wkm = new WeakMap<any, string>()
|
|
6
|
-
const weakKey = (obj: any, prefix = '') => {
|
|
7
|
-
if (wkm.has(obj)) return wkm.get(obj)!
|
|
8
|
-
const key = `${prefix}-${Math.random()}`
|
|
9
|
-
wkm.set(obj, key)
|
|
10
|
-
return key
|
|
11
|
-
}
|
|
12
|
-
|
|
13
6
|
export function getStoreUid(Constructor: any, props: string | Object | void) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}`
|
|
21
|
-
return uid
|
|
7
|
+
return simpleHash(
|
|
8
|
+
`${Constructor}${
|
|
9
|
+
!props ? '' : typeof props === 'string' ? props : JSON.stringify(props)
|
|
10
|
+
}`,
|
|
11
|
+
'strict'
|
|
12
|
+
)
|
|
22
13
|
}
|
|
23
14
|
|
|
24
15
|
export const UNWRAP_STORE_INFO = Symbol('UNWRAP_STORE_INFO')
|
|
@@ -41,20 +32,6 @@ export function get<A>(_: A, b?: any): A extends new (props?: any) => infer B ?
|
|
|
41
32
|
return _ as any
|
|
42
33
|
}
|
|
43
34
|
|
|
44
|
-
export function getKey(props: Object) {
|
|
45
|
-
let s = ''
|
|
46
|
-
const sorted = Object.keys(props).sort()
|
|
47
|
-
for (const key of sorted) {
|
|
48
|
-
const v = props[key]
|
|
49
|
-
if (v && typeof v === 'object') {
|
|
50
|
-
s += getKey(v)
|
|
51
|
-
} else {
|
|
52
|
-
s += `.${key}:${v}`
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return s
|
|
56
|
-
}
|
|
57
|
-
|
|
58
35
|
type ResultBox<T> = { v: T }
|
|
59
36
|
|
|
60
37
|
export default function useConstant<T>(fn: () => T): T {
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export * from './useStore'
|
|
2
2
|
export { configureUseStore } from './configureUseStore'
|
|
3
3
|
export * from './interfaces'
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './reaction'
|
|
4
|
+
export * from './observe'
|
|
6
5
|
export { UNWRAP_PROXY } from './constants'
|
|
7
6
|
export * from './comparators'
|
|
8
7
|
export * from './decorators'
|
package/src/interfaces.tsx
CHANGED
|
@@ -15,12 +15,13 @@ export interface Store<Props = Record<string, any> | null | undefined> {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export type StoreInfo<A = Store> = {
|
|
18
|
-
uid:
|
|
18
|
+
uid: string
|
|
19
19
|
keyComparators?: {
|
|
20
20
|
[key: string]: (a: any, b: any) => boolean
|
|
21
21
|
}
|
|
22
22
|
// proxied store
|
|
23
23
|
store: A
|
|
24
|
+
props: Record<string, any> | null
|
|
24
25
|
storeInstance: any
|
|
25
26
|
getters: { [key: string]: any }
|
|
26
27
|
actions: any
|