@hanzogui/use-store 7.0.0 → 7.3.1

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.
@@ -6,8 +6,7 @@ import { UNWRAP_STORE_INFO, cache, getStoreDescriptors, getStoreUid, simpleStr }
6
6
  import { DebugStores, shouldDebug, useCurrentComponent } from "./useStoreDebug.mjs";
7
7
  const idFn = _ => _;
8
8
  function useStore(StoreKlass, props, options = defaultOptions) {
9
- const info = getOrCreateStoreInfo(StoreKlass, props, options);
10
- return useStoreFromInfo(info, options.selector, options);
9
+ return useStoreFromInfo(getOrCreateStoreInfo(StoreKlass, props, options), options.selector, options);
11
10
  }
12
11
  function useStoreDebug(StoreKlass, props) {
13
12
  return useStore(StoreKlass, props, {
@@ -21,9 +20,7 @@ function useGlobalStore(instance, debug) {
21
20
  const store = instance[UNWRAP_PROXY];
22
21
  const uid = getStoreUid(store.constructor, store.props);
23
22
  const info = cache.get(uid);
24
- if (!info) {
25
- throw new Error(`This store not created using createStore()`);
26
- }
23
+ if (!info) throw new Error(`This store not created using createStore()`);
27
24
  return useStoreFromInfo(info, void 0, {
28
25
  debug
29
26
  });
@@ -32,9 +29,7 @@ function useGlobalStoreSelector(instance, selector, debug) {
32
29
  const store = instance[UNWRAP_PROXY];
33
30
  const uid = getStoreUid(store.constructor, store.props);
34
31
  const info = cache.get(uid);
35
- if (!info) {
36
- throw new Error(`This store not created using createStore()`);
37
- }
32
+ if (!info) throw new Error(`This store not created using createStore()`);
38
33
  return useStoreFromInfo(info, selector, {
39
34
  debug
40
35
  });
@@ -82,16 +77,10 @@ function onCreateStore(cb) {
82
77
  };
83
78
  }
84
79
  function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
85
- if (!StoreKlass) {
86
- return null;
87
- }
80
+ if (!StoreKlass) return null;
88
81
  const uid = getStoreUid(StoreKlass, propsKeyCalculated ?? props);
89
- if (!options?.avoidCache && cache.has(uid)) {
90
- return cache.get(uid);
91
- }
92
- if (options?.refuseCreation) {
93
- throw new Error(`No store exists (${StoreKlass.name}) with props: ${props}`);
94
- }
82
+ if (!options?.avoidCache && cache.has(uid)) return cache.get(uid);
83
+ if (options?.refuseCreation) throw new Error(`No store exists (${StoreKlass.name}) with props: ${props}`);
95
84
  const storeInstance = new StoreKlass(props);
96
85
  storeInstance.props = props;
97
86
  const getters = {};
@@ -100,15 +89,7 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
100
89
  const descriptors = getStoreDescriptors(storeInstance);
101
90
  for (const key in descriptors) {
102
91
  const descriptor = descriptors[key];
103
- if (typeof descriptor.value === "function") {
104
- actions[key] = descriptor.value;
105
- } else if (typeof descriptor.get === "function") {
106
- getters[key] = descriptor.get;
107
- } else {
108
- if (key !== "props" && key[0] !== "_") {
109
- stateKeys.add(key);
110
- }
111
- }
92
+ 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);
112
93
  }
113
94
  const keyComparators = storeInstance["_comparators"];
114
95
  const listeners = /* @__PURE__ */new Set();
@@ -139,17 +120,13 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
139
120
  },
140
121
  triggerUpdate: () => {
141
122
  storeInfo.version = (storeInfo.version + 1) % Number.MAX_SAFE_INTEGER;
142
- for (const cb of listeners) {
143
- cb();
144
- }
123
+ for (const cb of listeners) cb();
145
124
  }
146
125
  };
147
126
  const store = createProxiedStore(
148
127
  // we assign store right after and proxiedStore never accesses it until later on
149
128
  storeInfo);
150
- if (process.env.NODE_ENV === "development") {
151
- allStores[StoreKlass.name + uid] = store;
152
- }
129
+ if (process.env.NODE_ENV === "development") allStores[StoreKlass.name + uid] = store;
153
130
  store.mount?.();
154
131
  storeInfo.store = store;
155
132
  const result = storeInfo;
@@ -158,18 +135,12 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
158
135
  return result;
159
136
  }
160
137
  const allStores = {};
161
- if (process.env.NODE_ENV === "development") {
162
- globalThis["Store"] ||= allStores;
163
- }
138
+ if (process.env.NODE_ENV === "development") globalThis["Store"] ||= allStores;
164
139
  const emptyObj = {};
165
140
  const selectKeys = (obj, keys) => {
166
- if (!keys.length) {
167
- return emptyObj;
168
- }
141
+ if (!keys.length) return emptyObj;
169
142
  const res = {};
170
- for (const key of keys) {
171
- res[key] = obj[key];
172
- }
143
+ for (const key of keys) res[key] = obj[key];
173
144
  return res;
174
145
  };
175
146
  let isInReaction = false;
@@ -180,14 +151,12 @@ function useStoreFromInfo(info, userSelector, options) {
180
151
  const store = info?.store;
181
152
  const internal = React.useRef(void 0);
182
153
  const component = useCurrentComponent();
183
- if (!internal.current) {
184
- internal.current = {
185
- component,
186
- tracked: /* @__PURE__ */new Set(),
187
- last: null,
188
- lastKeys: null
189
- };
190
- }
154
+ if (!internal.current) internal.current = {
155
+ component,
156
+ tracked: /* @__PURE__ */new Set(),
157
+ last: null,
158
+ lastKeys: null
159
+ };
191
160
  const curInternal = internal.current;
192
161
  const shouldPrintDebug = options?.debug;
193
162
  const getSnapshot = React.useCallback(() => {
@@ -197,66 +166,46 @@ function useStoreFromInfo(info, userSelector, options) {
197
166
  const keys = [...(!isTracking ? info.stateKeys : curInternal2.tracked)];
198
167
  const nextKeys = `${info.version}${keys.join("")}${userSelector || ""}`;
199
168
  const lastKeys = curInternal2.lastKeys;
200
- if (nextKeys === curInternal2.lastKeys) {
201
- return curInternal2.last;
202
- }
169
+ if (nextKeys === curInternal2.lastKeys) return curInternal2.last;
203
170
  curInternal2.lastKeys = nextKeys;
204
171
  let snap;
205
172
  info.disableTracking = true;
206
173
  const last = curInternal2.last;
207
- if (userSelector) {
208
- snap = userSelector(store);
209
- } else {
210
- snap = selectKeys(store, keys);
211
- }
174
+ if (userSelector) snap = userSelector(store);else snap = selectKeys(store, keys);
212
175
  info.disableTracking = false;
213
176
  const isUnchanged = !userSelector && !isTracking && last || typeof last !== "undefined" && isEqualSubsetShallow(last, snap, {
214
177
  keyComparators: info.keyComparators
215
178
  });
216
- if (shouldPrintDebug) {
217
- console.info("\u{1F311} getSnapshot", {
218
- storeState: selectKeys(store, Object.keys(store)),
219
- userSelector,
220
- info,
221
- isUnchanged,
222
- component,
223
- keys,
224
- last,
225
- snap,
226
- curInternal: curInternal2,
227
- nextKeys,
228
- lastKeys
229
- });
230
- }
231
- if (isUnchanged) {
232
- return last;
233
- }
179
+ if (shouldPrintDebug) console.info("🌑 getSnapshot", {
180
+ storeState: selectKeys(store, Object.keys(store)),
181
+ userSelector,
182
+ info,
183
+ isUnchanged,
184
+ component,
185
+ keys,
186
+ last,
187
+ snap,
188
+ curInternal: curInternal2,
189
+ nextKeys,
190
+ lastKeys
191
+ });
192
+ if (isUnchanged) return last;
234
193
  curInternal2.last = snap;
235
194
  return snap;
236
195
  }, [store]);
237
196
  const state = React.useSyncExternalStore(info?.subscribe || idFn, getSnapshot, getSnapshot);
238
- if (!info || !store || !state) {
239
- return state;
240
- }
241
- if (userSelector) {
242
- return state;
243
- }
197
+ if (!info || !store || !state) return state;
198
+ if (userSelector) return state;
244
199
  return new Proxy(store, {
245
200
  get(target, key) {
246
201
  const curVal = Reflect.get(target, key);
247
- if (isInReaction) {
248
- return curVal;
249
- }
202
+ if (isInReaction) return curVal;
250
203
  const keyString = key;
251
204
  if (info.stateKeys.has(keyString) || keyString in info.getters) {
252
- if (shouldPrintDebug) {
253
- console.info("\u{1F440} tracking", keyString);
254
- }
205
+ if (shouldPrintDebug) console.info("👀 tracking", keyString);
255
206
  curInternal.tracked.add(keyString);
256
207
  }
257
- if (Reflect.has(state, key)) {
258
- return Reflect.get(state, key);
259
- }
208
+ if (Reflect.has(state, key)) return Reflect.get(state, key);
260
209
  return curVal;
261
210
  }
262
211
  });
@@ -280,32 +229,22 @@ function createProxiedStore(storeInfo) {
280
229
  let didSet = false;
281
230
  const wrappedActions = {};
282
231
  for (const key in actions) {
283
- if (key === "subscribe") {
284
- continue;
285
- }
232
+ if (key === "subscribe") continue;
286
233
  const actionFn = actions[key];
287
234
  const isGetFn = key.startsWith("get");
288
235
  wrappedActions[key] = function useStoreAction(...args) {
289
236
  let res;
290
- if (isGetFn || gettersState.isGetting) {
291
- return Reflect.apply(actionFn, proxiedStore, args);
292
- }
293
- if (process.env.NODE_ENV === "development" && shouldDebug2) {
294
- console.info("(debug) startAction", key);
295
- }
237
+ if (isGetFn || gettersState.isGetting) return Reflect.apply(actionFn, proxiedStore, args);
238
+ if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("(debug) startAction", key);
296
239
  res = Reflect.apply(actionFn, proxiedStore, args);
297
- if (res instanceof Promise) {
298
- return res.then(finishAction);
299
- }
240
+ if (res instanceof Promise) return res.then(finishAction);
300
241
  finishAction();
301
242
  return res;
302
243
  };
303
244
  if (process.env.NODE_ENV === "development") {
304
245
  let hashCode = function (str) {
305
246
  let hash = 0;
306
- for (let i = 0; i < str.length; i++) {
307
- hash = str.charCodeAt(i) + ((hash << 5) - hash);
308
- }
247
+ for (let i = 0; i < str.length; i++) hash = str.charCodeAt(i) + ((hash << 5) - hash);
309
248
  return hash;
310
249
  },
311
250
  strColor = function (str) {
@@ -316,10 +255,7 @@ function createProxiedStore(storeInfo) {
316
255
  wrappedActions[key] = new Proxy(ogAction, {
317
256
  apply(target, thisArg, args) {
318
257
  const isDebugging = shouldDebug2 || storeInfo.debug;
319
- const shouldLog = process.env.LOG_LEVEL !== "0" && (isDebugging || configureOpts.logLevel !== "error");
320
- if (!shouldLog) {
321
- return Reflect.apply(target, thisArg, args);
322
- }
258
+ if (!(process.env.LOG_LEVEL !== "0" && (isDebugging || configureOpts.logLevel !== "error"))) return Reflect.apply(target, thisArg, args);
323
259
  setters = /* @__PURE__ */new Set();
324
260
  const curSetters = setters;
325
261
  const isTopLevelLogger = logStack.size == 0;
@@ -338,18 +274,12 @@ function createProxiedStore(storeInfo) {
338
274
  const color = strColor(name);
339
275
  const simpleArgs = args.map(simpleStr);
340
276
  logs.add([`%c \u{1F311} ${id} ${name.padStart(isTopLevelLogger ? 8 : 4)}%c.${key}(${simpleArgs.join(", ")})${isTopLevelLogger && logStack.size > 1 ? ` (+${logStack.size - 1})` : ""}`, `color: ${color};`, "color: black;"]);
341
- if (curSetters.size) {
342
- curSetters.forEach(({
343
- key: key2,
344
- value
345
- }) => {
346
- if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
347
- logs.add([` SET ${key2} ${value}`, value]);
348
- } else {
349
- logs.add([` SET ${key2}`, value]);
350
- }
351
- });
352
- }
277
+ if (curSetters.size) curSetters.forEach(({
278
+ key: key2,
279
+ value
280
+ }) => {
281
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") logs.add([` SET ${key2} ${value}`, value]);else logs.add([` SET ${key2}`, value]);
282
+ });
353
283
  if (isTopLevelLogger) {
354
284
  let error = null;
355
285
  try {
@@ -373,19 +303,13 @@ function createProxiedStore(storeInfo) {
373
303
  console.info(...log);
374
304
  console.groupEnd();
375
305
  }
376
- } else {
377
- console.info("Weird log", head, ...rest);
378
- }
306
+ } else console.info("Weird log", head, ...rest);
379
307
  }
380
308
  } catch (err) {
381
309
  error = err;
382
310
  }
383
- for (const _ of logStack) {
384
- console.groupEnd();
385
- }
386
- if (error) {
387
- console.error(`error loggin`, error);
388
- }
311
+ for (const _ of logStack) console.groupEnd();
312
+ if (error) console.error(`error loggin`, error);
389
313
  logStack.clear();
390
314
  }
391
315
  return res;
@@ -396,11 +320,9 @@ function createProxiedStore(storeInfo) {
396
320
  }
397
321
  }
398
322
  const finishAction = val => {
399
- if (process.env.NODE_ENV === "development" && shouldDebug2) {
400
- console.info("(debug) finishAction", {
401
- didSet
402
- });
403
- }
323
+ if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("(debug) finishAction", {
324
+ didSet
325
+ });
404
326
  if (didSet) {
405
327
  storeInfo.triggerUpdate();
406
328
  didSet = false;
@@ -409,55 +331,32 @@ function createProxiedStore(storeInfo) {
409
331
  };
410
332
  let isTriggering = false;
411
333
  const proxiedStore = new Proxy(storeInstance, {
412
- // GET
413
334
  get(_, key) {
414
- if (key in wrappedActions) {
415
- return wrappedActions[key];
416
- }
417
- if (key in passThroughKeys) {
418
- return Reflect.get(storeInstance, key);
419
- }
420
- if (key === UNWRAP_PROXY) {
421
- return storeInstance;
422
- }
423
- if (key === UNWRAP_STORE_INFO) {
424
- return storeInfo;
425
- }
426
- if (storeAccessTrackers.size) {
427
- storeAccessTrackers.forEach(cb => cb(storeInfo));
428
- }
429
- if (typeof key !== "string") {
430
- return Reflect.get(storeInstance, key);
431
- }
335
+ if (key in wrappedActions) return wrappedActions[key];
336
+ if (key in passThroughKeys) return Reflect.get(storeInstance, key);
337
+ if (key === UNWRAP_PROXY) return storeInstance;
338
+ if (key === UNWRAP_STORE_INFO) return storeInfo;
339
+ if (storeAccessTrackers.size) storeAccessTrackers.forEach(cb => cb(storeInfo));
340
+ if (typeof key !== "string") return Reflect.get(storeInstance, key);
432
341
  if (!storeInfo.disableTracking) {
433
- if (gettersState.isGetting) {
434
- gettersState.curGetKeys.add(key);
435
- } else {}
342
+ if (gettersState.isGetting) gettersState.curGetKeys.add(key);
436
343
  }
437
344
  if (key in getters) {
438
- if (getCache.has(key)) {
439
- return getCache.get(key);
440
- }
345
+ if (getCache.has(key)) return getCache.get(key);
441
346
  curGetKeys.clear();
442
347
  const isSubGetter = gettersState.isGetting;
443
348
  gettersState.isGetting = true;
444
349
  const res = getters[key].call(proxiedStore);
445
- if (!isSubGetter) {
446
- gettersState.isGetting = false;
447
- }
350
+ if (!isSubGetter) gettersState.isGetting = false;
448
351
  for (const gk of curGetKeys) {
449
- if (!depsToGetter.has(gk)) {
450
- depsToGetter.set(gk, /* @__PURE__ */new Set());
451
- }
452
- const cur = depsToGetter.get(gk);
453
- cur.add(key);
352
+ if (!depsToGetter.has(gk)) depsToGetter.set(gk, /* @__PURE__ */new Set());
353
+ depsToGetter.get(gk).add(key);
454
354
  }
455
355
  getCache.set(key, res);
456
356
  return res;
457
357
  }
458
358
  return Reflect.get(storeInstance, key);
459
359
  },
460
- // SET
461
360
  set(target, key, value, receiver) {
462
361
  const cur = Reflect.get(target, key);
463
362
  const res = Reflect.set(target, key, value, receiver);
@@ -469,16 +368,12 @@ function createProxiedStore(storeInfo) {
469
368
  key,
470
369
  value
471
370
  });
472
- if (getShouldDebug(storeInfo)) {
473
- console.info("(debug) SET", res, key, value);
474
- }
475
- }
476
- if (process.env.NODE_ENV === "development" && shouldDebug2) {
477
- console.info("SET...", {
478
- key,
479
- value
480
- });
371
+ if (getShouldDebug(storeInfo)) console.info("(debug) SET", res, key, value);
481
372
  }
373
+ if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("SET...", {
374
+ key,
375
+ value
376
+ });
482
377
  }
483
378
  if (!isTriggering) {
484
379
  isTriggering = true;
@@ -494,14 +389,10 @@ function createProxiedStore(storeInfo) {
494
389
  function clearGetterCache(setKey) {
495
390
  const parentGetters = depsToGetter.get(setKey);
496
391
  getCache.delete(setKey);
497
- if (!parentGetters) {
498
- return;
499
- }
392
+ if (!parentGetters) return;
500
393
  for (const gk of parentGetters) {
501
394
  getCache.delete(gk);
502
- if (depsToGetter.has(gk)) {
503
- clearGetterCache(gk);
504
- }
395
+ if (depsToGetter.has(gk)) clearGetterCache(gk);
505
396
  }
506
397
  }
507
398
  return proxiedStore;
@@ -520,8 +411,7 @@ function getShouldDebug(storeInfo) {
520
411
  const info = {
521
412
  storeInstance: storeInfo.store
522
413
  };
523
- const trackers = storeInfo.trackers;
524
- return [...trackers].some(tracker => tracker.component && shouldDebug(tracker.component, info));
414
+ return [...storeInfo.trackers].some(tracker => tracker.component && shouldDebug(tracker.component, info));
525
415
  }
526
416
  export { allStores, createStore, createUseStore, createUseStoreSelector, getOrCreateStore, getStore, getStoreInfo, onCreateStore, setIsInReaction, trackStoresAccess, useGlobalStore, useGlobalStoreSelector, useStore, useStoreDebug, useStoreSelector };
527
417
  //# sourceMappingURL=useStore.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","isEqualSubsetShallow","configureOpts","UNWRAP_PROXY","defaultOptions","UNWRAP_STORE_INFO","cache","getStoreDescriptors","getStoreUid","simpleStr","DebugStores","shouldDebug","useCurrentComponent","idFn","_","useStore","StoreKlass","props","options","info","getOrCreateStoreInfo","useStoreFromInfo","selector","useStoreDebug","debug","createStore","store","useGlobalStore","instance","uid","constructor","get","Error","useGlobalStoreSelector","createUseStore","createUseStoreSelector","useStoreSelector","storeAccessTrackers","Set","trackStoresAccess","cb","add","delete","getStore","getStoreInfo","getOrCreateStore","refuseCreation","onCreateListeners","onCreateStore","propsKeyCalculated","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","createProxiedStore","process","env","NODE_ENV","allStores","mount","result","set","forEach","globalThis","emptyObj","selectKeys","obj","keys","length","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","constr","shouldDebug2","didSet","wrappedActions","actionFn","isGetFn","startsWith","useStoreAction","args","apply","proxiedStore","Promise","then","finishAction","hashCode","str","hash","i","charCodeAt","strColor","ogAction","thisArg","isDebugging","shouldLog","LOG_LEVEL","logLevel","curSetters","isTopLevelLogger","logs","id","counter","err","error","color","simpleArgs","map","padStart","key2","item","groupEnd","head","rest","groupCollapsed","trace","name2","log","clear","isTriggering","passThroughKeys","isSubGetter","call","gk","cur","receiver","clearGetterCache","getShouldDebug","waitForEventLoop","setKey","parentGetters","queueMicrotask","_version","_trackers","$$typeof","_listeners","_enableTracking","some","tracker"],"sources":["../../src/useStore.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","isEqualSubsetShallow","configureOpts","UNWRAP_PROXY","defaultOptions","UNWRAP_STORE_INFO","cache","getStoreDescriptors","getStoreUid","simpleStr","DebugStores","shouldDebug","useCurrentComponent","idFn","_","useStore","StoreKlass","props","options","useStoreFromInfo","getOrCreateStoreInfo","selector","useStoreDebug","debug","createStore","store","useGlobalStore","instance","uid","constructor","info","get","Error","useGlobalStoreSelector","createUseStore","createUseStoreSelector","useStoreSelector","storeAccessTrackers","Set","trackStoresAccess","cb","add","delete","getStore","getStoreInfo","getOrCreateStore","refuseCreation","onCreateListeners","onCreateStore","propsKeyCalculated","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","createProxiedStore","process","env","NODE_ENV","allStores","mount","result","set","forEach","globalThis","emptyObj","selectKeys","obj","keys","length","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","constr","shouldDebug2","didSet","wrappedActions","actionFn","isGetFn","startsWith","useStoreAction","args","apply","proxiedStore","Promise","then","finishAction","hashCode","str","hash","i","charCodeAt","strColor","ogAction","thisArg","isDebugging","LOG_LEVEL","logLevel","curSetters","isTopLevelLogger","logs","id","counter","err","error","color","simpleArgs","map","padStart","key2","item","groupEnd","head","rest","groupCollapsed","trace","name2","log","clear","isTriggering","passThroughKeys","isSubGetter","call","gk","receiver","cur","clearGetterCache","getShouldDebug","waitForEventLoop","setKey","parentGetters","queueMicrotask","_version","_trackers","$$typeof","_listeners","_enableTracking","some","tracker"],"sources":["../../src/useStore.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}