@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,608 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
18
|
+
get: () => from[key],
|
|
19
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
+
value: mod,
|
|
31
|
+
enumerable: true
|
|
32
|
+
}) : target, mod));
|
|
33
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
+
value: true
|
|
35
|
+
}), mod);
|
|
36
|
+
var useStore_exports = {};
|
|
37
|
+
__export(useStore_exports, {
|
|
38
|
+
allStores: () => allStores,
|
|
39
|
+
createStore: () => createStore,
|
|
40
|
+
createUseStore: () => createUseStore,
|
|
41
|
+
createUseStoreSelector: () => createUseStoreSelector,
|
|
42
|
+
getOrCreateStore: () => getOrCreateStore,
|
|
43
|
+
getStore: () => getStore,
|
|
44
|
+
getStoreInfo: () => getStoreInfo,
|
|
45
|
+
onCreateStore: () => onCreateStore,
|
|
46
|
+
setIsInReaction: () => setIsInReaction,
|
|
47
|
+
trackStoresAccess: () => trackStoresAccess,
|
|
48
|
+
useGlobalStore: () => useGlobalStore,
|
|
49
|
+
useGlobalStoreSelector: () => useGlobalStoreSelector,
|
|
50
|
+
useStore: () => useStore,
|
|
51
|
+
useStoreDebug: () => useStoreDebug,
|
|
52
|
+
useStoreSelector: () => useStoreSelector
|
|
53
|
+
});
|
|
54
|
+
module.exports = __toCommonJS(useStore_exports);
|
|
55
|
+
var import_react = __toESM(require("react"), 1);
|
|
56
|
+
var import_comparators = require("./comparators.native.js");
|
|
57
|
+
var import_configureUseStore = require("./configureUseStore.native.js");
|
|
58
|
+
var import_constants = require("./constants.native.js");
|
|
59
|
+
var import_helpers = require("./helpers.native.js");
|
|
60
|
+
var import_useStoreDebug = require("./useStoreDebug.native.js");
|
|
61
|
+
function _instanceof(left, right) {
|
|
62
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);else return left instanceof right;
|
|
63
|
+
}
|
|
64
|
+
var idFn = function (_) {
|
|
65
|
+
return _;
|
|
66
|
+
};
|
|
67
|
+
function useStore(StoreKlass, props) {
|
|
68
|
+
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : import_constants.defaultOptions;
|
|
69
|
+
return useStoreFromInfo(getOrCreateStoreInfo(StoreKlass, props, options), options.selector, options);
|
|
70
|
+
}
|
|
71
|
+
function useStoreDebug(StoreKlass, props) {
|
|
72
|
+
return useStore(StoreKlass, props, {
|
|
73
|
+
debug: true
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function createStore(StoreKlass, props, options) {
|
|
77
|
+
var _getOrCreateStoreInfo;
|
|
78
|
+
return (_getOrCreateStoreInfo = getOrCreateStoreInfo(StoreKlass, props, options)) === null || _getOrCreateStoreInfo === void 0 ? void 0 : _getOrCreateStoreInfo.store;
|
|
79
|
+
}
|
|
80
|
+
function useGlobalStore(instance, debug) {
|
|
81
|
+
var store = instance[import_constants.UNWRAP_PROXY];
|
|
82
|
+
var uid = (0, import_helpers.getStoreUid)(store.constructor, store.props);
|
|
83
|
+
var info = import_helpers.cache.get(uid);
|
|
84
|
+
if (!info) throw new Error(`This store not created using createStore()`);
|
|
85
|
+
return useStoreFromInfo(info, void 0, {
|
|
86
|
+
debug
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function useGlobalStoreSelector(instance, selector, debug) {
|
|
90
|
+
var store = instance[import_constants.UNWRAP_PROXY];
|
|
91
|
+
var uid = (0, import_helpers.getStoreUid)(store.constructor, store.props);
|
|
92
|
+
var info = import_helpers.cache.get(uid);
|
|
93
|
+
if (!info) throw new Error(`This store not created using createStore()`);
|
|
94
|
+
return useStoreFromInfo(info, selector, {
|
|
95
|
+
debug
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function createUseStore(StoreKlass) {
|
|
99
|
+
return function (props, options) {
|
|
100
|
+
return useStore(StoreKlass, props, options);
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function createUseStoreSelector(StoreKlass, selector) {
|
|
104
|
+
return function (props) {
|
|
105
|
+
return useStore(StoreKlass, props, {
|
|
106
|
+
selector
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function useStoreSelector(StoreKlass, selector, props) {
|
|
111
|
+
return useStore(StoreKlass, props, {
|
|
112
|
+
selector
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
var storeAccessTrackers = /* @__PURE__ */new Set();
|
|
116
|
+
function trackStoresAccess(cb) {
|
|
117
|
+
storeAccessTrackers.add(cb);
|
|
118
|
+
return function () {
|
|
119
|
+
storeAccessTrackers.delete(cb);
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function getStore(StoreKlass, props) {
|
|
123
|
+
var _getStoreInfo;
|
|
124
|
+
return (_getStoreInfo = getStoreInfo(StoreKlass, props)) === null || _getStoreInfo === void 0 ? void 0 : _getStoreInfo.store;
|
|
125
|
+
}
|
|
126
|
+
function getOrCreateStore(StoreKlass, props) {
|
|
127
|
+
var _getOrCreateStoreInfo;
|
|
128
|
+
return (_getOrCreateStoreInfo = getOrCreateStoreInfo(StoreKlass, props, {
|
|
129
|
+
refuseCreation: false
|
|
130
|
+
})) === null || _getOrCreateStoreInfo === void 0 ? void 0 : _getOrCreateStoreInfo.store;
|
|
131
|
+
}
|
|
132
|
+
function getStoreInfo(StoreKlass, props) {
|
|
133
|
+
return getOrCreateStoreInfo(StoreKlass, props, {
|
|
134
|
+
refuseCreation: true
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
var onCreateListeners = /* @__PURE__ */new Set();
|
|
138
|
+
function onCreateStore(cb) {
|
|
139
|
+
onCreateListeners.add(cb);
|
|
140
|
+
return function () {
|
|
141
|
+
onCreateListeners.delete(cb);
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
|
|
145
|
+
var _store_mount;
|
|
146
|
+
if (!StoreKlass) return null;
|
|
147
|
+
var uid = (0, import_helpers.getStoreUid)(StoreKlass, propsKeyCalculated !== null && propsKeyCalculated !== void 0 ? propsKeyCalculated : props);
|
|
148
|
+
if (!(options === null || options === void 0 ? void 0 : options.avoidCache) && import_helpers.cache.has(uid)) return import_helpers.cache.get(uid);
|
|
149
|
+
if (options === null || options === void 0 ? void 0 : options.refuseCreation) throw new Error(`No store exists (${StoreKlass.name}) with props: ${props}`);
|
|
150
|
+
var storeInstance = new StoreKlass(props);
|
|
151
|
+
storeInstance.props = props;
|
|
152
|
+
var getters = {};
|
|
153
|
+
var actions = {};
|
|
154
|
+
var stateKeys = /* @__PURE__ */new Set();
|
|
155
|
+
var descriptors = (0, import_helpers.getStoreDescriptors)(storeInstance);
|
|
156
|
+
for (var key in descriptors) {
|
|
157
|
+
var descriptor = descriptors[key];
|
|
158
|
+
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);
|
|
159
|
+
}
|
|
160
|
+
var keyComparators = storeInstance["_comparators"];
|
|
161
|
+
var listeners = /* @__PURE__ */new Set();
|
|
162
|
+
var storeInfo = {
|
|
163
|
+
uid,
|
|
164
|
+
keyComparators,
|
|
165
|
+
storeInstance,
|
|
166
|
+
getters,
|
|
167
|
+
stateKeys,
|
|
168
|
+
props,
|
|
169
|
+
actions,
|
|
170
|
+
debug: options === null || options === void 0 ? void 0 : options.debug,
|
|
171
|
+
disableTracking: false,
|
|
172
|
+
gettersState: {
|
|
173
|
+
getCache: /* @__PURE__ */new Map(),
|
|
174
|
+
depsToGetter: /* @__PURE__ */new Map(),
|
|
175
|
+
curGetKeys: /* @__PURE__ */new Set(),
|
|
176
|
+
isGetting: false
|
|
177
|
+
},
|
|
178
|
+
listeners,
|
|
179
|
+
trackers: /* @__PURE__ */new Set(),
|
|
180
|
+
version: 0,
|
|
181
|
+
subscribe: function (onChanged) {
|
|
182
|
+
listeners.add(onChanged);
|
|
183
|
+
return function () {
|
|
184
|
+
listeners.delete(onChanged);
|
|
185
|
+
};
|
|
186
|
+
},
|
|
187
|
+
triggerUpdate: function () {
|
|
188
|
+
storeInfo.version = (storeInfo.version + 1) % Number.MAX_SAFE_INTEGER;
|
|
189
|
+
var _iteratorNormalCompletion = true,
|
|
190
|
+
_didIteratorError = false,
|
|
191
|
+
_iteratorError = void 0;
|
|
192
|
+
try {
|
|
193
|
+
for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
194
|
+
var cb = _step.value;
|
|
195
|
+
cb();
|
|
196
|
+
}
|
|
197
|
+
} catch (err) {
|
|
198
|
+
_didIteratorError = true;
|
|
199
|
+
_iteratorError = err;
|
|
200
|
+
} finally {
|
|
201
|
+
try {
|
|
202
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
203
|
+
} finally {
|
|
204
|
+
if (_didIteratorError) throw _iteratorError;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
var store = createProxiedStore(
|
|
210
|
+
// we assign store right after and proxiedStore never accesses it until later on
|
|
211
|
+
storeInfo);
|
|
212
|
+
if (process.env.NODE_ENV === "development") allStores[StoreKlass.name + uid] = store;
|
|
213
|
+
(_store_mount = store.mount) === null || _store_mount === void 0 || _store_mount.call(store);
|
|
214
|
+
storeInfo.store = store;
|
|
215
|
+
var result = storeInfo;
|
|
216
|
+
import_helpers.cache.set(uid, result);
|
|
217
|
+
onCreateListeners.forEach(function (cb) {
|
|
218
|
+
return cb(result);
|
|
219
|
+
});
|
|
220
|
+
return result;
|
|
221
|
+
}
|
|
222
|
+
var allStores = {};
|
|
223
|
+
if (process.env.NODE_ENV === "development") {
|
|
224
|
+
var _globalThis, _Store;
|
|
225
|
+
(_globalThis = globalThis)[_Store = "Store"] || (_globalThis[_Store] = allStores);
|
|
226
|
+
}
|
|
227
|
+
var emptyObj = {};
|
|
228
|
+
var selectKeys = function (obj, keys) {
|
|
229
|
+
if (!keys.length) return emptyObj;
|
|
230
|
+
var res = {};
|
|
231
|
+
var _iteratorNormalCompletion = true,
|
|
232
|
+
_didIteratorError = false,
|
|
233
|
+
_iteratorError = void 0;
|
|
234
|
+
try {
|
|
235
|
+
for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
236
|
+
var key = _step.value;
|
|
237
|
+
res[key] = obj[key];
|
|
238
|
+
}
|
|
239
|
+
} catch (err) {
|
|
240
|
+
_didIteratorError = true;
|
|
241
|
+
_iteratorError = err;
|
|
242
|
+
} finally {
|
|
243
|
+
try {
|
|
244
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
245
|
+
} finally {
|
|
246
|
+
if (_didIteratorError) throw _iteratorError;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return res;
|
|
250
|
+
};
|
|
251
|
+
var isInReaction = false;
|
|
252
|
+
var setIsInReaction = function (val) {
|
|
253
|
+
isInReaction = val;
|
|
254
|
+
};
|
|
255
|
+
function useStoreFromInfo(info, userSelector, options) {
|
|
256
|
+
var store = info === null || info === void 0 ? void 0 : info.store;
|
|
257
|
+
var internal = import_react.default.useRef(void 0);
|
|
258
|
+
var component = (0, import_useStoreDebug.useCurrentComponent)();
|
|
259
|
+
if (!internal.current) internal.current = {
|
|
260
|
+
component,
|
|
261
|
+
tracked: /* @__PURE__ */new Set(),
|
|
262
|
+
last: null,
|
|
263
|
+
lastKeys: null
|
|
264
|
+
};
|
|
265
|
+
var curInternal = internal.current;
|
|
266
|
+
var shouldPrintDebug = options === null || options === void 0 ? void 0 : options.debug;
|
|
267
|
+
var getSnapshot = import_react.default.useCallback(function () {
|
|
268
|
+
if (!info || !store) return;
|
|
269
|
+
var curInternal2 = internal.current;
|
|
270
|
+
var isTracking = curInternal2.tracked.size;
|
|
271
|
+
var keys = [...(!isTracking ? info.stateKeys : curInternal2.tracked)];
|
|
272
|
+
var nextKeys = `${info.version}${keys.join("")}${userSelector || ""}`;
|
|
273
|
+
var lastKeys = curInternal2.lastKeys;
|
|
274
|
+
if (nextKeys === curInternal2.lastKeys) return curInternal2.last;
|
|
275
|
+
curInternal2.lastKeys = nextKeys;
|
|
276
|
+
var snap;
|
|
277
|
+
info.disableTracking = true;
|
|
278
|
+
var last = curInternal2.last;
|
|
279
|
+
if (userSelector) snap = userSelector(store);else snap = selectKeys(store, keys);
|
|
280
|
+
info.disableTracking = false;
|
|
281
|
+
var isUnchanged = !userSelector && !isTracking && last || typeof last !== "undefined" && (0, import_comparators.isEqualSubsetShallow)(last, snap, {
|
|
282
|
+
keyComparators: info.keyComparators
|
|
283
|
+
});
|
|
284
|
+
if (shouldPrintDebug) console.info("🌑 getSnapshot", {
|
|
285
|
+
storeState: selectKeys(store, Object.keys(store)),
|
|
286
|
+
userSelector,
|
|
287
|
+
info,
|
|
288
|
+
isUnchanged,
|
|
289
|
+
component,
|
|
290
|
+
keys,
|
|
291
|
+
last,
|
|
292
|
+
snap,
|
|
293
|
+
curInternal: curInternal2,
|
|
294
|
+
nextKeys,
|
|
295
|
+
lastKeys
|
|
296
|
+
});
|
|
297
|
+
if (isUnchanged) return last;
|
|
298
|
+
curInternal2.last = snap;
|
|
299
|
+
return snap;
|
|
300
|
+
}, [store]);
|
|
301
|
+
var state = import_react.default.useSyncExternalStore((info === null || info === void 0 ? void 0 : info.subscribe) || idFn, getSnapshot, getSnapshot);
|
|
302
|
+
if (!info || !store || !state) return state;
|
|
303
|
+
if (userSelector) return state;
|
|
304
|
+
return new Proxy(store, {
|
|
305
|
+
get(target, key) {
|
|
306
|
+
var curVal = Reflect.get(target, key);
|
|
307
|
+
if (isInReaction) return curVal;
|
|
308
|
+
var keyString = key;
|
|
309
|
+
if (info.stateKeys.has(keyString) || keyString in info.getters) {
|
|
310
|
+
if (shouldPrintDebug) console.info("👀 tracking", keyString);
|
|
311
|
+
curInternal.tracked.add(keyString);
|
|
312
|
+
}
|
|
313
|
+
if (Reflect.has(state, key)) return Reflect.get(state, key);
|
|
314
|
+
return curVal;
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
var setters = /* @__PURE__ */new Set();
|
|
319
|
+
var logStack = /* @__PURE__ */new Set();
|
|
320
|
+
function createProxiedStore(storeInfo) {
|
|
321
|
+
var _loop = function (key2) {
|
|
322
|
+
if (key2 === "subscribe") return "continue";
|
|
323
|
+
var actionFn = actions[key2];
|
|
324
|
+
var isGetFn = key2.startsWith("get");
|
|
325
|
+
wrappedActions[key2] = function useStoreAction() {
|
|
326
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
|
|
327
|
+
var res;
|
|
328
|
+
if (isGetFn || gettersState.isGetting) return Reflect.apply(actionFn, proxiedStore, args);
|
|
329
|
+
if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("(debug) startAction", key2);
|
|
330
|
+
res = Reflect.apply(actionFn, proxiedStore, args);
|
|
331
|
+
if (_instanceof(res, Promise)) return res.then(finishAction);
|
|
332
|
+
finishAction();
|
|
333
|
+
return res;
|
|
334
|
+
};
|
|
335
|
+
if (process.env.NODE_ENV === "development") {
|
|
336
|
+
let hashCode2 = function (str) {
|
|
337
|
+
var hash = 0;
|
|
338
|
+
for (var i = 0; i < str.length; i++) hash = str.charCodeAt(i) + ((hash << 5) - hash);
|
|
339
|
+
return hash;
|
|
340
|
+
},
|
|
341
|
+
strColor2 = function (str) {
|
|
342
|
+
return `hsl(${hashCode2(str) % 360}, 90%, 40%)`;
|
|
343
|
+
};
|
|
344
|
+
if (!key2.startsWith("get") && !key2.startsWith("_") && key2 !== "subscribe") {
|
|
345
|
+
var ogAction = wrappedActions[key2];
|
|
346
|
+
wrappedActions[key2] = new Proxy(ogAction, {
|
|
347
|
+
apply(target, thisArg, args) {
|
|
348
|
+
var isDebugging = shouldDebug2 || storeInfo.debug;
|
|
349
|
+
if (!(process.env.LOG_LEVEL !== "0" && (isDebugging || import_configureUseStore.configureOpts.logLevel !== "error"))) return Reflect.apply(target, thisArg, args);
|
|
350
|
+
setters = /* @__PURE__ */new Set();
|
|
351
|
+
var curSetters = setters;
|
|
352
|
+
var isTopLevelLogger = logStack.size == 0;
|
|
353
|
+
var logs = /* @__PURE__ */new Set();
|
|
354
|
+
logStack.add(logs);
|
|
355
|
+
var res;
|
|
356
|
+
var id = counter++;
|
|
357
|
+
try {
|
|
358
|
+
res = Reflect.apply(target, thisArg, args);
|
|
359
|
+
} catch (err) {
|
|
360
|
+
console.error("Error", err);
|
|
361
|
+
throw err;
|
|
362
|
+
} finally {
|
|
363
|
+
logStack.add("end");
|
|
364
|
+
var name = constr.name;
|
|
365
|
+
var color = strColor2(name);
|
|
366
|
+
var simpleArgs = args.map(import_helpers.simpleStr);
|
|
367
|
+
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;"]);
|
|
368
|
+
if (curSetters.size) curSetters.forEach(function (param) {
|
|
369
|
+
var {
|
|
370
|
+
key: key3,
|
|
371
|
+
value
|
|
372
|
+
} = param;
|
|
373
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") logs.add([` SET ${key3} ${value}`, value]);else logs.add([` SET ${key3}`, value]);
|
|
374
|
+
});
|
|
375
|
+
if (isTopLevelLogger) {
|
|
376
|
+
var error = null;
|
|
377
|
+
try {
|
|
378
|
+
var _iteratorNormalCompletion = true,
|
|
379
|
+
_didIteratorError = false,
|
|
380
|
+
_iteratorError = void 0;
|
|
381
|
+
try {
|
|
382
|
+
for (var _iterator = logStack[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
383
|
+
var item = _step.value;
|
|
384
|
+
if (item === "end") {
|
|
385
|
+
console.groupEnd();
|
|
386
|
+
continue;
|
|
387
|
+
}
|
|
388
|
+
var [head, ...rest] = item;
|
|
389
|
+
if (head) {
|
|
390
|
+
console.groupCollapsed(...head);
|
|
391
|
+
console.groupCollapsed("...");
|
|
392
|
+
console.info("args", args);
|
|
393
|
+
console.info("response", res);
|
|
394
|
+
console.groupCollapsed("trace");
|
|
395
|
+
console.trace();
|
|
396
|
+
console.groupEnd();
|
|
397
|
+
console.groupEnd();
|
|
398
|
+
var _iteratorNormalCompletion1 = true,
|
|
399
|
+
_didIteratorError1 = false,
|
|
400
|
+
_iteratorError1 = void 0;
|
|
401
|
+
try {
|
|
402
|
+
for (var _iterator1 = rest[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
403
|
+
var [name1, ...log] = _step1.value;
|
|
404
|
+
console.groupCollapsed(name1);
|
|
405
|
+
console.info(...log);
|
|
406
|
+
console.groupEnd();
|
|
407
|
+
}
|
|
408
|
+
} catch (err) {
|
|
409
|
+
_didIteratorError1 = true;
|
|
410
|
+
_iteratorError1 = err;
|
|
411
|
+
} finally {
|
|
412
|
+
try {
|
|
413
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();
|
|
414
|
+
} finally {
|
|
415
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
} else console.info("Weird log", head, ...rest);
|
|
419
|
+
}
|
|
420
|
+
} catch (err) {
|
|
421
|
+
_didIteratorError = true;
|
|
422
|
+
_iteratorError = err;
|
|
423
|
+
} finally {
|
|
424
|
+
try {
|
|
425
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
426
|
+
} finally {
|
|
427
|
+
if (_didIteratorError) throw _iteratorError;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
} catch (err) {
|
|
431
|
+
error = err;
|
|
432
|
+
}
|
|
433
|
+
var _iteratorNormalCompletion2 = true,
|
|
434
|
+
_didIteratorError2 = false,
|
|
435
|
+
_iteratorError2 = void 0;
|
|
436
|
+
try {
|
|
437
|
+
for (var _iterator2 = logStack[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
438
|
+
_step2.value;
|
|
439
|
+
console.groupEnd();
|
|
440
|
+
}
|
|
441
|
+
} catch (err) {
|
|
442
|
+
_didIteratorError2 = true;
|
|
443
|
+
_iteratorError2 = err;
|
|
444
|
+
} finally {
|
|
445
|
+
try {
|
|
446
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();
|
|
447
|
+
} finally {
|
|
448
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
if (error) console.error(`error loggin`, error);
|
|
452
|
+
logStack.clear();
|
|
453
|
+
}
|
|
454
|
+
return res;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
var {
|
|
462
|
+
actions,
|
|
463
|
+
storeInstance,
|
|
464
|
+
getters,
|
|
465
|
+
gettersState
|
|
466
|
+
} = storeInfo;
|
|
467
|
+
var {
|
|
468
|
+
getCache,
|
|
469
|
+
curGetKeys,
|
|
470
|
+
depsToGetter
|
|
471
|
+
} = gettersState;
|
|
472
|
+
var constr = storeInstance.constructor;
|
|
473
|
+
var _storeInfo_debug;
|
|
474
|
+
var shouldDebug2 = (_storeInfo_debug = storeInfo.debug) !== null && _storeInfo_debug !== void 0 ? _storeInfo_debug : import_useStoreDebug.DebugStores.has(constr);
|
|
475
|
+
var didSet = false;
|
|
476
|
+
var wrappedActions = {};
|
|
477
|
+
for (var key in actions) _loop(key);
|
|
478
|
+
var finishAction = function (val) {
|
|
479
|
+
if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("(debug) finishAction", {
|
|
480
|
+
didSet
|
|
481
|
+
});
|
|
482
|
+
if (didSet) {
|
|
483
|
+
storeInfo.triggerUpdate();
|
|
484
|
+
didSet = false;
|
|
485
|
+
}
|
|
486
|
+
return val;
|
|
487
|
+
};
|
|
488
|
+
var isTriggering = false;
|
|
489
|
+
var proxiedStore = new Proxy(storeInstance, {
|
|
490
|
+
get(_, key2) {
|
|
491
|
+
if (key2 in wrappedActions) return wrappedActions[key2];
|
|
492
|
+
if (key2 in passThroughKeys) return Reflect.get(storeInstance, key2);
|
|
493
|
+
if (key2 === import_constants.UNWRAP_PROXY) return storeInstance;
|
|
494
|
+
if (key2 === import_helpers.UNWRAP_STORE_INFO) return storeInfo;
|
|
495
|
+
if (storeAccessTrackers.size) storeAccessTrackers.forEach(function (cb) {
|
|
496
|
+
return cb(storeInfo);
|
|
497
|
+
});
|
|
498
|
+
if (typeof key2 !== "string") return Reflect.get(storeInstance, key2);
|
|
499
|
+
if (!storeInfo.disableTracking) {
|
|
500
|
+
if (gettersState.isGetting) gettersState.curGetKeys.add(key2);
|
|
501
|
+
}
|
|
502
|
+
if (key2 in getters) {
|
|
503
|
+
if (getCache.has(key2)) return getCache.get(key2);
|
|
504
|
+
curGetKeys.clear();
|
|
505
|
+
var isSubGetter = gettersState.isGetting;
|
|
506
|
+
gettersState.isGetting = true;
|
|
507
|
+
var res = getters[key2].call(proxiedStore);
|
|
508
|
+
if (!isSubGetter) gettersState.isGetting = false;
|
|
509
|
+
var _iteratorNormalCompletion = true,
|
|
510
|
+
_didIteratorError = false,
|
|
511
|
+
_iteratorError = void 0;
|
|
512
|
+
try {
|
|
513
|
+
for (var _iterator = curGetKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
514
|
+
var gk = _step.value;
|
|
515
|
+
if (!depsToGetter.has(gk)) depsToGetter.set(gk, /* @__PURE__ */new Set());
|
|
516
|
+
depsToGetter.get(gk).add(key2);
|
|
517
|
+
}
|
|
518
|
+
} catch (err) {
|
|
519
|
+
_didIteratorError = true;
|
|
520
|
+
_iteratorError = err;
|
|
521
|
+
} finally {
|
|
522
|
+
try {
|
|
523
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
524
|
+
} finally {
|
|
525
|
+
if (_didIteratorError) throw _iteratorError;
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
getCache.set(key2, res);
|
|
529
|
+
return res;
|
|
530
|
+
}
|
|
531
|
+
return Reflect.get(storeInstance, key2);
|
|
532
|
+
},
|
|
533
|
+
set(target, key2, value, receiver) {
|
|
534
|
+
var cur = Reflect.get(target, key2);
|
|
535
|
+
var res = Reflect.set(target, key2, value, receiver);
|
|
536
|
+
if (res && cur !== value) {
|
|
537
|
+
if (typeof key2 === "string") {
|
|
538
|
+
clearGetterCache(key2);
|
|
539
|
+
if (shouldDebug2) {
|
|
540
|
+
setters.add({
|
|
541
|
+
key: key2,
|
|
542
|
+
value
|
|
543
|
+
});
|
|
544
|
+
if (getShouldDebug(storeInfo)) console.info("(debug) SET", res, key2, value);
|
|
545
|
+
}
|
|
546
|
+
if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("SET...", {
|
|
547
|
+
key: key2,
|
|
548
|
+
value
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
if (!isTriggering) {
|
|
552
|
+
isTriggering = true;
|
|
553
|
+
waitForEventLoop(function () {
|
|
554
|
+
storeInfo.triggerUpdate();
|
|
555
|
+
isTriggering = false;
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
return res;
|
|
560
|
+
}
|
|
561
|
+
});
|
|
562
|
+
function clearGetterCache(setKey) {
|
|
563
|
+
var parentGetters = depsToGetter.get(setKey);
|
|
564
|
+
getCache.delete(setKey);
|
|
565
|
+
if (!parentGetters) return;
|
|
566
|
+
var _iteratorNormalCompletion = true,
|
|
567
|
+
_didIteratorError = false,
|
|
568
|
+
_iteratorError = void 0;
|
|
569
|
+
try {
|
|
570
|
+
for (var _iterator = parentGetters[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
571
|
+
var gk = _step.value;
|
|
572
|
+
getCache.delete(gk);
|
|
573
|
+
if (depsToGetter.has(gk)) clearGetterCache(gk);
|
|
574
|
+
}
|
|
575
|
+
} catch (err) {
|
|
576
|
+
_didIteratorError = true;
|
|
577
|
+
_iteratorError = err;
|
|
578
|
+
} finally {
|
|
579
|
+
try {
|
|
580
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
581
|
+
} finally {
|
|
582
|
+
if (_didIteratorError) throw _iteratorError;
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
return proxiedStore;
|
|
587
|
+
}
|
|
588
|
+
var waitForEventLoop = (process.env.NODE_ENV, function (cb) {
|
|
589
|
+
return cb();
|
|
590
|
+
});
|
|
591
|
+
var counter = 0;
|
|
592
|
+
var passThroughKeys = {
|
|
593
|
+
subscribe: true,
|
|
594
|
+
_version: true,
|
|
595
|
+
_trackers: true,
|
|
596
|
+
$$typeof: true,
|
|
597
|
+
_listeners: true,
|
|
598
|
+
_enableTracking: true
|
|
599
|
+
};
|
|
600
|
+
function getShouldDebug(storeInfo) {
|
|
601
|
+
var info = {
|
|
602
|
+
storeInstance: storeInfo.store
|
|
603
|
+
};
|
|
604
|
+
return [...storeInfo.trackers].some(function (tracker) {
|
|
605
|
+
return tracker.component && (0, import_useStoreDebug.shouldDebug)(tracker.component, info);
|
|
606
|
+
});
|
|
607
|
+
}
|
|
608
|
+
//# sourceMappingURL=useStore.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isNodeMode","mod","__esModule","__defProp","target","value","enumerable","__toCommonJS","__copyProps","useStore_exports","__export","allStores","createStore","createUseStore","createUseStoreSelector","getOrCreateStore","getStore","getStoreInfo","onCreateStore","setIsInReaction","trackStoresAccess","useGlobalStore","useGlobalStoreSelector","useStore","useStoreDebug","useStoreSelector","module","exports","import_react","__toESM","require","import_comparators","import_configureUseStore","import_constants","import_helpers","import_useStoreDebug","_instanceof","left","right","Symbol","hasInstance","idFn","_","StoreKlass","props","options","arguments","length","defaultOptions","useStoreFromInfo","getOrCreateStoreInfo","selector","debug","_getOrCreateStoreInfo","store","instance","UNWRAP_PROXY","uid","getStoreUid","constructor","info","cache","get","Error","storeAccessTrackers","Set","cb","add","delete","_getStoreInfo","refuseCreation","onCreateListeners","propsKeyCalculated","_store_mount","avoidCache","has","name","storeInstance","getters","actions","stateKeys","descriptors","getStoreDescriptors","key","descriptor","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","mount","call","result","set","forEach","_globalThis","_Store","globalThis","emptyObj","selectKeys","obj","keys","res","isInReaction","val","curInternal","userSelector","internal","default","useRef","component","useCurrentComponent","current","tracked","last","lastKeys","shouldPrintDebug","getSnapshot","useCallback","curInternal2","isTracking","size","nextKeys","join","snap","isUnchanged","isEqualSubsetShallow","console","storeState","Object","state","useSyncExternalStore","Proxy","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","configureOpts","logLevel","curSetters","isTopLevelLogger","logs","id","counter","error","constr","color","simpleArgs","map","simpleStr","padStart","param","key3","item","groupEnd","head","rest","groupCollapsed","trace","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","name1","log","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","clear","_storeInfo_debug","DebugStores","didSet","isTriggering","passThroughKeys","UNWRAP_STORE_INFO","isSubGetter","gk","receiver","cur","clearGetterCache","getShouldDebug","waitForEventLoop","setKey","parentGetters"],"sources":["../../src/useStore.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|