@hanzogui/use-store 2.0.0-rc.41-hanzoai.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/LICENSE +21 -0
- package/README.md +91 -0
- package/dist/cjs/comparators.cjs +41 -0
- package/dist/cjs/comparators.native.js +50 -0
- package/dist/cjs/comparators.native.js.map +1 -0
- package/dist/cjs/configureUseStore.cjs +32 -0
- package/dist/cjs/configureUseStore.native.js +35 -0
- package/dist/cjs/configureUseStore.native.js.map +1 -0
- package/dist/cjs/constants.cjs +33 -0
- package/dist/cjs/constants.native.js +36 -0
- package/dist/cjs/constants.native.js.map +1 -0
- package/dist/cjs/decorators.cjs +33 -0
- package/dist/cjs/decorators.native.js +36 -0
- package/dist/cjs/decorators.native.js.map +1 -0
- package/dist/cjs/helpers.cjs +62 -0
- package/dist/cjs/helpers.native.js +71 -0
- package/dist/cjs/helpers.native.js.map +1 -0
- package/dist/cjs/index.cjs +43 -0
- package/dist/cjs/index.native.js +65 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/interfaces.cjs +18 -0
- package/dist/cjs/interfaces.native.js +21 -0
- package/dist/cjs/interfaces.native.js.map +1 -0
- package/dist/cjs/observe.cjs +166 -0
- package/dist/cjs/observe.native.js +234 -0
- package/dist/cjs/observe.native.js.map +1 -0
- package/dist/cjs/useStore.cjs +467 -0
- package/dist/cjs/useStore.native.js +608 -0
- package/dist/cjs/useStore.native.js.map +1 -0
- package/dist/cjs/useStoreDebug.cjs +67 -0
- package/dist/cjs/useStoreDebug.native.js +71 -0
- package/dist/cjs/useStoreDebug.native.js.map +1 -0
- package/dist/esm/comparators.mjs +16 -0
- package/dist/esm/comparators.mjs.map +1 -0
- package/dist/esm/comparators.native.js +22 -0
- package/dist/esm/comparators.native.js.map +1 -0
- package/dist/esm/configureUseStore.mjs +6 -0
- package/dist/esm/configureUseStore.mjs.map +1 -0
- package/dist/esm/configureUseStore.native.js +6 -0
- package/dist/esm/configureUseStore.native.js.map +1 -0
- package/dist/esm/constants.mjs +7 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/constants.native.js +7 -0
- package/dist/esm/constants.native.js.map +1 -0
- package/dist/esm/decorators.mjs +8 -0
- package/dist/esm/decorators.mjs.map +1 -0
- package/dist/esm/decorators.native.js +8 -0
- package/dist/esm/decorators.native.js.map +1 -0
- package/dist/esm/helpers.mjs +31 -0
- package/dist/esm/helpers.mjs.map +1 -0
- package/dist/esm/helpers.native.js +37 -0
- package/dist/esm/helpers.native.js.map +1 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +15 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +34 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/interfaces.mjs +2 -0
- package/dist/esm/interfaces.mjs.map +1 -0
- package/dist/esm/interfaces.native.js +2 -0
- package/dist/esm/interfaces.native.js.map +1 -0
- package/dist/esm/observe.mjs +129 -0
- package/dist/esm/observe.mjs.map +1 -0
- package/dist/esm/observe.native.js +194 -0
- package/dist/esm/observe.native.js.map +1 -0
- package/dist/esm/useStore.mjs +417 -0
- package/dist/esm/useStore.mjs.map +1 -0
- package/dist/esm/useStore.native.js +555 -0
- package/dist/esm/useStore.native.js.map +1 -0
- package/dist/esm/useStoreDebug.mjs +27 -0
- package/dist/esm/useStoreDebug.mjs.map +1 -0
- package/dist/esm/useStoreDebug.native.js +28 -0
- package/dist/esm/useStoreDebug.native.js.map +1 -0
- package/package.json +47 -0
- package/src/comparators.tsx +18 -0
- package/src/configureUseStore.tsx +7 -0
- package/src/constants.tsx +6 -0
- package/src/decorators.tsx +8 -0
- package/src/helpers.tsx +56 -0
- package/src/index.ts +12 -0
- package/src/interfaces.tsx +46 -0
- package/src/observe.tsx +160 -0
- package/src/useStore.tsx +705 -0
- package/src/useStoreDebug.tsx +41 -0
|
@@ -0,0 +1,555 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { isEqualSubsetShallow } from "./comparators.native.js";
|
|
3
|
+
import { configureOpts } from "./configureUseStore.native.js";
|
|
4
|
+
import { UNWRAP_PROXY, defaultOptions } from "./constants.native.js";
|
|
5
|
+
import { UNWRAP_STORE_INFO, cache, getStoreDescriptors, getStoreUid, simpleStr } from "./helpers.native.js";
|
|
6
|
+
import { DebugStores, shouldDebug, useCurrentComponent } from "./useStoreDebug.native.js";
|
|
7
|
+
function _instanceof(left, right) {
|
|
8
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);else return left instanceof right;
|
|
9
|
+
}
|
|
10
|
+
var idFn = function (_) {
|
|
11
|
+
return _;
|
|
12
|
+
};
|
|
13
|
+
function useStore(StoreKlass, props) {
|
|
14
|
+
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOptions;
|
|
15
|
+
return useStoreFromInfo(getOrCreateStoreInfo(StoreKlass, props, options), options.selector, options);
|
|
16
|
+
}
|
|
17
|
+
function useStoreDebug(StoreKlass, props) {
|
|
18
|
+
return useStore(StoreKlass, props, {
|
|
19
|
+
debug: true
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function createStore(StoreKlass, props, options) {
|
|
23
|
+
var _getOrCreateStoreInfo;
|
|
24
|
+
return (_getOrCreateStoreInfo = getOrCreateStoreInfo(StoreKlass, props, options)) === null || _getOrCreateStoreInfo === void 0 ? void 0 : _getOrCreateStoreInfo.store;
|
|
25
|
+
}
|
|
26
|
+
function useGlobalStore(instance, debug) {
|
|
27
|
+
var store = instance[UNWRAP_PROXY];
|
|
28
|
+
var uid = getStoreUid(store.constructor, store.props);
|
|
29
|
+
var info = cache.get(uid);
|
|
30
|
+
if (!info) throw new Error(`This store not created using createStore()`);
|
|
31
|
+
return useStoreFromInfo(info, void 0, {
|
|
32
|
+
debug
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function useGlobalStoreSelector(instance, selector, debug) {
|
|
36
|
+
var store = instance[UNWRAP_PROXY];
|
|
37
|
+
var uid = getStoreUid(store.constructor, store.props);
|
|
38
|
+
var info = cache.get(uid);
|
|
39
|
+
if (!info) throw new Error(`This store not created using createStore()`);
|
|
40
|
+
return useStoreFromInfo(info, selector, {
|
|
41
|
+
debug
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function createUseStore(StoreKlass) {
|
|
45
|
+
return function (props, options) {
|
|
46
|
+
return useStore(StoreKlass, props, options);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function createUseStoreSelector(StoreKlass, selector) {
|
|
50
|
+
return function (props) {
|
|
51
|
+
return useStore(StoreKlass, props, {
|
|
52
|
+
selector
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function useStoreSelector(StoreKlass, selector, props) {
|
|
57
|
+
return useStore(StoreKlass, props, {
|
|
58
|
+
selector
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
var storeAccessTrackers = /* @__PURE__ */new Set();
|
|
62
|
+
function trackStoresAccess(cb) {
|
|
63
|
+
storeAccessTrackers.add(cb);
|
|
64
|
+
return function () {
|
|
65
|
+
storeAccessTrackers.delete(cb);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function getStore(StoreKlass, props) {
|
|
69
|
+
var _getStoreInfo;
|
|
70
|
+
return (_getStoreInfo = getStoreInfo(StoreKlass, props)) === null || _getStoreInfo === void 0 ? void 0 : _getStoreInfo.store;
|
|
71
|
+
}
|
|
72
|
+
function getOrCreateStore(StoreKlass, props) {
|
|
73
|
+
var _getOrCreateStoreInfo;
|
|
74
|
+
return (_getOrCreateStoreInfo = getOrCreateStoreInfo(StoreKlass, props, {
|
|
75
|
+
refuseCreation: false
|
|
76
|
+
})) === null || _getOrCreateStoreInfo === void 0 ? void 0 : _getOrCreateStoreInfo.store;
|
|
77
|
+
}
|
|
78
|
+
function getStoreInfo(StoreKlass, props) {
|
|
79
|
+
return getOrCreateStoreInfo(StoreKlass, props, {
|
|
80
|
+
refuseCreation: true
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
var onCreateListeners = /* @__PURE__ */new Set();
|
|
84
|
+
function onCreateStore(cb) {
|
|
85
|
+
onCreateListeners.add(cb);
|
|
86
|
+
return function () {
|
|
87
|
+
onCreateListeners.delete(cb);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
|
|
91
|
+
var _store_mount;
|
|
92
|
+
if (!StoreKlass) return null;
|
|
93
|
+
var uid = getStoreUid(StoreKlass, propsKeyCalculated !== null && propsKeyCalculated !== void 0 ? propsKeyCalculated : props);
|
|
94
|
+
if (!(options === null || options === void 0 ? void 0 : options.avoidCache) && cache.has(uid)) return cache.get(uid);
|
|
95
|
+
if (options === null || options === void 0 ? void 0 : options.refuseCreation) throw new Error(`No store exists (${StoreKlass.name}) with props: ${props}`);
|
|
96
|
+
var storeInstance = new StoreKlass(props);
|
|
97
|
+
storeInstance.props = props;
|
|
98
|
+
var getters = {};
|
|
99
|
+
var actions = {};
|
|
100
|
+
var stateKeys = /* @__PURE__ */new Set();
|
|
101
|
+
var descriptors = getStoreDescriptors(storeInstance);
|
|
102
|
+
for (var key in descriptors) {
|
|
103
|
+
var descriptor = descriptors[key];
|
|
104
|
+
if (typeof descriptor.value === "function") actions[key] = descriptor.value;else if (typeof descriptor.get === "function") getters[key] = descriptor.get;else if (key !== "props" && key[0] !== "_") stateKeys.add(key);
|
|
105
|
+
}
|
|
106
|
+
var keyComparators = storeInstance["_comparators"];
|
|
107
|
+
var listeners = /* @__PURE__ */new Set();
|
|
108
|
+
var storeInfo = {
|
|
109
|
+
uid,
|
|
110
|
+
keyComparators,
|
|
111
|
+
storeInstance,
|
|
112
|
+
getters,
|
|
113
|
+
stateKeys,
|
|
114
|
+
props,
|
|
115
|
+
actions,
|
|
116
|
+
debug: options === null || options === void 0 ? void 0 : options.debug,
|
|
117
|
+
disableTracking: false,
|
|
118
|
+
gettersState: {
|
|
119
|
+
getCache: /* @__PURE__ */new Map(),
|
|
120
|
+
depsToGetter: /* @__PURE__ */new Map(),
|
|
121
|
+
curGetKeys: /* @__PURE__ */new Set(),
|
|
122
|
+
isGetting: false
|
|
123
|
+
},
|
|
124
|
+
listeners,
|
|
125
|
+
trackers: /* @__PURE__ */new Set(),
|
|
126
|
+
version: 0,
|
|
127
|
+
subscribe: function (onChanged) {
|
|
128
|
+
listeners.add(onChanged);
|
|
129
|
+
return function () {
|
|
130
|
+
listeners.delete(onChanged);
|
|
131
|
+
};
|
|
132
|
+
},
|
|
133
|
+
triggerUpdate: function () {
|
|
134
|
+
storeInfo.version = (storeInfo.version + 1) % Number.MAX_SAFE_INTEGER;
|
|
135
|
+
var _iteratorNormalCompletion = true,
|
|
136
|
+
_didIteratorError = false,
|
|
137
|
+
_iteratorError = void 0;
|
|
138
|
+
try {
|
|
139
|
+
for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
140
|
+
var cb = _step.value;
|
|
141
|
+
cb();
|
|
142
|
+
}
|
|
143
|
+
} catch (err) {
|
|
144
|
+
_didIteratorError = true;
|
|
145
|
+
_iteratorError = err;
|
|
146
|
+
} finally {
|
|
147
|
+
try {
|
|
148
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
149
|
+
} finally {
|
|
150
|
+
if (_didIteratorError) throw _iteratorError;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
var store = createProxiedStore(
|
|
156
|
+
// we assign store right after and proxiedStore never accesses it until later on
|
|
157
|
+
storeInfo);
|
|
158
|
+
if (process.env.NODE_ENV === "development") allStores[StoreKlass.name + uid] = store;
|
|
159
|
+
(_store_mount = store.mount) === null || _store_mount === void 0 || _store_mount.call(store);
|
|
160
|
+
storeInfo.store = store;
|
|
161
|
+
var result = storeInfo;
|
|
162
|
+
cache.set(uid, result);
|
|
163
|
+
onCreateListeners.forEach(function (cb) {
|
|
164
|
+
return cb(result);
|
|
165
|
+
});
|
|
166
|
+
return result;
|
|
167
|
+
}
|
|
168
|
+
var allStores = {};
|
|
169
|
+
if (process.env.NODE_ENV === "development") {
|
|
170
|
+
var _globalThis, _Store;
|
|
171
|
+
(_globalThis = globalThis)[_Store = "Store"] || (_globalThis[_Store] = allStores);
|
|
172
|
+
}
|
|
173
|
+
var emptyObj = {};
|
|
174
|
+
var selectKeys = function (obj, keys) {
|
|
175
|
+
if (!keys.length) return emptyObj;
|
|
176
|
+
var res = {};
|
|
177
|
+
var _iteratorNormalCompletion = true,
|
|
178
|
+
_didIteratorError = false,
|
|
179
|
+
_iteratorError = void 0;
|
|
180
|
+
try {
|
|
181
|
+
for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
182
|
+
var key = _step.value;
|
|
183
|
+
res[key] = obj[key];
|
|
184
|
+
}
|
|
185
|
+
} catch (err) {
|
|
186
|
+
_didIteratorError = true;
|
|
187
|
+
_iteratorError = err;
|
|
188
|
+
} finally {
|
|
189
|
+
try {
|
|
190
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
191
|
+
} finally {
|
|
192
|
+
if (_didIteratorError) throw _iteratorError;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return res;
|
|
196
|
+
};
|
|
197
|
+
var isInReaction = false;
|
|
198
|
+
var setIsInReaction = function (val) {
|
|
199
|
+
isInReaction = val;
|
|
200
|
+
};
|
|
201
|
+
function useStoreFromInfo(info, userSelector, options) {
|
|
202
|
+
var store = info === null || info === void 0 ? void 0 : info.store;
|
|
203
|
+
var internal = React.useRef(void 0);
|
|
204
|
+
var component = useCurrentComponent();
|
|
205
|
+
if (!internal.current) internal.current = {
|
|
206
|
+
component,
|
|
207
|
+
tracked: /* @__PURE__ */new Set(),
|
|
208
|
+
last: null,
|
|
209
|
+
lastKeys: null
|
|
210
|
+
};
|
|
211
|
+
var curInternal = internal.current;
|
|
212
|
+
var shouldPrintDebug = options === null || options === void 0 ? void 0 : options.debug;
|
|
213
|
+
var getSnapshot = React.useCallback(function () {
|
|
214
|
+
if (!info || !store) return;
|
|
215
|
+
var curInternal2 = internal.current;
|
|
216
|
+
var isTracking = curInternal2.tracked.size;
|
|
217
|
+
var keys = [...(!isTracking ? info.stateKeys : curInternal2.tracked)];
|
|
218
|
+
var nextKeys = `${info.version}${keys.join("")}${userSelector || ""}`;
|
|
219
|
+
var lastKeys = curInternal2.lastKeys;
|
|
220
|
+
if (nextKeys === curInternal2.lastKeys) return curInternal2.last;
|
|
221
|
+
curInternal2.lastKeys = nextKeys;
|
|
222
|
+
var snap;
|
|
223
|
+
info.disableTracking = true;
|
|
224
|
+
var last = curInternal2.last;
|
|
225
|
+
if (userSelector) snap = userSelector(store);else snap = selectKeys(store, keys);
|
|
226
|
+
info.disableTracking = false;
|
|
227
|
+
var isUnchanged = !userSelector && !isTracking && last || typeof last !== "undefined" && isEqualSubsetShallow(last, snap, {
|
|
228
|
+
keyComparators: info.keyComparators
|
|
229
|
+
});
|
|
230
|
+
if (shouldPrintDebug) console.info("🌑 getSnapshot", {
|
|
231
|
+
storeState: selectKeys(store, Object.keys(store)),
|
|
232
|
+
userSelector,
|
|
233
|
+
info,
|
|
234
|
+
isUnchanged,
|
|
235
|
+
component,
|
|
236
|
+
keys,
|
|
237
|
+
last,
|
|
238
|
+
snap,
|
|
239
|
+
curInternal: curInternal2,
|
|
240
|
+
nextKeys,
|
|
241
|
+
lastKeys
|
|
242
|
+
});
|
|
243
|
+
if (isUnchanged) return last;
|
|
244
|
+
curInternal2.last = snap;
|
|
245
|
+
return snap;
|
|
246
|
+
}, [store]);
|
|
247
|
+
var state = React.useSyncExternalStore((info === null || info === void 0 ? void 0 : info.subscribe) || idFn, getSnapshot, getSnapshot);
|
|
248
|
+
if (!info || !store || !state) return state;
|
|
249
|
+
if (userSelector) return state;
|
|
250
|
+
return new Proxy(store, {
|
|
251
|
+
get(target, key) {
|
|
252
|
+
var curVal = Reflect.get(target, key);
|
|
253
|
+
if (isInReaction) return curVal;
|
|
254
|
+
var keyString = key;
|
|
255
|
+
if (info.stateKeys.has(keyString) || keyString in info.getters) {
|
|
256
|
+
if (shouldPrintDebug) console.info("👀 tracking", keyString);
|
|
257
|
+
curInternal.tracked.add(keyString);
|
|
258
|
+
}
|
|
259
|
+
if (Reflect.has(state, key)) return Reflect.get(state, key);
|
|
260
|
+
return curVal;
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
var setters = /* @__PURE__ */new Set();
|
|
265
|
+
var logStack = /* @__PURE__ */new Set();
|
|
266
|
+
function createProxiedStore(storeInfo) {
|
|
267
|
+
var _loop = function (key2) {
|
|
268
|
+
if (key2 === "subscribe") return "continue";
|
|
269
|
+
var actionFn = actions[key2];
|
|
270
|
+
var isGetFn = key2.startsWith("get");
|
|
271
|
+
wrappedActions[key2] = function useStoreAction() {
|
|
272
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
|
|
273
|
+
var res;
|
|
274
|
+
if (isGetFn || gettersState.isGetting) return Reflect.apply(actionFn, proxiedStore, args);
|
|
275
|
+
if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("(debug) startAction", key2);
|
|
276
|
+
res = Reflect.apply(actionFn, proxiedStore, args);
|
|
277
|
+
if (_instanceof(res, Promise)) return res.then(finishAction);
|
|
278
|
+
finishAction();
|
|
279
|
+
return res;
|
|
280
|
+
};
|
|
281
|
+
if (process.env.NODE_ENV === "development") {
|
|
282
|
+
let hashCode2 = function (str) {
|
|
283
|
+
var hash = 0;
|
|
284
|
+
for (var i = 0; i < str.length; i++) hash = str.charCodeAt(i) + ((hash << 5) - hash);
|
|
285
|
+
return hash;
|
|
286
|
+
},
|
|
287
|
+
strColor2 = function (str) {
|
|
288
|
+
return `hsl(${hashCode2(str) % 360}, 90%, 40%)`;
|
|
289
|
+
};
|
|
290
|
+
if (!key2.startsWith("get") && !key2.startsWith("_") && key2 !== "subscribe") {
|
|
291
|
+
var ogAction = wrappedActions[key2];
|
|
292
|
+
wrappedActions[key2] = new Proxy(ogAction, {
|
|
293
|
+
apply(target, thisArg, args) {
|
|
294
|
+
var isDebugging = shouldDebug2 || storeInfo.debug;
|
|
295
|
+
if (!(process.env.LOG_LEVEL !== "0" && (isDebugging || configureOpts.logLevel !== "error"))) return Reflect.apply(target, thisArg, args);
|
|
296
|
+
setters = /* @__PURE__ */new Set();
|
|
297
|
+
var curSetters = setters;
|
|
298
|
+
var isTopLevelLogger = logStack.size == 0;
|
|
299
|
+
var logs = /* @__PURE__ */new Set();
|
|
300
|
+
logStack.add(logs);
|
|
301
|
+
var res;
|
|
302
|
+
var id = counter++;
|
|
303
|
+
try {
|
|
304
|
+
res = Reflect.apply(target, thisArg, args);
|
|
305
|
+
} catch (err) {
|
|
306
|
+
console.error("Error", err);
|
|
307
|
+
throw err;
|
|
308
|
+
} finally {
|
|
309
|
+
logStack.add("end");
|
|
310
|
+
var name = constr.name;
|
|
311
|
+
var color = strColor2(name);
|
|
312
|
+
var simpleArgs = args.map(simpleStr);
|
|
313
|
+
logs.add([`%c \u{1F311} ${id} ${name.padStart(isTopLevelLogger ? 8 : 4)}%c.${key2}(${simpleArgs.join(", ")})${isTopLevelLogger && logStack.size > 1 ? ` (+${logStack.size - 1})` : ""}`, `color: ${color};`, "color: black;"]);
|
|
314
|
+
if (curSetters.size) curSetters.forEach(function (param) {
|
|
315
|
+
var {
|
|
316
|
+
key: key3,
|
|
317
|
+
value
|
|
318
|
+
} = param;
|
|
319
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") logs.add([` SET ${key3} ${value}`, value]);else logs.add([` SET ${key3}`, value]);
|
|
320
|
+
});
|
|
321
|
+
if (isTopLevelLogger) {
|
|
322
|
+
var error = null;
|
|
323
|
+
try {
|
|
324
|
+
var _iteratorNormalCompletion = true,
|
|
325
|
+
_didIteratorError = false,
|
|
326
|
+
_iteratorError = void 0;
|
|
327
|
+
try {
|
|
328
|
+
for (var _iterator = logStack[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
329
|
+
var item = _step.value;
|
|
330
|
+
if (item === "end") {
|
|
331
|
+
console.groupEnd();
|
|
332
|
+
continue;
|
|
333
|
+
}
|
|
334
|
+
var [head, ...rest] = item;
|
|
335
|
+
if (head) {
|
|
336
|
+
console.groupCollapsed(...head);
|
|
337
|
+
console.groupCollapsed("...");
|
|
338
|
+
console.info("args", args);
|
|
339
|
+
console.info("response", res);
|
|
340
|
+
console.groupCollapsed("trace");
|
|
341
|
+
console.trace();
|
|
342
|
+
console.groupEnd();
|
|
343
|
+
console.groupEnd();
|
|
344
|
+
var _iteratorNormalCompletion1 = true,
|
|
345
|
+
_didIteratorError1 = false,
|
|
346
|
+
_iteratorError1 = void 0;
|
|
347
|
+
try {
|
|
348
|
+
for (var _iterator1 = rest[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
349
|
+
var [name1, ...log] = _step1.value;
|
|
350
|
+
console.groupCollapsed(name1);
|
|
351
|
+
console.info(...log);
|
|
352
|
+
console.groupEnd();
|
|
353
|
+
}
|
|
354
|
+
} catch (err) {
|
|
355
|
+
_didIteratorError1 = true;
|
|
356
|
+
_iteratorError1 = err;
|
|
357
|
+
} finally {
|
|
358
|
+
try {
|
|
359
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();
|
|
360
|
+
} finally {
|
|
361
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
} else console.info("Weird log", head, ...rest);
|
|
365
|
+
}
|
|
366
|
+
} catch (err) {
|
|
367
|
+
_didIteratorError = true;
|
|
368
|
+
_iteratorError = err;
|
|
369
|
+
} finally {
|
|
370
|
+
try {
|
|
371
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
372
|
+
} finally {
|
|
373
|
+
if (_didIteratorError) throw _iteratorError;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
} catch (err) {
|
|
377
|
+
error = err;
|
|
378
|
+
}
|
|
379
|
+
var _iteratorNormalCompletion2 = true,
|
|
380
|
+
_didIteratorError2 = false,
|
|
381
|
+
_iteratorError2 = void 0;
|
|
382
|
+
try {
|
|
383
|
+
for (var _iterator2 = logStack[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
384
|
+
_step2.value;
|
|
385
|
+
console.groupEnd();
|
|
386
|
+
}
|
|
387
|
+
} catch (err) {
|
|
388
|
+
_didIteratorError2 = true;
|
|
389
|
+
_iteratorError2 = err;
|
|
390
|
+
} finally {
|
|
391
|
+
try {
|
|
392
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();
|
|
393
|
+
} finally {
|
|
394
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
if (error) console.error(`error loggin`, error);
|
|
398
|
+
logStack.clear();
|
|
399
|
+
}
|
|
400
|
+
return res;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
};
|
|
407
|
+
var {
|
|
408
|
+
actions,
|
|
409
|
+
storeInstance,
|
|
410
|
+
getters,
|
|
411
|
+
gettersState
|
|
412
|
+
} = storeInfo;
|
|
413
|
+
var {
|
|
414
|
+
getCache,
|
|
415
|
+
curGetKeys,
|
|
416
|
+
depsToGetter
|
|
417
|
+
} = gettersState;
|
|
418
|
+
var constr = storeInstance.constructor;
|
|
419
|
+
var _storeInfo_debug;
|
|
420
|
+
var shouldDebug2 = (_storeInfo_debug = storeInfo.debug) !== null && _storeInfo_debug !== void 0 ? _storeInfo_debug : DebugStores.has(constr);
|
|
421
|
+
var didSet = false;
|
|
422
|
+
var wrappedActions = {};
|
|
423
|
+
for (var key in actions) _loop(key);
|
|
424
|
+
var finishAction = function (val) {
|
|
425
|
+
if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("(debug) finishAction", {
|
|
426
|
+
didSet
|
|
427
|
+
});
|
|
428
|
+
if (didSet) {
|
|
429
|
+
storeInfo.triggerUpdate();
|
|
430
|
+
didSet = false;
|
|
431
|
+
}
|
|
432
|
+
return val;
|
|
433
|
+
};
|
|
434
|
+
var isTriggering = false;
|
|
435
|
+
var proxiedStore = new Proxy(storeInstance, {
|
|
436
|
+
get(_, key2) {
|
|
437
|
+
if (key2 in wrappedActions) return wrappedActions[key2];
|
|
438
|
+
if (key2 in passThroughKeys) return Reflect.get(storeInstance, key2);
|
|
439
|
+
if (key2 === UNWRAP_PROXY) return storeInstance;
|
|
440
|
+
if (key2 === UNWRAP_STORE_INFO) return storeInfo;
|
|
441
|
+
if (storeAccessTrackers.size) storeAccessTrackers.forEach(function (cb) {
|
|
442
|
+
return cb(storeInfo);
|
|
443
|
+
});
|
|
444
|
+
if (typeof key2 !== "string") return Reflect.get(storeInstance, key2);
|
|
445
|
+
if (!storeInfo.disableTracking) {
|
|
446
|
+
if (gettersState.isGetting) gettersState.curGetKeys.add(key2);
|
|
447
|
+
}
|
|
448
|
+
if (key2 in getters) {
|
|
449
|
+
if (getCache.has(key2)) return getCache.get(key2);
|
|
450
|
+
curGetKeys.clear();
|
|
451
|
+
var isSubGetter = gettersState.isGetting;
|
|
452
|
+
gettersState.isGetting = true;
|
|
453
|
+
var res = getters[key2].call(proxiedStore);
|
|
454
|
+
if (!isSubGetter) gettersState.isGetting = false;
|
|
455
|
+
var _iteratorNormalCompletion = true,
|
|
456
|
+
_didIteratorError = false,
|
|
457
|
+
_iteratorError = void 0;
|
|
458
|
+
try {
|
|
459
|
+
for (var _iterator = curGetKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
460
|
+
var gk = _step.value;
|
|
461
|
+
if (!depsToGetter.has(gk)) depsToGetter.set(gk, /* @__PURE__ */new Set());
|
|
462
|
+
depsToGetter.get(gk).add(key2);
|
|
463
|
+
}
|
|
464
|
+
} catch (err) {
|
|
465
|
+
_didIteratorError = true;
|
|
466
|
+
_iteratorError = err;
|
|
467
|
+
} finally {
|
|
468
|
+
try {
|
|
469
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
470
|
+
} finally {
|
|
471
|
+
if (_didIteratorError) throw _iteratorError;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
getCache.set(key2, res);
|
|
475
|
+
return res;
|
|
476
|
+
}
|
|
477
|
+
return Reflect.get(storeInstance, key2);
|
|
478
|
+
},
|
|
479
|
+
set(target, key2, value, receiver) {
|
|
480
|
+
var cur = Reflect.get(target, key2);
|
|
481
|
+
var res = Reflect.set(target, key2, value, receiver);
|
|
482
|
+
if (res && cur !== value) {
|
|
483
|
+
if (typeof key2 === "string") {
|
|
484
|
+
clearGetterCache(key2);
|
|
485
|
+
if (shouldDebug2) {
|
|
486
|
+
setters.add({
|
|
487
|
+
key: key2,
|
|
488
|
+
value
|
|
489
|
+
});
|
|
490
|
+
if (getShouldDebug(storeInfo)) console.info("(debug) SET", res, key2, value);
|
|
491
|
+
}
|
|
492
|
+
if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("SET...", {
|
|
493
|
+
key: key2,
|
|
494
|
+
value
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
if (!isTriggering) {
|
|
498
|
+
isTriggering = true;
|
|
499
|
+
waitForEventLoop(function () {
|
|
500
|
+
storeInfo.triggerUpdate();
|
|
501
|
+
isTriggering = false;
|
|
502
|
+
});
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
return res;
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
function clearGetterCache(setKey) {
|
|
509
|
+
var parentGetters = depsToGetter.get(setKey);
|
|
510
|
+
getCache.delete(setKey);
|
|
511
|
+
if (!parentGetters) return;
|
|
512
|
+
var _iteratorNormalCompletion = true,
|
|
513
|
+
_didIteratorError = false,
|
|
514
|
+
_iteratorError = void 0;
|
|
515
|
+
try {
|
|
516
|
+
for (var _iterator = parentGetters[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
517
|
+
var gk = _step.value;
|
|
518
|
+
getCache.delete(gk);
|
|
519
|
+
if (depsToGetter.has(gk)) clearGetterCache(gk);
|
|
520
|
+
}
|
|
521
|
+
} catch (err) {
|
|
522
|
+
_didIteratorError = true;
|
|
523
|
+
_iteratorError = err;
|
|
524
|
+
} finally {
|
|
525
|
+
try {
|
|
526
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
527
|
+
} finally {
|
|
528
|
+
if (_didIteratorError) throw _iteratorError;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
return proxiedStore;
|
|
533
|
+
}
|
|
534
|
+
var waitForEventLoop = (process.env.NODE_ENV, function (cb) {
|
|
535
|
+
return cb();
|
|
536
|
+
});
|
|
537
|
+
var counter = 0;
|
|
538
|
+
var passThroughKeys = {
|
|
539
|
+
subscribe: true,
|
|
540
|
+
_version: true,
|
|
541
|
+
_trackers: true,
|
|
542
|
+
$$typeof: true,
|
|
543
|
+
_listeners: true,
|
|
544
|
+
_enableTracking: true
|
|
545
|
+
};
|
|
546
|
+
function getShouldDebug(storeInfo) {
|
|
547
|
+
var info = {
|
|
548
|
+
storeInstance: storeInfo.store
|
|
549
|
+
};
|
|
550
|
+
return [...storeInfo.trackers].some(function (tracker) {
|
|
551
|
+
return tracker.component && shouldDebug(tracker.component, info);
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
export { allStores, createStore, createUseStore, createUseStoreSelector, getOrCreateStore, getStore, getStoreInfo, onCreateStore, setIsInReaction, trackStoresAccess, useGlobalStore, useGlobalStoreSelector, useStore, useStoreDebug, useStoreSelector };
|
|
555
|
+
//# sourceMappingURL=useStore.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","isEqualSubsetShallow","configureOpts","UNWRAP_PROXY","defaultOptions","UNWRAP_STORE_INFO","cache","getStoreDescriptors","getStoreUid","simpleStr","DebugStores","shouldDebug","useCurrentComponent","_instanceof","left","right","Symbol","hasInstance","idFn","_","useStore","StoreKlass","props","options","arguments","length","useStoreFromInfo","getOrCreateStoreInfo","selector","useStoreDebug","debug","createStore","_getOrCreateStoreInfo","store","useGlobalStore","instance","uid","constructor","info","get","Error","useGlobalStoreSelector","createUseStore","createUseStoreSelector","useStoreSelector","storeAccessTrackers","Set","trackStoresAccess","cb","add","delete","getStore","_getStoreInfo","getStoreInfo","getOrCreateStore","refuseCreation","onCreateListeners","onCreateStore","propsKeyCalculated","_store_mount","avoidCache","has","name","storeInstance","getters","actions","stateKeys","descriptors","key","descriptor","value","keyComparators","listeners","storeInfo","disableTracking","gettersState","getCache","Map","depsToGetter","curGetKeys","isGetting","trackers","version","subscribe","onChanged","triggerUpdate","Number","MAX_SAFE_INTEGER","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","err","return","createProxiedStore","process","env","NODE_ENV","allStores","mount","call","result","set","forEach","_globalThis","_Store","globalThis","emptyObj","selectKeys","obj","keys","res","isInReaction","setIsInReaction","val","userSelector","internal","useRef","component","current","tracked","last","lastKeys","curInternal","shouldPrintDebug","getSnapshot","useCallback","curInternal2","isTracking","size","nextKeys","join","snap","isUnchanged","console","storeState","Object","state","useSyncExternalStore","Proxy","target","curVal","Reflect","keyString","setters","logStack","_loop","key2","actionFn","isGetFn","startsWith","wrappedActions","useStoreAction","_len","args","Array","_key","apply","proxiedStore","shouldDebug2","Promise","then","finishAction","hashCode2","str","hash","i","charCodeAt","strColor2","ogAction","thisArg","isDebugging","LOG_LEVEL","logLevel","curSetters","isTopLevelLogger","logs","id","counter","error","constr","color","simpleArgs","map","padStart","param","key3","item","groupEnd","head","rest","groupCollapsed","trace","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","name1","log","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","clear","_storeInfo_debug","didSet","isTriggering","passThroughKeys","isSubGetter","gk","receiver","cur","clearGetterCache","getShouldDebug","waitForEventLoop","setKey","parentGetters","_version","_trackers","$$typeof","_listeners","_enableTracking","some","tracker"],"sources":["../../src/useStore.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
const useCurrentComponent = () => {
|
|
3
|
+
return {};
|
|
4
|
+
};
|
|
5
|
+
function useDebugStoreComponent(StoreCons) {
|
|
6
|
+
const cmp = useCurrentComponent();
|
|
7
|
+
DebugStores.add(StoreCons);
|
|
8
|
+
if (!DebugComponents.has(cmp)) {
|
|
9
|
+
DebugComponents.set(cmp, /* @__PURE__ */new Set());
|
|
10
|
+
}
|
|
11
|
+
const stores = DebugComponents.get(cmp);
|
|
12
|
+
stores.add(StoreCons);
|
|
13
|
+
React.useLayoutEffect(() => {
|
|
14
|
+
return () => {
|
|
15
|
+
DebugStores.delete(StoreCons);
|
|
16
|
+
stores.delete(StoreCons);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
}
|
|
20
|
+
const shouldDebug = (component, info) => {
|
|
21
|
+
const StoreCons = info.storeInstance?.constructor;
|
|
22
|
+
return DebugComponents.get(component)?.has(StoreCons);
|
|
23
|
+
};
|
|
24
|
+
const DebugComponents = /* @__PURE__ */new Map();
|
|
25
|
+
const DebugStores = /* @__PURE__ */new Set();
|
|
26
|
+
export { DebugComponents, DebugStores, shouldDebug, useCurrentComponent, useDebugStoreComponent };
|
|
27
|
+
//# sourceMappingURL=useStoreDebug.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCurrentComponent","useDebugStoreComponent","StoreCons","cmp","DebugStores","add","DebugComponents","has","set","Set","stores","get","useLayoutEffect","delete","shouldDebug","component","info","storeInstance","constructor","Map"],"sources":["../../src/useStoreDebug.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAMX,MAAMC,mBAAA,GAAsBA,CAAA,KAAM;EACvC,OAAO,CAAC;AAMV;AAEO,SAASC,uBAAuBC,SAAA,EAAgB;EACrD,MAAMC,GAAA,GAAMH,mBAAA,CAAoB;EAGhCI,WAAA,CAAYC,GAAA,CAAIH,SAAS;EACzB,IAAI,CAACI,eAAA,CAAgBC,GAAA,CAAIJ,GAAG,GAAG;IAC7BG,eAAA,CAAgBE,GAAA,CAAIL,GAAA,EAAK,mBAAIM,GAAA,CAAI,CAAC;EACpC;EACA,MAAMC,MAAA,GAASJ,eAAA,CAAgBK,GAAA,CAAIR,GAAG;EACtCO,MAAA,CAAOL,GAAA,CAAIH,SAAS;EAEpBH,KAAA,CAAMa,eAAA,CAAgB,MAAM;IAC1B,OAAO,MAAM;MACXR,WAAA,CAAYS,MAAA,CAAOX,SAAS;MAC5BQ,MAAA,CAAOG,MAAA,CAAOX,SAAS;IACzB;EACF,GAAG,EAAE;AACP;AAEO,MAAMY,WAAA,GAAcA,CAACC,SAAA,EAAgBC,IAAA,KAA2C;EACrF,MAAMd,SAAA,GAAYc,IAAA,CAAKC,aAAA,EAAeC,WAAA;EACtC,OAAOZ,eAAA,CAAgBK,GAAA,CAAII,SAAS,GAAGR,GAAA,CAAIL,SAAS;AACtD;AAEO,MAAMI,eAAA,GAAkB,mBAAIa,GAAA,CAAmB;AAC/C,MAAMf,WAAA,GAAc,mBAAIK,GAAA,CAAS","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
var useCurrentComponent = function () {
|
|
3
|
+
return {};
|
|
4
|
+
};
|
|
5
|
+
function useDebugStoreComponent(StoreCons) {
|
|
6
|
+
var cmp = useCurrentComponent();
|
|
7
|
+
DebugStores.add(StoreCons);
|
|
8
|
+
if (!DebugComponents.has(cmp)) {
|
|
9
|
+
DebugComponents.set(cmp, /* @__PURE__ */new Set());
|
|
10
|
+
}
|
|
11
|
+
var stores = DebugComponents.get(cmp);
|
|
12
|
+
stores.add(StoreCons);
|
|
13
|
+
React.useLayoutEffect(function () {
|
|
14
|
+
return function () {
|
|
15
|
+
DebugStores.delete(StoreCons);
|
|
16
|
+
stores.delete(StoreCons);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
}
|
|
20
|
+
var shouldDebug = function (component, info) {
|
|
21
|
+
var _info_storeInstance, _DebugComponents_get;
|
|
22
|
+
var StoreCons = (_info_storeInstance = info.storeInstance) === null || _info_storeInstance === void 0 ? void 0 : _info_storeInstance.constructor;
|
|
23
|
+
return (_DebugComponents_get = DebugComponents.get(component)) === null || _DebugComponents_get === void 0 ? void 0 : _DebugComponents_get.has(StoreCons);
|
|
24
|
+
};
|
|
25
|
+
var DebugComponents = /* @__PURE__ */new Map();
|
|
26
|
+
var DebugStores = /* @__PURE__ */new Set();
|
|
27
|
+
export { DebugComponents, DebugStores, shouldDebug, useCurrentComponent, useDebugStoreComponent };
|
|
28
|
+
//# sourceMappingURL=useStoreDebug.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCurrentComponent","useDebugStoreComponent","StoreCons","cmp","DebugStores","add","DebugComponents","has","set","Set","stores","get","useLayoutEffect","delete","shouldDebug","component","info","_info_storeInstance","_DebugComponents_get","storeInstance","constructor","Map"],"sources":["../../src/useStoreDebug.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAMX,IAAAC,mBAAM,YAAAA,CAAA,EAA4B;EACvC,OAAO,CAAC;AAMV;AAEO,SAASC,uBAAuBC,SAAA,EAAgB;EACrD,IAAAC,GAAM,GAAAH,mBAAM;EAGZI,WAAA,CAAYC,GAAA,CAAIH,SAAS;EACzB,IAAI,CAACI,eAAA,CAAgBC,GAAA,CAAIJ,GAAG,GAAG;IAC7BG,eAAA,CAAgBE,GAAA,CAAIL,GAAA,EAAK,mBAAIM,GAAA,CAAI,CAAC;EACpC;EACA,IAAAC,MAAM,GAAAJ,eAAS,CAAAK,GAAgB,CAAAR,GAAI;EACnCO,MAAA,CAAOL,GAAA,CAAIH,SAAS;EAEpBH,KAAA,CAAMa,eAAA,CAAgB,YAAM;IAC1B,OAAO,YAAM;MACXR,WAAA,CAAYS,MAAA,CAAOX,SAAS;MAC5BQ,MAAA,CAAOG,MAAA,CAAOX,SAAS;IACzB;EACF,GAAG,EAAE;AACP;AAEO,IAAAY,WAAM,YAAAA,CAAeC,SAAgB,EAAAC,IAA2C;EACrF,IAAAC,mBAAuB,EAAAC,oBAAe;EACtC,IAAAhB,SAAO,IAAAe,mBAA6B,GAAGD,IAAI,CAAAG,aAAS,cAAAF,mBAAA,uBAAAA,mBAAA,CAAAG,WAAA;EACtD,QAAAF,oBAAA,GAAAZ,eAAA,CAAAK,GAAA,CAAAI,SAAA,eAAAG,oBAAA,uBAAAA,oBAAA,CAAAX,GAAA,CAAAL,SAAA;AAEO;AACA,IAAAI,eAAM,GAAc,mBAAIe,GAAS","ignoreList":[]}
|