@tamagui/use-store 2.0.0-rc.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/comparators.cjs +18 -14
- package/dist/cjs/comparators.native.js +21 -17
- package/dist/cjs/comparators.native.js.map +1 -1
- package/dist/cjs/configureUseStore.cjs +12 -10
- package/dist/cjs/configureUseStore.native.js +12 -10
- package/dist/cjs/configureUseStore.native.js.map +1 -1
- package/dist/cjs/constants.cjs +17 -15
- package/dist/cjs/constants.native.js +17 -15
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/decorators.cjs +14 -11
- package/dist/cjs/decorators.native.js +14 -11
- package/dist/cjs/decorators.native.js.map +1 -1
- package/dist/cjs/helpers.cjs +28 -21
- package/dist/cjs/helpers.native.js +29 -23
- package/dist/cjs/helpers.native.js.map +1 -1
- package/dist/cjs/index.cjs +13 -11
- package/dist/cjs/index.native.js +30 -19
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/interfaces.cjs +7 -5
- package/dist/cjs/interfaces.native.js +7 -5
- package/dist/cjs/interfaces.native.js.map +1 -1
- package/dist/cjs/observe.cjs +105 -59
- package/dist/cjs/observe.native.js +159 -111
- package/dist/cjs/observe.native.js.map +1 -1
- package/dist/cjs/useStore.cjs +271 -194
- package/dist/cjs/useStore.native.js +438 -374
- package/dist/cjs/useStore.native.js.map +1 -1
- package/dist/cjs/useStoreDebug.cjs +42 -31
- package/dist/cjs/useStoreDebug.native.js +42 -36
- package/dist/cjs/useStoreDebug.native.js.map +1 -1
- package/dist/esm/comparators.mjs +6 -4
- package/dist/esm/comparators.mjs.map +1 -1
- package/dist/esm/comparators.native.js +9 -7
- package/dist/esm/comparators.native.js.map +1 -1
- package/dist/esm/constants.mjs +5 -5
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +5 -5
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/decorators.mjs +2 -1
- package/dist/esm/decorators.mjs.map +1 -1
- package/dist/esm/decorators.native.js +2 -1
- package/dist/esm/decorators.native.js.map +1 -1
- package/dist/esm/helpers.mjs +16 -11
- package/dist/esm/helpers.mjs.map +1 -1
- package/dist/esm/helpers.native.js +17 -13
- package/dist/esm/helpers.native.js.map +1 -1
- package/dist/esm/index.js +8 -12
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/index.native.js +17 -8
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/observe.mjs +77 -33
- package/dist/esm/observe.mjs.map +1 -1
- package/dist/esm/observe.native.js +128 -82
- package/dist/esm/observe.native.js.map +1 -1
- package/dist/esm/useStore.mjs +241 -166
- package/dist/esm/useStore.mjs.map +1 -1
- package/dist/esm/useStore.native.js +408 -346
- package/dist/esm/useStore.native.js.map +1 -1
- package/dist/esm/useStoreDebug.mjs +18 -9
- package/dist/esm/useStoreDebug.mjs.map +1 -1
- package/dist/esm/useStoreDebug.native.js +14 -10
- package/dist/esm/useStoreDebug.native.js.map +1 -1
- package/package.json +6 -9
- package/dist/cjs/comparators.js +0 -33
- package/dist/cjs/comparators.js.map +0 -6
- package/dist/cjs/configureUseStore.js +0 -25
- package/dist/cjs/configureUseStore.js.map +0 -6
- package/dist/cjs/constants.js +0 -25
- package/dist/cjs/constants.js.map +0 -6
- package/dist/cjs/decorators.js +0 -25
- package/dist/cjs/decorators.js.map +0 -6
- package/dist/cjs/helpers.js +0 -50
- package/dist/cjs/helpers.js.map +0 -6
- package/dist/cjs/index.js +0 -34
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/interfaces.js +0 -14
- package/dist/cjs/interfaces.js.map +0 -6
- package/dist/cjs/observe.js +0 -105
- package/dist/cjs/observe.js.map +0 -6
- package/dist/cjs/useStore.js +0 -353
- package/dist/cjs/useStore.js.map +0 -6
- package/dist/cjs/useStoreDebug.js +0 -46
- package/dist/cjs/useStoreDebug.js.map +0 -6
- package/dist/esm/comparators.js +0 -17
- package/dist/esm/comparators.js.map +0 -6
- package/dist/esm/configureUseStore.js +0 -9
- package/dist/esm/configureUseStore.js.map +0 -6
- package/dist/esm/constants.js +0 -9
- package/dist/esm/constants.js.map +0 -6
- package/dist/esm/decorators.js +0 -9
- package/dist/esm/decorators.js.map +0 -6
- package/dist/esm/helpers.js +0 -34
- package/dist/esm/helpers.js.map +0 -6
- package/dist/esm/interfaces.js +0 -1
- package/dist/esm/interfaces.js.map +0 -6
- package/dist/esm/observe.js +0 -84
- package/dist/esm/observe.js.map +0 -6
- package/dist/esm/useStore.js +0 -340
- package/dist/esm/useStore.js.map +0 -6
- package/dist/esm/useStoreDebug.js +0 -22
- package/dist/esm/useStoreDebug.js.map +0 -6
package/dist/esm/index.native.js
CHANGED
|
@@ -6,20 +6,29 @@ import { UNWRAP_PROXY } from "./constants.native.js";
|
|
|
6
6
|
export * from "./comparators.native.js";
|
|
7
7
|
export * from "./decorators.native.js";
|
|
8
8
|
function _class_call_check(instance, Constructor) {
|
|
9
|
-
if (!(instance instanceof Constructor))
|
|
9
|
+
if (!(instance instanceof Constructor)) {
|
|
10
|
+
throw new TypeError("Cannot call a class as a function");
|
|
11
|
+
}
|
|
10
12
|
}
|
|
11
13
|
function _define_property(obj, key, value) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
if (key in obj) {
|
|
15
|
+
Object.defineProperty(obj, key, {
|
|
16
|
+
value,
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
obj[key] = value;
|
|
23
|
+
}
|
|
24
|
+
return obj;
|
|
18
25
|
}
|
|
19
26
|
var Store = function Store2(props) {
|
|
20
27
|
"use strict";
|
|
21
28
|
|
|
22
|
-
_class_call_check(this, Store2)
|
|
29
|
+
_class_call_check(this, Store2);
|
|
30
|
+
_define_property(this, "props", void 0);
|
|
31
|
+
this.props = props;
|
|
23
32
|
};
|
|
24
33
|
export { Store, UNWRAP_PROXY, configureUseStore };
|
|
25
34
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["configureUseStore","UNWRAP_PROXY","_class_call_check","instance","Constructor","TypeError"
|
|
1
|
+
{"version":3,"names":["configureUseStore","UNWRAP_PROXY","_class_call_check","instance","Constructor","TypeError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,SAASA,iBAAA,QAAyB;AAClC,cAAc;AACd,cAAc;AACd,SAASC,YAAA,QAAoB;AAC7B,cAAc;AACd,cAAc;AAGP,SAAMC,iBAAyCA,CAAAC,QAAA,EAAAC,WAAA;EACpD,MAAAD,QAAmB,YAAcC,WAAA;IAAd,UAAAC,SAAA;EAAe;AACpC","ignoreList":[]}
|
package/dist/esm/observe.mjs
CHANGED
|
@@ -3,80 +3,124 @@ import { isEqualSubsetShallow } from "./comparators.mjs";
|
|
|
3
3
|
import { UNWRAP_PROXY } from "./constants.mjs";
|
|
4
4
|
import { trackStoresAccess } from "./useStore.mjs";
|
|
5
5
|
const logUpdate = process.env.NODE_ENV === "development" ? (fn, stores, last, next) => {
|
|
6
|
-
const getStoreLogName = store =>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const getStoreLogName = store => {
|
|
7
|
+
const str = store[UNWRAP_PROXY] ?? store;
|
|
8
|
+
return `${str.constructor.name}${store.props?.id ? `:${store.props.id}` : ""}`;
|
|
9
|
+
};
|
|
10
|
+
const storeNames = stores.map(getStoreLogName).join(", ");
|
|
11
|
+
const name = `\u{1F311} \u25B6\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;
|
|
12
|
+
console.groupCollapsed(name, "color: tomato;");
|
|
13
|
+
console.groupCollapsed("trace >");
|
|
14
|
+
console.trace();
|
|
15
|
+
console.groupEnd();
|
|
16
|
+
console.info(" next", next);
|
|
17
|
+
console.groupEnd();
|
|
10
18
|
} : null;
|
|
11
19
|
function observe(fn) {
|
|
12
|
-
let prev = getObserverValueAndStoresAccessed(fn)
|
|
13
|
-
|
|
20
|
+
let prev = getObserverValueAndStoresAccessed(fn);
|
|
21
|
+
let disposeValue = null;
|
|
14
22
|
const subscribe = () => {
|
|
15
23
|
const stores = [...prev.storeInfos];
|
|
16
24
|
return subscribeToStores(stores, () => {
|
|
17
25
|
disposeValue?.();
|
|
18
26
|
const next = getObserverValueAndStoresAccessed(fn);
|
|
19
|
-
if (typeof next.value
|
|
20
|
-
disposeValue = next.value
|
|
27
|
+
if (typeof next.value === "function") {
|
|
28
|
+
disposeValue = next.value;
|
|
29
|
+
if (process.env.NODE_ENV === "development") {
|
|
30
|
+
logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
|
|
31
|
+
}
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (isEqualSubsetShallow(prev.storeInfos, next.storeInfos) && isEqualSubsetShallow(prev.value, next.value)) {
|
|
21
35
|
return;
|
|
22
36
|
}
|
|
23
|
-
|
|
37
|
+
if (process.env.NODE_ENV === "development") {
|
|
38
|
+
logUpdate(fn, [...next.storeInfos], prev.value, next.value);
|
|
39
|
+
}
|
|
40
|
+
prev = next;
|
|
41
|
+
dispose();
|
|
42
|
+
dispose = subscribe();
|
|
24
43
|
});
|
|
25
44
|
};
|
|
26
45
|
let dispose = subscribe();
|
|
27
46
|
return {
|
|
28
47
|
dispose: () => {
|
|
29
|
-
dispose()
|
|
48
|
+
dispose();
|
|
49
|
+
disposeValue?.();
|
|
30
50
|
},
|
|
31
51
|
getValue: () => prev.value
|
|
32
52
|
};
|
|
33
53
|
}
|
|
34
54
|
function useObserve(fn) {
|
|
35
|
-
const [state, setState] = React.useState(() =>
|
|
36
|
-
|
|
55
|
+
const [state, setState] = React.useState(() => {
|
|
56
|
+
return getObserverValueAndStoresAccessed(fn);
|
|
57
|
+
});
|
|
58
|
+
React.useEffect(() => {
|
|
37
59
|
let dispose;
|
|
38
60
|
const unsub = subscribeToStores([...state.storeInfos], () => {
|
|
39
61
|
dispose?.();
|
|
40
|
-
const next = getObserverValueAndStoresAccessed(fn)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (typeof next.value
|
|
44
|
-
process.env.NODE_ENV === "development"
|
|
62
|
+
const next = getObserverValueAndStoresAccessed(fn);
|
|
63
|
+
const nextStoreInfos = [...next.storeInfos];
|
|
64
|
+
const prevStoreInfos = [...state.storeInfos];
|
|
65
|
+
if (typeof next.value === "function") {
|
|
66
|
+
if (process.env.NODE_ENV === "development") {
|
|
67
|
+
logUpdate(fn, nextStoreInfos, "(fn)", "(fn)");
|
|
68
|
+
}
|
|
69
|
+
dispose = next.value;
|
|
45
70
|
return;
|
|
46
71
|
}
|
|
47
|
-
setState(prev =>
|
|
72
|
+
setState(prev => {
|
|
73
|
+
if (isEqualSubsetShallow(prevStoreInfos, nextStoreInfos) && isEqualSubsetShallow(prev.value, next.value)) {
|
|
74
|
+
return prev;
|
|
75
|
+
}
|
|
76
|
+
if (process.env.NODE_ENV === "development") {
|
|
77
|
+
logUpdate(fn, nextStoreInfos, prev.value, next.value);
|
|
78
|
+
}
|
|
79
|
+
return next;
|
|
80
|
+
});
|
|
48
81
|
});
|
|
49
82
|
return () => {
|
|
50
|
-
unsub()
|
|
83
|
+
unsub();
|
|
84
|
+
dispose?.();
|
|
51
85
|
};
|
|
52
|
-
}, [[...state.storeInfos].map(i => i.uid).join(",")])
|
|
86
|
+
}, [[...state.storeInfos].map(i => i.uid).join(",")]);
|
|
87
|
+
return state.value;
|
|
53
88
|
}
|
|
54
89
|
function getObserverValueAndStoresAccessed(selector) {
|
|
55
|
-
const storeInfos = /* @__PURE__ */new Set()
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
90
|
+
const storeInfos = /* @__PURE__ */new Set();
|
|
91
|
+
const dispose = trackStoresAccess(storeInfo => {
|
|
92
|
+
storeInfos.add(storeInfo);
|
|
93
|
+
});
|
|
94
|
+
const value = selector();
|
|
95
|
+
dispose();
|
|
96
|
+
return {
|
|
61
97
|
value,
|
|
62
98
|
storeInfos
|
|
63
99
|
};
|
|
64
100
|
}
|
|
65
101
|
function subscribeToStores(storeInfos, onUpdate) {
|
|
66
102
|
const disposes = [];
|
|
67
|
-
let isUpdating =
|
|
103
|
+
let isUpdating = false;
|
|
68
104
|
const onUpdateDebouncedWithoutTracking = () => {
|
|
69
|
-
|
|
105
|
+
if (isUpdating) return;
|
|
106
|
+
isUpdating = true;
|
|
107
|
+
queueMicrotask(() => {
|
|
70
108
|
try {
|
|
71
|
-
for (const storeInfo of storeInfos)
|
|
109
|
+
for (const storeInfo of storeInfos) {
|
|
110
|
+
storeInfo.disableTracking = true;
|
|
111
|
+
}
|
|
72
112
|
onUpdate();
|
|
73
113
|
} finally {
|
|
74
|
-
isUpdating =
|
|
75
|
-
for (const storeInfo of storeInfos)
|
|
114
|
+
isUpdating = false;
|
|
115
|
+
for (const storeInfo of storeInfos) {
|
|
116
|
+
storeInfo.disableTracking = false;
|
|
117
|
+
}
|
|
76
118
|
}
|
|
77
|
-
})
|
|
119
|
+
});
|
|
78
120
|
};
|
|
79
|
-
for (const storeInfo of storeInfos)
|
|
121
|
+
for (const storeInfo of storeInfos) {
|
|
122
|
+
disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
|
|
123
|
+
}
|
|
80
124
|
return () => {
|
|
81
125
|
disposes.forEach(x => x());
|
|
82
126
|
};
|
package/dist/esm/observe.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","isEqualSubsetShallow","UNWRAP_PROXY","trackStoresAccess","logUpdate","process","env","NODE_ENV","fn","stores","last","next","getStoreLogName","store","constructor","name","props","id","storeNames","map","join","console","groupCollapsed","trace","groupEnd","info","observe","prev","getObserverValueAndStoresAccessed","disposeValue","subscribe","storeInfos","subscribeToStores","value","dispose","getValue","useObserve","state","setState","useState","useEffect","unsub","nextStoreInfos","prevStoreInfos","i","uid","selector","Set","storeInfo","add","onUpdate","disposes","isUpdating","onUpdateDebouncedWithoutTracking","queueMicrotask","disableTracking","push","forEach","x"],"sources":["../../src/observe.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,oBAAA,QAA4B;AACrC,SAASC,YAAA,QAAoB;AAE7B,SAASC,iBAAA,QAAyB;AAElC,MAAMC,SAAA,GACJC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBACrB,CAACC,EAAA,EAASC,MAAA,EAAeC,IAAA,EAAWC,IAAA,KAAc;EAChD,MAAMC,eAAA,GAAmBC,KAAA,
|
|
1
|
+
{"version":3,"names":["React","isEqualSubsetShallow","UNWRAP_PROXY","trackStoresAccess","logUpdate","process","env","NODE_ENV","fn","stores","last","next","getStoreLogName","store","str","constructor","name","props","id","storeNames","map","join","console","groupCollapsed","trace","groupEnd","info","observe","prev","getObserverValueAndStoresAccessed","disposeValue","subscribe","storeInfos","subscribeToStores","value","dispose","getValue","useObserve","state","setState","useState","useEffect","unsub","nextStoreInfos","prevStoreInfos","i","uid","selector","Set","storeInfo","add","onUpdate","disposes","isUpdating","onUpdateDebouncedWithoutTracking","queueMicrotask","disableTracking","push","forEach","x"],"sources":["../../src/observe.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -4,34 +4,51 @@ import { UNWRAP_PROXY } from "./constants.native.js";
|
|
|
4
4
|
import { trackStoresAccess } from "./useStore.native.js";
|
|
5
5
|
var logUpdate = process.env.NODE_ENV === "development" ? function (fn, stores, last, next) {
|
|
6
6
|
var getStoreLogName = function (store) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
console.groupCollapsed(name, "color: tomato;")
|
|
7
|
+
var _store_props;
|
|
8
|
+
var _store_UNWRAP_PROXY;
|
|
9
|
+
var str = (_store_UNWRAP_PROXY = store[UNWRAP_PROXY]) !== null && _store_UNWRAP_PROXY !== void 0 ? _store_UNWRAP_PROXY : store;
|
|
10
|
+
return `${str.constructor.name}${((_store_props = store.props) === null || _store_props === void 0 ? void 0 : _store_props.id) ? `:${store.props.id}` : ""}`;
|
|
11
|
+
};
|
|
12
|
+
var storeNames = stores.map(getStoreLogName).join(", ");
|
|
13
|
+
var name = `\u{1F311} \u25B6\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;
|
|
14
|
+
console.groupCollapsed(name, "color: tomato;");
|
|
15
|
+
console.groupCollapsed("trace >");
|
|
16
|
+
console.trace();
|
|
17
|
+
console.groupEnd();
|
|
18
|
+
console.info(" next", next);
|
|
19
|
+
console.groupEnd();
|
|
15
20
|
} : null;
|
|
16
21
|
function observe(fn) {
|
|
17
|
-
var prev = getObserverValueAndStoresAccessed(fn)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
var prev = getObserverValueAndStoresAccessed(fn);
|
|
23
|
+
var disposeValue = null;
|
|
24
|
+
var subscribe = function () {
|
|
25
|
+
var stores = [...prev.storeInfos];
|
|
26
|
+
return subscribeToStores(stores, function () {
|
|
27
|
+
disposeValue === null || disposeValue === void 0 ? void 0 : disposeValue();
|
|
28
|
+
var next = getObserverValueAndStoresAccessed(fn);
|
|
29
|
+
if (typeof next.value === "function") {
|
|
30
|
+
disposeValue = next.value;
|
|
31
|
+
if (process.env.NODE_ENV === "development") {
|
|
32
|
+
logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
|
|
27
33
|
}
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (isEqualSubsetShallow(prev.storeInfos, next.storeInfos) && isEqualSubsetShallow(prev.value, next.value)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (process.env.NODE_ENV === "development") {
|
|
40
|
+
logUpdate(fn, [...next.storeInfos], prev.value, next.value);
|
|
41
|
+
}
|
|
42
|
+
prev = next;
|
|
43
|
+
dispose();
|
|
44
|
+
dispose = subscribe();
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
var dispose = subscribe();
|
|
32
48
|
return {
|
|
33
49
|
dispose: function () {
|
|
34
|
-
dispose()
|
|
50
|
+
dispose();
|
|
51
|
+
disposeValue === null || disposeValue === void 0 ? void 0 : disposeValue();
|
|
35
52
|
},
|
|
36
53
|
getValue: function () {
|
|
37
54
|
return prev.value;
|
|
@@ -42,100 +59,129 @@ function useObserve(fn) {
|
|
|
42
59
|
var [state, setState] = React.useState(function () {
|
|
43
60
|
return getObserverValueAndStoresAccessed(fn);
|
|
44
61
|
});
|
|
45
|
-
|
|
46
|
-
var dispose
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
62
|
+
React.useEffect(function () {
|
|
63
|
+
var dispose;
|
|
64
|
+
var unsub = subscribeToStores([...state.storeInfos], function () {
|
|
65
|
+
dispose === null || dispose === void 0 ? void 0 : dispose();
|
|
66
|
+
var next = getObserverValueAndStoresAccessed(fn);
|
|
67
|
+
var nextStoreInfos = [...next.storeInfos];
|
|
68
|
+
var prevStoreInfos = [...state.storeInfos];
|
|
69
|
+
if (typeof next.value === "function") {
|
|
70
|
+
if (process.env.NODE_ENV === "development") {
|
|
71
|
+
logUpdate(fn, nextStoreInfos, "(fn)", "(fn)");
|
|
72
|
+
}
|
|
73
|
+
dispose = next.value;
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
setState(function (prev) {
|
|
77
|
+
if (isEqualSubsetShallow(prevStoreInfos, nextStoreInfos) && isEqualSubsetShallow(prev.value, next.value)) {
|
|
78
|
+
return prev;
|
|
79
|
+
}
|
|
80
|
+
if (process.env.NODE_ENV === "development") {
|
|
81
|
+
logUpdate(fn, nextStoreInfos, prev.value, next.value);
|
|
55
82
|
}
|
|
56
|
-
|
|
57
|
-
return isEqualSubsetShallow(prevStoreInfos, nextStoreInfos) && isEqualSubsetShallow(prev.value, next.value) ? prev : (process.env.NODE_ENV === "development" && logUpdate(fn, nextStoreInfos, prev.value, next.value), next);
|
|
58
|
-
});
|
|
83
|
+
return next;
|
|
59
84
|
});
|
|
85
|
+
});
|
|
60
86
|
return function () {
|
|
61
|
-
unsub()
|
|
87
|
+
unsub();
|
|
88
|
+
dispose === null || dispose === void 0 ? void 0 : dispose();
|
|
62
89
|
};
|
|
63
90
|
}, [[...state.storeInfos].map(function (i) {
|
|
64
91
|
return i.uid;
|
|
65
|
-
}).join(",")])
|
|
92
|
+
}).join(",")]);
|
|
93
|
+
return state.value;
|
|
66
94
|
}
|
|
67
95
|
function getObserverValueAndStoresAccessed(selector) {
|
|
68
|
-
var storeInfos = /* @__PURE__ */new Set()
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
96
|
+
var storeInfos = /* @__PURE__ */new Set();
|
|
97
|
+
var dispose = trackStoresAccess(function (storeInfo) {
|
|
98
|
+
storeInfos.add(storeInfo);
|
|
99
|
+
});
|
|
100
|
+
var value = selector();
|
|
101
|
+
dispose();
|
|
102
|
+
return {
|
|
74
103
|
value,
|
|
75
104
|
storeInfos
|
|
76
105
|
};
|
|
77
106
|
}
|
|
78
107
|
function subscribeToStores(storeInfos, onUpdate) {
|
|
79
|
-
var disposes = []
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
108
|
+
var disposes = [];
|
|
109
|
+
var isUpdating = false;
|
|
110
|
+
var onUpdateDebouncedWithoutTracking = function () {
|
|
111
|
+
if (isUpdating) return;
|
|
112
|
+
isUpdating = true;
|
|
113
|
+
queueMicrotask(function () {
|
|
114
|
+
try {
|
|
115
|
+
var _iteratorNormalCompletion2 = true,
|
|
116
|
+
_didIteratorError2 = false,
|
|
117
|
+
_iteratorError2 = void 0;
|
|
83
118
|
try {
|
|
84
|
-
var _iteratorNormalCompletion2 =
|
|
85
|
-
|
|
86
|
-
|
|
119
|
+
for (var _iterator2 = storeInfos[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
120
|
+
var storeInfo2 = _step2.value;
|
|
121
|
+
storeInfo2.disableTracking = true;
|
|
122
|
+
}
|
|
123
|
+
} catch (err) {
|
|
124
|
+
_didIteratorError2 = true;
|
|
125
|
+
_iteratorError2 = err;
|
|
126
|
+
} finally {
|
|
87
127
|
try {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
storeInfo2.disableTracking = !0;
|
|
128
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
129
|
+
_iterator2.return();
|
|
91
130
|
}
|
|
92
|
-
} catch (err) {
|
|
93
|
-
_didIteratorError2 = !0, _iteratorError2 = err;
|
|
94
131
|
} finally {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
} finally {
|
|
98
|
-
if (_didIteratorError2) throw _iteratorError2;
|
|
132
|
+
if (_didIteratorError2) {
|
|
133
|
+
throw _iteratorError2;
|
|
99
134
|
}
|
|
100
135
|
}
|
|
101
|
-
|
|
136
|
+
}
|
|
137
|
+
onUpdate();
|
|
138
|
+
} finally {
|
|
139
|
+
isUpdating = false;
|
|
140
|
+
var _iteratorNormalCompletion1 = true,
|
|
141
|
+
_didIteratorError1 = false,
|
|
142
|
+
_iteratorError1 = void 0;
|
|
143
|
+
try {
|
|
144
|
+
for (var _iterator1 = storeInfos[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
145
|
+
var storeInfo1 = _step1.value;
|
|
146
|
+
storeInfo1.disableTracking = false;
|
|
147
|
+
}
|
|
148
|
+
} catch (err) {
|
|
149
|
+
_didIteratorError1 = true;
|
|
150
|
+
_iteratorError1 = err;
|
|
102
151
|
} finally {
|
|
103
|
-
isUpdating = !1;
|
|
104
|
-
var _iteratorNormalCompletion1 = !0,
|
|
105
|
-
_didIteratorError1 = !1,
|
|
106
|
-
_iteratorError1 = void 0;
|
|
107
152
|
try {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
storeInfo1.disableTracking = !1;
|
|
153
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
154
|
+
_iterator1.return();
|
|
111
155
|
}
|
|
112
|
-
} catch (err) {
|
|
113
|
-
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
114
156
|
} finally {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
} finally {
|
|
118
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
157
|
+
if (_didIteratorError1) {
|
|
158
|
+
throw _iteratorError1;
|
|
119
159
|
}
|
|
120
160
|
}
|
|
121
161
|
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
var _iteratorNormalCompletion = true,
|
|
166
|
+
_didIteratorError = false,
|
|
126
167
|
_iteratorError = void 0;
|
|
127
168
|
try {
|
|
128
|
-
for (var _iterator = storeInfos[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion =
|
|
169
|
+
for (var _iterator = storeInfos[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
129
170
|
var storeInfo = _step.value;
|
|
130
171
|
disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
|
|
131
172
|
}
|
|
132
173
|
} catch (err) {
|
|
133
|
-
_didIteratorError =
|
|
174
|
+
_didIteratorError = true;
|
|
175
|
+
_iteratorError = err;
|
|
134
176
|
} finally {
|
|
135
177
|
try {
|
|
136
|
-
!_iteratorNormalCompletion && _iterator.return != null
|
|
178
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
179
|
+
_iterator.return();
|
|
180
|
+
}
|
|
137
181
|
} finally {
|
|
138
|
-
if (_didIteratorError)
|
|
182
|
+
if (_didIteratorError) {
|
|
183
|
+
throw _iteratorError;
|
|
184
|
+
}
|
|
139
185
|
}
|
|
140
186
|
}
|
|
141
187
|
return function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","isEqualSubsetShallow","UNWRAP_PROXY","trackStoresAccess","logUpdate","process","env","NODE_ENV","fn","stores","last","next","getStoreLogName","store","_store_props","_store_UNWRAP_PROXY","str","constructor","name","props","id","storeNames","map","join","console","groupCollapsed","trace","groupEnd","info","observe","prev","getObserverValueAndStoresAccessed","disposeValue","subscribe","storeInfos","subscribeToStores","value","dispose","getValue","useObserve","state","setState","useState","useEffect","unsub","nextStoreInfos","prevStoreInfos","i","uid","selector","Set","storeInfo","add"],"sources":["../../src/observe.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,oBAAA,QAA4B;AACrC,SAASC,YAAA,QAAoB;AAE7B,SAASC,iBAAA,QAAyB;AAElC,IAAAC,SAAM,GAAAC,OACJ,CAAAC,GAAQ,CAAAC,QAAI,kBAAa,aACXC,EAAA,EAAAC,MAAe,EAAWC,IAAA,EAAAC,IAAc;EAChD,IAAAC,eAAM,YAAAA,CAAmBC,
|
|
1
|
+
{"version":3,"names":["React","isEqualSubsetShallow","UNWRAP_PROXY","trackStoresAccess","logUpdate","process","env","NODE_ENV","fn","stores","last","next","getStoreLogName","store","_store_props","_store_UNWRAP_PROXY","str","constructor","name","props","id","storeNames","map","join","console","groupCollapsed","trace","groupEnd","info","observe","prev","getObserverValueAndStoresAccessed","disposeValue","subscribe","storeInfos","subscribeToStores","value","dispose","getValue","useObserve","state","setState","useState","useEffect","unsub","nextStoreInfos","prevStoreInfos","i","uid","selector","Set","storeInfo","add","onUpdate","disposes","isUpdating","onUpdateDebouncedWithoutTracking"],"sources":["../../src/observe.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,oBAAA,QAA4B;AACrC,SAASC,YAAA,QAAoB;AAE7B,SAASC,iBAAA,QAAyB;AAElC,IAAAC,SAAM,GAAAC,OACJ,CAAAC,GAAQ,CAAAC,QAAI,kBAAa,aACXC,EAAA,EAAAC,MAAe,EAAWC,IAAA,EAAAC,IAAc;EAChD,IAAAC,eAAM,YAAAA,CAAmBC,KAAe;IACtC,IAAAC,YAAY;IACZ,IAAAC,mBAAc;IAChB,IAAAC,GAAA,IAAAD,mBAAA,GAAAF,KAAA,CAAAX,YAAA,eAAAa,mBAAA,cAAAA,mBAAA,GAAAF,KAAA;IACA,OAAM,GAAAG,GAAA,CAAAC,WAAoB,CAAAC,IAAI,KAAAJ,YAAiB,GAAKD,KAAI,CAAAM,KAAA,cAAAL,YAAA,uBAAAA,YAAA,CAAAM,EAAA,QAAAP,KAAA,CAAAM,KAAA,CAAAC,EAAA;EACxD;EACA,IAAAC,UAAQ,GAAAZ,MAAe,CAAAa,GAAA,CAAAV,eAAM,EAAgBW,IAAA;EAC7C,IAAAL,IAAQ,gCAAwBV,EAAA,CAAAU,IAAA,IAAAG,UAAA,OAAAX,IAAA,OAAAC,IAAA;EAChCa,OAAA,CAAQC,cAAM,CAAAP,IAAA;EACdM,OAAA,CAAQC,cAAS;EACjBD,OAAA,CAAQE,KAAK;EACbF,OAAA,CAAQG,QAAA,CAAS;EACnBH,OACA,CAAAI,IAAA,WAAAjB,IAAA;EAECa,OAAS,CAAAG,QAAQ;AACtB,QAAI;AACJ,SAAIE,QAAArB,EAAA,EAAgC;EAEpC,IAAAsB,IAAM,GAAAC,iCAAkB,CAAAvB,EAAA;EACtB,IAAAwB,YAAM,GAAU,IAAG;EACnB,IAAAC,SAAO,YAAAA,CAAA,EAAkB;IACvB,IAAAxB,MAAA,IACA,GAAAqB,IAAM,CAAAI,UAAO,CAEb;IACE,OAAAC,iBAAoB,CAAA1B,MAAA;MACpBuB,YAAI,KAAQ,IAAI,IAAAA,YAAa,UAAe,aAAAA,YAAA;MAC1C,IAAArB,IAAA,GAAAoB,iCAAqC,CAAAvB,EAAA,CAAQ;MAAM,IACrD,OAAAG,IAAA,CAAAyB,KAAA;QACAJ,YAAA,GAAArB,IAAA,CAAAyB,KAAA;QACF,IAAA/B,OAAA,CAAAC,GAAA,CAAAC,QAAA;UAEEH,SAAA,CAAAI,EAAA,GAGA,GAAAG,IAAA,CAAAuB,UAAA,CACF;QACA;QACE;MACF;MACA,IAAAjC,oBAAO,CAAA6B,IAAA,CAAAI,UAAA,EAAAvB,IAAA,CAAAuB,UAAA,KAAAjC,oBAAA,CAAA6B,IAAA,CAAAM,KAAA,EAAAzB,IAAA,CAAAyB,KAAA;QACP;MACA;MACD,IAAA/B,OAAA,CAAAC,GAAA,CAAAC,QAAA;QACHH,SAAA,CAAAI,EAAA,GAEI,GAAAG,IAAU,CAAAuB,UAAU,CAEjB,EAAAJ,IAAA,CAAAM,KAAA,EAAAzB,IAAA,CAAAyB,KAAA;MACL;MACEN,IAAA,GAAAnB,IAAQ;MACR0B,OAAA;MACFA,OAAA,GAAAJ,SAAA;IACA;EACF;EACF,IAAAI,OAAA,GAAAJ,SAAA;EAEO,OAAS;IACdI,OAAO,WAAAA,CAAA,EAAe;MACpBA,OAAO;MACRL,YAAA,aAAAA,YAAA,uBAAAA,YAAA;IAED;IACEM,QAAI,WAAAA,CAAA;MACJ,OAAMR,IAAA,CAAQM,KAAA;IACZ;EACA;AAEA;AACA,SAAAG,UAAMA,CAAA/B,EAAA;EAGN,KAAAgC,KAAI,EAAAC,QAAY,IAAAzC,KAAA,CAAU0C,QAAA,aAAY;IACpC,OAAAX,iCAA6B,CAAAvB,EAAA;EAC3B;EAA6CR,KAAA,CAC/C2C,SAAA;IACA,IAAAN,OAAA;IACA,IAAAO,KAAA,GAAAT,iBAAA,EACF,GAAAK,KAAA,CAAAN,UAAA,CAEA,cAAU;MACRG,OACE,aAAAA,OAAqB,mBAAgB,IAAAA,OAAc;MAGnD,IAAA1B,IAAA,GAAOoB,iCAAA,CAAAvB,EAAA;MAAA,IACTqC,cAAA,IACA,GAAAlC,IAAI,CAAAuB,UAAY,CACd;MAAqD,IACvDY,cAAA,IACA,GAAAN,KAAO,CAAAN,UAAA,CACR;MACF,WAAAvB,IAAA,CAAAyB,KAAA;QAED,IAAO/B,OAAM,CAAAC,GAAA,CAAAC,QAAA;UACXH,SAAM,CAAAI,EAAA,EAAAqC,cAAA;QACN;QACFR,OAAA,GAAA1B,IAAA,CAAAyB,KAAA;QACG;MAEL;MACFK,QAAA,WAAAX,IAAA;QAEA,IAAS7B,oBAAA,CAAA6C,cAAqC,EAAAD,cAG5C,KAAA5C,oBAAA,CAAA6B,IAAA,CAAAM,KAAA,EAAAzB,IAAA,CAAAyB,KAAA;UACM,OAAAN,IAAa;QACb;QACJ,IAAAzB,OAAe,CAAAC,GAAA,CAAAC,QAAS;UACzBH,SAAA,CAAAI,EAAA,EAAAqC,cAAA,EAAAf,IAAA,CAAAM,KAAA,EAAAzB,IAAA,CAAAyB,KAAA;QACK;QACN,OAAQzB,IAAA;MACR;IACE;IACA;MACFiC,KAAA;MACFP,OAAA,aAAAA,OAAA,uBAAAA,OAAA;IAEA;EACE,IAGA,CACA,GAAMG,KAAA,CAAAN,UAAA,CACJ,CAAAZ,GAAI,WAAYyB,CAAA;IAChB,OAAAA,CAAA,CAAAC,GAAa;EACb,GAAAzB,IAAA,MACE;EACE,OAAAiB,KAAA,CAAAJ,KAAW;AACT;AAA4B,SAC9BL,kCAAAkB,QAAA;EACA,IAAAf,UAAA,GAAS,mBAAAgB,GAAA;EAAA,IACXb,OAAA,GAAElC,iBAAA,WAAAgD,SAAA;IACAjB,UAAA,CAAAkB,GAAA,CAAAD,SAAa;EACb;EACE,IAAAf,KAAA,GAAAa,QAAU;EAAkBZ,OAC9B;EAAA,OACF;IACFD,KAAC;IACHF;EAEA;AACE;AAAmE,SACrEC,kBAAAD,UAAA,EAAAmB,QAAA;EACA,IAAAC,QAAO,GAAM;EACX,IAAAC,UAAS,QAAS;EACpB,IAAAC,gCAAA,YAAAA,CAAA;IACF,IAAAD,UAAA","ignoreList":[]}
|