@tamagui/use-store 2.0.0-rc.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/cjs/comparators.cjs +18 -14
  2. package/dist/cjs/comparators.native.js +21 -17
  3. package/dist/cjs/comparators.native.js.map +1 -1
  4. package/dist/cjs/configureUseStore.cjs +12 -10
  5. package/dist/cjs/configureUseStore.native.js +12 -10
  6. package/dist/cjs/configureUseStore.native.js.map +1 -1
  7. package/dist/cjs/constants.cjs +17 -15
  8. package/dist/cjs/constants.native.js +17 -15
  9. package/dist/cjs/constants.native.js.map +1 -1
  10. package/dist/cjs/decorators.cjs +14 -11
  11. package/dist/cjs/decorators.native.js +14 -11
  12. package/dist/cjs/decorators.native.js.map +1 -1
  13. package/dist/cjs/helpers.cjs +28 -21
  14. package/dist/cjs/helpers.native.js +29 -23
  15. package/dist/cjs/helpers.native.js.map +1 -1
  16. package/dist/cjs/index.cjs +13 -11
  17. package/dist/cjs/index.native.js +30 -19
  18. package/dist/cjs/index.native.js.map +1 -1
  19. package/dist/cjs/interfaces.cjs +7 -5
  20. package/dist/cjs/interfaces.native.js +7 -5
  21. package/dist/cjs/interfaces.native.js.map +1 -1
  22. package/dist/cjs/observe.cjs +105 -59
  23. package/dist/cjs/observe.native.js +159 -111
  24. package/dist/cjs/observe.native.js.map +1 -1
  25. package/dist/cjs/useStore.cjs +271 -194
  26. package/dist/cjs/useStore.native.js +438 -374
  27. package/dist/cjs/useStore.native.js.map +1 -1
  28. package/dist/cjs/useStoreDebug.cjs +42 -31
  29. package/dist/cjs/useStoreDebug.native.js +42 -36
  30. package/dist/cjs/useStoreDebug.native.js.map +1 -1
  31. package/dist/esm/comparators.mjs +6 -4
  32. package/dist/esm/comparators.mjs.map +1 -1
  33. package/dist/esm/comparators.native.js +9 -7
  34. package/dist/esm/comparators.native.js.map +1 -1
  35. package/dist/esm/constants.mjs +5 -5
  36. package/dist/esm/constants.mjs.map +1 -1
  37. package/dist/esm/constants.native.js +5 -5
  38. package/dist/esm/constants.native.js.map +1 -1
  39. package/dist/esm/decorators.mjs +2 -1
  40. package/dist/esm/decorators.mjs.map +1 -1
  41. package/dist/esm/decorators.native.js +2 -1
  42. package/dist/esm/decorators.native.js.map +1 -1
  43. package/dist/esm/helpers.mjs +16 -11
  44. package/dist/esm/helpers.mjs.map +1 -1
  45. package/dist/esm/helpers.native.js +17 -13
  46. package/dist/esm/helpers.native.js.map +1 -1
  47. package/dist/esm/index.js +8 -12
  48. package/dist/esm/index.js.map +1 -6
  49. package/dist/esm/index.native.js +17 -8
  50. package/dist/esm/index.native.js.map +1 -1
  51. package/dist/esm/observe.mjs +77 -33
  52. package/dist/esm/observe.mjs.map +1 -1
  53. package/dist/esm/observe.native.js +128 -82
  54. package/dist/esm/observe.native.js.map +1 -1
  55. package/dist/esm/useStore.mjs +241 -166
  56. package/dist/esm/useStore.mjs.map +1 -1
  57. package/dist/esm/useStore.native.js +408 -346
  58. package/dist/esm/useStore.native.js.map +1 -1
  59. package/dist/esm/useStoreDebug.mjs +18 -9
  60. package/dist/esm/useStoreDebug.mjs.map +1 -1
  61. package/dist/esm/useStoreDebug.native.js +14 -10
  62. package/dist/esm/useStoreDebug.native.js.map +1 -1
  63. package/package.json +5 -4
  64. package/dist/cjs/comparators.js +0 -33
  65. package/dist/cjs/comparators.js.map +0 -6
  66. package/dist/cjs/configureUseStore.js +0 -25
  67. package/dist/cjs/configureUseStore.js.map +0 -6
  68. package/dist/cjs/constants.js +0 -25
  69. package/dist/cjs/constants.js.map +0 -6
  70. package/dist/cjs/decorators.js +0 -25
  71. package/dist/cjs/decorators.js.map +0 -6
  72. package/dist/cjs/helpers.js +0 -50
  73. package/dist/cjs/helpers.js.map +0 -6
  74. package/dist/cjs/index.js +0 -34
  75. package/dist/cjs/index.js.map +0 -6
  76. package/dist/cjs/interfaces.js +0 -14
  77. package/dist/cjs/interfaces.js.map +0 -6
  78. package/dist/cjs/observe.js +0 -105
  79. package/dist/cjs/observe.js.map +0 -6
  80. package/dist/cjs/useStore.js +0 -353
  81. package/dist/cjs/useStore.js.map +0 -6
  82. package/dist/cjs/useStoreDebug.js +0 -46
  83. package/dist/cjs/useStoreDebug.js.map +0 -6
  84. package/dist/esm/comparators.js +0 -17
  85. package/dist/esm/comparators.js.map +0 -6
  86. package/dist/esm/configureUseStore.js +0 -9
  87. package/dist/esm/configureUseStore.js.map +0 -6
  88. package/dist/esm/constants.js +0 -9
  89. package/dist/esm/constants.js.map +0 -6
  90. package/dist/esm/decorators.js +0 -9
  91. package/dist/esm/decorators.js.map +0 -6
  92. package/dist/esm/helpers.js +0 -34
  93. package/dist/esm/helpers.js.map +0 -6
  94. package/dist/esm/interfaces.js +0 -1
  95. package/dist/esm/interfaces.js.map +0 -6
  96. package/dist/esm/observe.js +0 -84
  97. package/dist/esm/observe.js.map +0 -6
  98. package/dist/esm/useStore.js +0 -340
  99. package/dist/esm/useStore.js.map +0 -6
  100. package/dist/esm/useStoreDebug.js +0 -22
  101. package/dist/esm/useStoreDebug.js.map +0 -6
@@ -6,31 +6,30 @@ 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, {
14
- debug: !0
13
+ debug: true
15
14
  });
16
15
  }
17
16
  function createStore(StoreKlass, props, options) {
18
17
  return getOrCreateStoreInfo(StoreKlass, props, options)?.store;
19
18
  }
20
19
  function useGlobalStore(instance, debug) {
21
- const store = instance[UNWRAP_PROXY],
22
- uid = getStoreUid(store.constructor, store.props),
23
- info = cache.get(uid);
24
- if (!info) throw new Error("This store not created using createStore()");
20
+ const store = instance[UNWRAP_PROXY];
21
+ const uid = getStoreUid(store.constructor, store.props);
22
+ const info = cache.get(uid);
23
+ if (!info) throw new Error(`This store not created using createStore()`);
25
24
  return useStoreFromInfo(info, void 0, {
26
25
  debug
27
26
  });
28
27
  }
29
28
  function useGlobalStoreSelector(instance, selector, debug) {
30
- const store = instance[UNWRAP_PROXY],
31
- uid = getStoreUid(store.constructor, store.props),
32
- info = cache.get(uid);
33
- if (!info) throw new Error("This store not created using createStore()");
29
+ const store = instance[UNWRAP_PROXY];
30
+ const uid = getStoreUid(store.constructor, store.props);
31
+ const info = cache.get(uid);
32
+ if (!info) throw new Error(`This store not created using createStore()`);
34
33
  return useStoreFromInfo(info, selector, {
35
34
  debug
36
35
  });
@@ -39,9 +38,11 @@ function createUseStore(StoreKlass) {
39
38
  return (props, options) => useStore(StoreKlass, props, options);
40
39
  }
41
40
  function createUseStoreSelector(StoreKlass, selector) {
42
- return props => useStore(StoreKlass, props, {
43
- selector
44
- });
41
+ return props => {
42
+ return useStore(StoreKlass, props, {
43
+ selector
44
+ });
45
+ };
45
46
  }
46
47
  function useStoreSelector(StoreKlass, selector, props) {
47
48
  return useStore(StoreKlass, props, {
@@ -50,7 +51,8 @@ function useStoreSelector(StoreKlass, selector, props) {
50
51
  }
51
52
  const storeAccessTrackers = /* @__PURE__ */new Set();
52
53
  function trackStoresAccess(cb) {
53
- return storeAccessTrackers.add(cb), () => {
54
+ storeAccessTrackers.add(cb);
55
+ return () => {
54
56
  storeAccessTrackers.delete(cb);
55
57
  };
56
58
  }
@@ -59,17 +61,18 @@ function getStore(StoreKlass, props) {
59
61
  }
60
62
  function getOrCreateStore(StoreKlass, props) {
61
63
  return getOrCreateStoreInfo(StoreKlass, props, {
62
- refuseCreation: !1
64
+ refuseCreation: false
63
65
  })?.store;
64
66
  }
65
67
  function getStoreInfo(StoreKlass, props) {
66
68
  return getOrCreateStoreInfo(StoreKlass, props, {
67
- refuseCreation: !0
69
+ refuseCreation: true
68
70
  });
69
71
  }
70
72
  const onCreateListeners = /* @__PURE__ */new Set();
71
73
  function onCreateStore(cb) {
72
- return onCreateListeners.add(cb), () => {
74
+ onCreateListeners.add(cb);
75
+ return () => {
73
76
  onCreateListeners.delete(cb);
74
77
  };
75
78
  }
@@ -80,112 +83,130 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
80
83
  if (options?.refuseCreation) throw new Error(`No store exists (${StoreKlass.name}) with props: ${props}`);
81
84
  const storeInstance = new StoreKlass(props);
82
85
  storeInstance.props = props;
83
- const getters = {},
84
- actions = {},
85
- stateKeys = /* @__PURE__ */new Set(),
86
- descriptors = getStoreDescriptors(storeInstance);
86
+ const getters = {};
87
+ const actions = {};
88
+ const stateKeys = /* @__PURE__ */new Set();
89
+ const descriptors = getStoreDescriptors(storeInstance);
87
90
  for (const key in descriptors) {
88
91
  const descriptor = descriptors[key];
89
- typeof descriptor.value == "function" ? actions[key] = descriptor.value : typeof descriptor.get == "function" ? getters[key] = descriptor.get : key !== "props" && key[0] !== "_" && stateKeys.add(key);
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);
90
93
  }
91
- const keyComparators = storeInstance._comparators,
92
- listeners = /* @__PURE__ */new Set(),
93
- storeInfo = {
94
- uid,
95
- keyComparators,
96
- storeInstance,
97
- getters,
98
- stateKeys,
99
- props,
100
- actions,
101
- debug: options?.debug,
102
- disableTracking: !1,
103
- gettersState: {
104
- getCache: /* @__PURE__ */new Map(),
105
- depsToGetter: /* @__PURE__ */new Map(),
106
- curGetKeys: /* @__PURE__ */new Set(),
107
- isGetting: !1
108
- },
109
- listeners,
110
- trackers: /* @__PURE__ */new Set(),
111
- version: 0,
112
- subscribe: onChanged => (listeners.add(onChanged), () => {
94
+ const keyComparators = storeInstance["_comparators"];
95
+ const listeners = /* @__PURE__ */new Set();
96
+ const storeInfo = {
97
+ uid,
98
+ keyComparators,
99
+ storeInstance,
100
+ getters,
101
+ stateKeys,
102
+ props,
103
+ actions,
104
+ debug: options?.debug,
105
+ disableTracking: false,
106
+ gettersState: {
107
+ getCache: /* @__PURE__ */new Map(),
108
+ depsToGetter: /* @__PURE__ */new Map(),
109
+ curGetKeys: /* @__PURE__ */new Set(),
110
+ isGetting: false
111
+ },
112
+ listeners,
113
+ trackers: /* @__PURE__ */new Set(),
114
+ version: 0,
115
+ subscribe: onChanged => {
116
+ listeners.add(onChanged);
117
+ return () => {
113
118
  listeners.delete(onChanged);
114
- }),
115
- triggerUpdate: () => {
116
- storeInfo.version = (storeInfo.version + 1) % Number.MAX_SAFE_INTEGER;
117
- for (const cb of listeners) cb();
118
- }
119
+ };
119
120
  },
120
- store = createProxiedStore(
121
- // we assign store right after and proxiedStore never accesses it until later on
122
- storeInfo);
123
- process.env.NODE_ENV === "development" && (allStores[StoreKlass.name + uid] = store), store.mount?.(), storeInfo.store = store;
121
+ triggerUpdate: () => {
122
+ storeInfo.version = (storeInfo.version + 1) % Number.MAX_SAFE_INTEGER;
123
+ for (const cb of listeners) cb();
124
+ }
125
+ };
126
+ const store = createProxiedStore(
127
+ // we assign store right after and proxiedStore never accesses it until later on
128
+ storeInfo);
129
+ if (process.env.NODE_ENV === "development") allStores[StoreKlass.name + uid] = store;
130
+ store.mount?.();
131
+ storeInfo.store = store;
124
132
  const result = storeInfo;
125
- return cache.set(uid, result), onCreateListeners.forEach(cb => cb(result)), result;
133
+ cache.set(uid, result);
134
+ onCreateListeners.forEach(cb => cb(result));
135
+ return result;
126
136
  }
127
137
  const allStores = {};
128
- process.env.NODE_ENV === "development" && (globalThis.Store ||= allStores);
129
- const emptyObj = {},
130
- selectKeys = (obj, keys) => {
131
- if (!keys.length) return emptyObj;
132
- const res = {};
133
- for (const key of keys) res[key] = obj[key];
134
- return res;
135
- };
136
- let isInReaction = !1;
138
+ if (process.env.NODE_ENV === "development") globalThis["Store"] ||= allStores;
139
+ const emptyObj = {};
140
+ const selectKeys = (obj, keys) => {
141
+ if (!keys.length) return emptyObj;
142
+ const res = {};
143
+ for (const key of keys) res[key] = obj[key];
144
+ return res;
145
+ };
146
+ let isInReaction = false;
137
147
  const setIsInReaction = val => {
138
148
  isInReaction = val;
139
149
  };
140
150
  function useStoreFromInfo(info, userSelector, options) {
141
- const store = info?.store,
142
- internal = React.useRef(void 0),
143
- component = useCurrentComponent();
144
- internal.current || (internal.current = {
151
+ const store = info?.store;
152
+ const internal = React.useRef(void 0);
153
+ const component = useCurrentComponent();
154
+ if (!internal.current) internal.current = {
145
155
  component,
146
156
  tracked: /* @__PURE__ */new Set(),
147
157
  last: null,
148
158
  lastKeys: null
149
- });
150
- const curInternal = internal.current,
151
- shouldPrintDebug = options?.debug,
152
- getSnapshot = React.useCallback(() => {
153
- if (!info || !store) return;
154
- const curInternal2 = internal.current,
155
- isTracking = curInternal2.tracked.size,
156
- keys = [...(isTracking ? curInternal2.tracked : info.stateKeys)],
157
- nextKeys = `${info.version}${keys.join("")}${userSelector || ""}`,
158
- lastKeys = curInternal2.lastKeys;
159
- if (nextKeys === curInternal2.lastKeys) return curInternal2.last;
160
- curInternal2.lastKeys = nextKeys;
161
- let snap;
162
- info.disableTracking = !0;
163
- const last = curInternal2.last;
164
- userSelector ? snap = userSelector(store) : snap = selectKeys(store, keys), info.disableTracking = !1;
165
- const isUnchanged = !userSelector && !isTracking && last || typeof last < "u" && isEqualSubsetShallow(last, snap, {
166
- keyComparators: info.keyComparators
167
- });
168
- return shouldPrintDebug && console.info("\u{1F311} getSnapshot", {
169
- storeState: selectKeys(store, Object.keys(store)),
170
- userSelector,
171
- info,
172
- isUnchanged,
173
- component,
174
- keys,
175
- last,
176
- snap,
177
- curInternal: curInternal2,
178
- nextKeys,
179
- lastKeys
180
- }), isUnchanged ? last : (curInternal2.last = snap, snap);
181
- }, [store]),
182
- state = React.useSyncExternalStore(info?.subscribe || idFn, getSnapshot, getSnapshot);
183
- return !info || !store || !state || userSelector ? state : new Proxy(store, {
159
+ };
160
+ const curInternal = internal.current;
161
+ const shouldPrintDebug = options?.debug;
162
+ const getSnapshot = React.useCallback(() => {
163
+ if (!info || !store) return;
164
+ const curInternal2 = internal.current;
165
+ const isTracking = curInternal2.tracked.size;
166
+ const keys = [...(!isTracking ? info.stateKeys : curInternal2.tracked)];
167
+ const nextKeys = `${info.version}${keys.join("")}${userSelector || ""}`;
168
+ const lastKeys = curInternal2.lastKeys;
169
+ if (nextKeys === curInternal2.lastKeys) return curInternal2.last;
170
+ curInternal2.lastKeys = nextKeys;
171
+ let snap;
172
+ info.disableTracking = true;
173
+ const last = curInternal2.last;
174
+ if (userSelector) snap = userSelector(store);else snap = selectKeys(store, keys);
175
+ info.disableTracking = false;
176
+ const isUnchanged = !userSelector && !isTracking && last || typeof last !== "undefined" && isEqualSubsetShallow(last, snap, {
177
+ keyComparators: info.keyComparators
178
+ });
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;
193
+ curInternal2.last = snap;
194
+ return snap;
195
+ }, [store]);
196
+ const state = React.useSyncExternalStore(info?.subscribe || idFn, getSnapshot, getSnapshot);
197
+ if (!info || !store || !state) return state;
198
+ if (userSelector) return state;
199
+ return new Proxy(store, {
184
200
  get(target, key) {
185
201
  const curVal = Reflect.get(target, key);
186
202
  if (isInReaction) return curVal;
187
203
  const keyString = key;
188
- return (info.stateKeys.has(keyString) || keyString in info.getters) && (shouldPrintDebug && console.info("\u{1F440} tracking", keyString), curInternal.tracked.add(keyString)), Reflect.has(state, key) ? Reflect.get(state, key) : curVal;
204
+ if (info.stateKeys.has(keyString) || keyString in info.getters) {
205
+ if (shouldPrintDebug) console.info("👀 tracking", keyString);
206
+ curInternal.tracked.add(keyString);
207
+ }
208
+ if (Reflect.has(state, key)) return Reflect.get(state, key);
209
+ return curVal;
189
210
  }
190
211
  });
191
212
  }
@@ -193,28 +214,34 @@ let setters = /* @__PURE__ */new Set();
193
214
  const logStack = /* @__PURE__ */new Set();
194
215
  function createProxiedStore(storeInfo) {
195
216
  const {
196
- actions,
197
- storeInstance,
198
- getters,
199
- gettersState
200
- } = storeInfo,
201
- {
202
- getCache,
203
- curGetKeys,
204
- depsToGetter
205
- } = gettersState,
206
- constr = storeInstance.constructor,
207
- shouldDebug2 = storeInfo.debug ?? DebugStores.has(constr);
208
- let didSet = !1;
217
+ actions,
218
+ storeInstance,
219
+ getters,
220
+ gettersState
221
+ } = storeInfo;
222
+ const {
223
+ getCache,
224
+ curGetKeys,
225
+ depsToGetter
226
+ } = gettersState;
227
+ const constr = storeInstance.constructor;
228
+ const shouldDebug2 = storeInfo.debug ?? DebugStores.has(constr);
229
+ let didSet = false;
209
230
  const wrappedActions = {};
210
231
  for (const key in actions) {
211
232
  if (key === "subscribe") continue;
212
- const actionFn = actions[key],
213
- isGetFn = key.startsWith("get");
214
- if (wrappedActions[key] = function (...args) {
233
+ const actionFn = actions[key];
234
+ const isGetFn = key.startsWith("get");
235
+ wrappedActions[key] = function useStoreAction(...args) {
215
236
  let res;
216
- return isGetFn || gettersState.isGetting ? Reflect.apply(actionFn, proxiedStore, args) : (process.env.NODE_ENV === "development" && shouldDebug2 && console.info("(debug) startAction", key), res = Reflect.apply(actionFn, proxiedStore, args), res instanceof Promise ? res.then(finishAction) : (finishAction(), res));
217
- }, process.env.NODE_ENV === "development") {
237
+ if (isGetFn || gettersState.isGetting) return Reflect.apply(actionFn, proxiedStore, args);
238
+ if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("(debug) startAction", key);
239
+ res = Reflect.apply(actionFn, proxiedStore, args);
240
+ if (res instanceof Promise) return res.then(finishAction);
241
+ finishAction();
242
+ return res;
243
+ };
244
+ if (process.env.NODE_ENV === "development") {
218
245
  let hashCode = function (str) {
219
246
  let hash = 0;
220
247
  for (let i = 0; i < str.length; i++) hash = str.charCodeAt(i) + ((hash << 5) - hash);
@@ -230,27 +257,30 @@ function createProxiedStore(storeInfo) {
230
257
  const isDebugging = shouldDebug2 || storeInfo.debug;
231
258
  if (!(process.env.LOG_LEVEL !== "0" && (isDebugging || configureOpts.logLevel !== "error"))) return Reflect.apply(target, thisArg, args);
232
259
  setters = /* @__PURE__ */new Set();
233
- const curSetters = setters,
234
- isTopLevelLogger = logStack.size == 0,
235
- logs = /* @__PURE__ */new Set();
260
+ const curSetters = setters;
261
+ const isTopLevelLogger = logStack.size == 0;
262
+ const logs = /* @__PURE__ */new Set();
236
263
  logStack.add(logs);
237
264
  let res;
238
265
  const id = counter++;
239
266
  try {
240
267
  res = Reflect.apply(target, thisArg, args);
241
268
  } catch (err) {
242
- throw console.error("Error", err), err;
269
+ console.error("Error", err);
270
+ throw err;
243
271
  } finally {
244
272
  logStack.add("end");
245
- const name = constr.name,
246
- color = strColor(name),
247
- simpleArgs = args.map(simpleStr);
248
- if (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;"]), curSetters.size && curSetters.forEach(({
273
+ const name = constr.name;
274
+ const color = strColor(name);
275
+ const simpleArgs = args.map(simpleStr);
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;"]);
277
+ if (curSetters.size) curSetters.forEach(({
249
278
  key: key2,
250
279
  value
251
280
  }) => {
252
- typeof value == "string" || typeof value == "number" || typeof value == "boolean" ? logs.add([` SET ${key2} ${value}`, value]) : logs.add([` SET ${key2}`, value]);
253
- }), isTopLevelLogger) {
281
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") logs.add([` SET ${key2} ${value}`, value]);else logs.add([` SET ${key2}`, value]);
282
+ });
283
+ if (isTopLevelLogger) {
254
284
  let error = null;
255
285
  try {
256
286
  for (const item of logStack) {
@@ -260,15 +290,27 @@ function createProxiedStore(storeInfo) {
260
290
  }
261
291
  const [head, ...rest] = item;
262
292
  if (head) {
263
- console.groupCollapsed(...head), console.groupCollapsed("..."), console.info("args", args), console.info("response", res), console.groupCollapsed("trace"), console.trace(), console.groupEnd(), console.groupEnd();
264
- for (const [name2, ...log] of rest) console.groupCollapsed(name2), console.info(...log), console.groupEnd();
293
+ console.groupCollapsed(...head);
294
+ console.groupCollapsed("...");
295
+ console.info("args", args);
296
+ console.info("response", res);
297
+ console.groupCollapsed("trace");
298
+ console.trace();
299
+ console.groupEnd();
300
+ console.groupEnd();
301
+ for (const [name2, ...log] of rest) {
302
+ console.groupCollapsed(name2);
303
+ console.info(...log);
304
+ console.groupEnd();
305
+ }
265
306
  } else console.info("Weird log", head, ...rest);
266
307
  }
267
308
  } catch (err) {
268
309
  error = err;
269
310
  }
270
311
  for (const _ of logStack) console.groupEnd();
271
- error && console.error("error loggin", error), logStack.clear();
312
+ if (error) console.error(`error loggin`, error);
313
+ logStack.clear();
272
314
  }
273
315
  return res;
274
316
  }
@@ -277,60 +319,93 @@ function createProxiedStore(storeInfo) {
277
319
  }
278
320
  }
279
321
  }
280
- const finishAction = val => (process.env.NODE_ENV === "development" && shouldDebug2 && console.info("(debug) finishAction", {
281
- didSet
282
- }), didSet && (storeInfo.triggerUpdate(), didSet = !1), val);
283
- let isTriggering = !1;
322
+ const finishAction = val => {
323
+ if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("(debug) finishAction", {
324
+ didSet
325
+ });
326
+ if (didSet) {
327
+ storeInfo.triggerUpdate();
328
+ didSet = false;
329
+ }
330
+ return val;
331
+ };
332
+ let isTriggering = false;
284
333
  const proxiedStore = new Proxy(storeInstance, {
285
- // GET
286
334
  get(_, key) {
287
335
  if (key in wrappedActions) return wrappedActions[key];
288
336
  if (key in passThroughKeys) return Reflect.get(storeInstance, key);
289
337
  if (key === UNWRAP_PROXY) return storeInstance;
290
338
  if (key === UNWRAP_STORE_INFO) return storeInfo;
291
- if (storeAccessTrackers.size && storeAccessTrackers.forEach(cb => cb(storeInfo)), typeof key != "string") return Reflect.get(storeInstance, key);
292
- if (storeInfo.disableTracking || gettersState.isGetting && gettersState.curGetKeys.add(key), key in getters) {
339
+ if (storeAccessTrackers.size) storeAccessTrackers.forEach(cb => cb(storeInfo));
340
+ if (typeof key !== "string") return Reflect.get(storeInstance, key);
341
+ if (!storeInfo.disableTracking) {
342
+ if (gettersState.isGetting) gettersState.curGetKeys.add(key);
343
+ }
344
+ if (key in getters) {
293
345
  if (getCache.has(key)) return getCache.get(key);
294
346
  curGetKeys.clear();
295
347
  const isSubGetter = gettersState.isGetting;
296
- gettersState.isGetting = !0;
348
+ gettersState.isGetting = true;
297
349
  const res = getters[key].call(proxiedStore);
298
- isSubGetter || (gettersState.isGetting = !1);
299
- for (const gk of curGetKeys) depsToGetter.has(gk) || depsToGetter.set(gk, /* @__PURE__ */new Set()), depsToGetter.get(gk).add(key);
300
- return getCache.set(key, res), res;
350
+ if (!isSubGetter) gettersState.isGetting = false;
351
+ for (const gk of curGetKeys) {
352
+ if (!depsToGetter.has(gk)) depsToGetter.set(gk, /* @__PURE__ */new Set());
353
+ depsToGetter.get(gk).add(key);
354
+ }
355
+ getCache.set(key, res);
356
+ return res;
301
357
  }
302
358
  return Reflect.get(storeInstance, key);
303
359
  },
304
- // SET
305
360
  set(target, key, value, receiver) {
306
- const cur = Reflect.get(target, key),
307
- res = Reflect.set(target, key, value, receiver);
308
- return res && cur !== value && (typeof key == "string" && (clearGetterCache(key), shouldDebug2 && (setters.add({
309
- key,
310
- value
311
- }), getShouldDebug(storeInfo) && console.info("(debug) SET", res, key, value)), process.env.NODE_ENV === "development" && shouldDebug2 && console.info("SET...", {
312
- key,
313
- value
314
- })), isTriggering || (isTriggering = !0, waitForEventLoop(() => {
315
- storeInfo.triggerUpdate(), isTriggering = !1;
316
- }))), res;
361
+ const cur = Reflect.get(target, key);
362
+ const res = Reflect.set(target, key, value, receiver);
363
+ if (res && cur !== value) {
364
+ if (typeof key === "string") {
365
+ clearGetterCache(key);
366
+ if (shouldDebug2) {
367
+ setters.add({
368
+ key,
369
+ value
370
+ });
371
+ if (getShouldDebug(storeInfo)) console.info("(debug) SET", res, key, value);
372
+ }
373
+ if (process.env.NODE_ENV === "development" && shouldDebug2) console.info("SET...", {
374
+ key,
375
+ value
376
+ });
377
+ }
378
+ if (!isTriggering) {
379
+ isTriggering = true;
380
+ waitForEventLoop(() => {
381
+ storeInfo.triggerUpdate();
382
+ isTriggering = false;
383
+ });
384
+ }
385
+ }
386
+ return res;
317
387
  }
318
388
  });
319
389
  function clearGetterCache(setKey) {
320
390
  const parentGetters = depsToGetter.get(setKey);
321
- if (getCache.delete(setKey), !!parentGetters) for (const gk of parentGetters) getCache.delete(gk), depsToGetter.has(gk) && clearGetterCache(gk);
391
+ getCache.delete(setKey);
392
+ if (!parentGetters) return;
393
+ for (const gk of parentGetters) {
394
+ getCache.delete(gk);
395
+ if (depsToGetter.has(gk)) clearGetterCache(gk);
396
+ }
322
397
  }
323
398
  return proxiedStore;
324
399
  }
325
- const waitForEventLoop = process.env.NODE_ENV === "test" ? cb => cb() : queueMicrotask;
400
+ const waitForEventLoop = process.env.NODE_ENV === "test" || false ? cb => cb() : queueMicrotask;
326
401
  let counter = 0;
327
402
  const passThroughKeys = {
328
- subscribe: !0,
329
- _version: !0,
330
- _trackers: !0,
331
- $$typeof: !0,
332
- _listeners: !0,
333
- _enableTracking: !0
403
+ subscribe: true,
404
+ _version: true,
405
+ _trackers: true,
406
+ $$typeof: true,
407
+ _listeners: true,
408
+ _enableTracking: true
334
409
  };
335
410
  function getShouldDebug(storeInfo) {
336
411
  const info = {
@@ -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","_comparators","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","Store","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","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":[]}
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":[]}