@hanzogui/use-store 8.3.1 → 8.3.2

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 (139) hide show
  1. package/dist/cjs/comparators.js +21 -0
  2. package/dist/cjs/comparators.js.map +1 -0
  3. package/dist/cjs/configureUseStore.js +9 -0
  4. package/dist/cjs/configureUseStore.js.map +1 -0
  5. package/dist/cjs/constants.js +9 -0
  6. package/dist/cjs/constants.js.map +1 -0
  7. package/dist/cjs/decorators.js +10 -0
  8. package/dist/cjs/decorators.js.map +1 -0
  9. package/dist/cjs/helpers.js +50 -0
  10. package/dist/cjs/helpers.js.map +1 -0
  11. package/dist/cjs/index.js +21 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/interfaces.js +3 -0
  14. package/dist/cjs/interfaces.js.map +1 -0
  15. package/dist/cjs/observe.js +141 -0
  16. package/dist/cjs/observe.js.map +1 -0
  17. package/dist/cjs/package.json +1 -0
  18. package/dist/cjs/useStore.js +574 -0
  19. package/dist/cjs/useStore.js.map +1 -0
  20. package/dist/cjs/useStoreDebug.js +41 -0
  21. package/dist/cjs/useStoreDebug.js.map +1 -0
  22. package/dist/esm/comparators.js +17 -0
  23. package/dist/esm/comparators.js.map +1 -0
  24. package/dist/esm/configureUseStore.js +5 -0
  25. package/dist/esm/configureUseStore.js.map +1 -0
  26. package/dist/esm/constants.js +6 -0
  27. package/dist/esm/constants.js.map +1 -0
  28. package/dist/esm/decorators.js +7 -0
  29. package/dist/esm/decorators.js.map +1 -0
  30. package/dist/esm/helpers.js +42 -0
  31. package/dist/esm/helpers.js.map +1 -0
  32. package/dist/esm/index.js +13 -14
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/interfaces.js +2 -0
  35. package/dist/esm/interfaces.js.map +1 -0
  36. package/dist/esm/observe.js +136 -0
  37. package/dist/esm/observe.js.map +1 -0
  38. package/dist/esm/useStore.js +556 -0
  39. package/dist/esm/useStore.js.map +1 -0
  40. package/dist/esm/useStoreDebug.js +34 -0
  41. package/dist/esm/useStoreDebug.js.map +1 -0
  42. package/package.json +23 -18
  43. package/src/configureUseStore.tsx +1 -1
  44. package/src/helpers.tsx +1 -1
  45. package/src/index.ts +7 -7
  46. package/src/interfaces.tsx +1 -1
  47. package/src/observe.tsx +4 -4
  48. package/src/useStore.tsx +6 -6
  49. package/src/useStoreDebug.tsx +1 -1
  50. package/types/comparators.d.ts +6 -0
  51. package/types/comparators.d.ts.map +1 -0
  52. package/types/configureUseStore.d.ts +4 -0
  53. package/types/configureUseStore.d.ts.map +1 -0
  54. package/types/constants.d.ts +6 -0
  55. package/types/constants.d.ts.map +1 -0
  56. package/types/decorators.d.ts +3 -0
  57. package/types/decorators.d.ts.map +1 -0
  58. package/types/helpers.d.ts +11 -0
  59. package/types/helpers.d.ts.map +1 -0
  60. package/types/index.d.ts +12 -0
  61. package/types/index.d.ts.map +1 -0
  62. package/types/interfaces.d.ts +43 -0
  63. package/types/interfaces.d.ts.map +1 -0
  64. package/types/observe.d.ts +6 -0
  65. package/types/observe.d.ts.map +1 -0
  66. package/types/useStore.d.ts +26 -0
  67. package/types/useStore.d.ts.map +1 -0
  68. package/types/useStoreDebug.d.ts +7 -0
  69. package/types/useStoreDebug.d.ts.map +1 -0
  70. package/dist/cjs/comparators.cjs +0 -41
  71. package/dist/cjs/comparators.native.js +0 -50
  72. package/dist/cjs/comparators.native.js.map +0 -1
  73. package/dist/cjs/configureUseStore.cjs +0 -32
  74. package/dist/cjs/configureUseStore.native.js +0 -35
  75. package/dist/cjs/configureUseStore.native.js.map +0 -1
  76. package/dist/cjs/constants.cjs +0 -33
  77. package/dist/cjs/constants.native.js +0 -36
  78. package/dist/cjs/constants.native.js.map +0 -1
  79. package/dist/cjs/decorators.cjs +0 -33
  80. package/dist/cjs/decorators.native.js +0 -36
  81. package/dist/cjs/decorators.native.js.map +0 -1
  82. package/dist/cjs/helpers.cjs +0 -62
  83. package/dist/cjs/helpers.native.js +0 -71
  84. package/dist/cjs/helpers.native.js.map +0 -1
  85. package/dist/cjs/index.cjs +0 -43
  86. package/dist/cjs/index.native.js +0 -65
  87. package/dist/cjs/index.native.js.map +0 -1
  88. package/dist/cjs/interfaces.cjs +0 -18
  89. package/dist/cjs/interfaces.native.js +0 -21
  90. package/dist/cjs/interfaces.native.js.map +0 -1
  91. package/dist/cjs/observe.cjs +0 -166
  92. package/dist/cjs/observe.native.js +0 -234
  93. package/dist/cjs/observe.native.js.map +0 -1
  94. package/dist/cjs/useStore.cjs +0 -467
  95. package/dist/cjs/useStore.native.js +0 -608
  96. package/dist/cjs/useStore.native.js.map +0 -1
  97. package/dist/cjs/useStoreDebug.cjs +0 -67
  98. package/dist/cjs/useStoreDebug.native.js +0 -71
  99. package/dist/cjs/useStoreDebug.native.js.map +0 -1
  100. package/dist/esm/comparators.mjs +0 -16
  101. package/dist/esm/comparators.mjs.map +0 -1
  102. package/dist/esm/comparators.native.js +0 -22
  103. package/dist/esm/comparators.native.js.map +0 -1
  104. package/dist/esm/configureUseStore.mjs +0 -6
  105. package/dist/esm/configureUseStore.mjs.map +0 -1
  106. package/dist/esm/configureUseStore.native.js +0 -6
  107. package/dist/esm/configureUseStore.native.js.map +0 -1
  108. package/dist/esm/constants.mjs +0 -7
  109. package/dist/esm/constants.mjs.map +0 -1
  110. package/dist/esm/constants.native.js +0 -7
  111. package/dist/esm/constants.native.js.map +0 -1
  112. package/dist/esm/decorators.mjs +0 -8
  113. package/dist/esm/decorators.mjs.map +0 -1
  114. package/dist/esm/decorators.native.js +0 -8
  115. package/dist/esm/decorators.native.js.map +0 -1
  116. package/dist/esm/helpers.mjs +0 -31
  117. package/dist/esm/helpers.mjs.map +0 -1
  118. package/dist/esm/helpers.native.js +0 -37
  119. package/dist/esm/helpers.native.js.map +0 -1
  120. package/dist/esm/index.mjs +0 -15
  121. package/dist/esm/index.mjs.map +0 -1
  122. package/dist/esm/index.native.js +0 -34
  123. package/dist/esm/index.native.js.map +0 -1
  124. package/dist/esm/interfaces.mjs +0 -2
  125. package/dist/esm/interfaces.mjs.map +0 -1
  126. package/dist/esm/interfaces.native.js +0 -2
  127. package/dist/esm/interfaces.native.js.map +0 -1
  128. package/dist/esm/observe.mjs +0 -129
  129. package/dist/esm/observe.mjs.map +0 -1
  130. package/dist/esm/observe.native.js +0 -194
  131. package/dist/esm/observe.native.js.map +0 -1
  132. package/dist/esm/useStore.mjs +0 -415
  133. package/dist/esm/useStore.mjs.map +0 -1
  134. package/dist/esm/useStore.native.js +0 -553
  135. package/dist/esm/useStore.native.js.map +0 -1
  136. package/dist/esm/useStoreDebug.mjs +0 -27
  137. package/dist/esm/useStoreDebug.mjs.map +0 -1
  138. package/dist/esm/useStoreDebug.native.js +0 -28
  139. package/dist/esm/useStoreDebug.native.js.map +0 -1
@@ -0,0 +1,574 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setIsInReaction = exports.allStores = void 0;
4
+ exports.useStore = useStore;
5
+ exports.useStoreDebug = useStoreDebug;
6
+ exports.createStore = createStore;
7
+ exports.useGlobalStore = useGlobalStore;
8
+ exports.useGlobalStoreSelector = useGlobalStoreSelector;
9
+ exports.createUseStore = createUseStore;
10
+ exports.createUseStoreSelector = createUseStoreSelector;
11
+ exports.useStoreSelector = useStoreSelector;
12
+ exports.trackStoresAccess = trackStoresAccess;
13
+ exports.getStore = getStore;
14
+ exports.getOrCreateStore = getOrCreateStore;
15
+ exports.getStoreInfo = getStoreInfo;
16
+ exports.onCreateStore = onCreateStore;
17
+ const tslib_1 = require("tslib");
18
+ const react_1 = tslib_1.__importDefault(require("react"));
19
+ const comparators_tsx_1 = require("./comparators.js");
20
+ const configureUseStore_tsx_1 = require("./configureUseStore.js");
21
+ const constants_tsx_1 = require("./constants.js");
22
+ const helpers_tsx_1 = require("./helpers.js");
23
+ const useStoreDebug_tsx_1 = require("./useStoreDebug.js");
24
+ const idFn = (_) => _;
25
+ // no singleton, just react
26
+ function useStore(StoreKlass, props, options = constants_tsx_1.defaultOptions) {
27
+ const info = getOrCreateStoreInfo(StoreKlass, props, options);
28
+ return useStoreFromInfo(info, options.selector, options);
29
+ }
30
+ function useStoreDebug(StoreKlass, props) {
31
+ return useStore(StoreKlass, props, { debug: true });
32
+ }
33
+ // singleton
34
+ function createStore(StoreKlass, props, options) {
35
+ return getOrCreateStoreInfo(StoreKlass, props, options)?.store;
36
+ }
37
+ // use singleton with react
38
+ // TODO selector support with types...
39
+ function useGlobalStore(instance, debug) {
40
+ const store = instance[constants_tsx_1.UNWRAP_PROXY];
41
+ const uid = (0, helpers_tsx_1.getStoreUid)(store.constructor, store.props);
42
+ const info = helpers_tsx_1.cache.get(uid);
43
+ if (!info) {
44
+ throw new Error(`This store not created using createStore()`);
45
+ }
46
+ return useStoreFromInfo(info, undefined, { debug });
47
+ }
48
+ function useGlobalStoreSelector(instance, selector, debug) {
49
+ const store = instance[constants_tsx_1.UNWRAP_PROXY];
50
+ const uid = (0, helpers_tsx_1.getStoreUid)(store.constructor, store.props);
51
+ const info = helpers_tsx_1.cache.get(uid);
52
+ if (!info) {
53
+ throw new Error(`This store not created using createStore()`);
54
+ }
55
+ return useStoreFromInfo(info, selector, { debug });
56
+ }
57
+ // for creating a usable store hook
58
+ function createUseStore(StoreKlass) {
59
+ return (props, options) => useStore(StoreKlass, props, options);
60
+ }
61
+ // for creating a usable selector hook
62
+ function createUseStoreSelector(StoreKlass, selector) {
63
+ return (props) => {
64
+ return useStore(StoreKlass, props, { selector });
65
+ };
66
+ }
67
+ // selector hook
68
+ function useStoreSelector(StoreKlass, selector, props) {
69
+ return useStore(StoreKlass, props, { selector });
70
+ }
71
+ const storeAccessTrackers = new Set();
72
+ function trackStoresAccess(cb) {
73
+ storeAccessTrackers.add(cb);
74
+ return () => {
75
+ storeAccessTrackers.delete(cb);
76
+ };
77
+ }
78
+ function getStore(StoreKlass, props) {
79
+ return getStoreInfo(StoreKlass, props)?.store;
80
+ }
81
+ function getOrCreateStore(StoreKlass, props) {
82
+ return getOrCreateStoreInfo(StoreKlass, props, {
83
+ refuseCreation: false,
84
+ })?.store;
85
+ }
86
+ // just like getOrCreateStoreInfo but refuses to create
87
+ function getStoreInfo(StoreKlass, props) {
88
+ return getOrCreateStoreInfo(StoreKlass, props, {
89
+ refuseCreation: true,
90
+ });
91
+ }
92
+ const onCreateListeners = new Set();
93
+ function onCreateStore(cb) {
94
+ onCreateListeners.add(cb);
95
+ return () => {
96
+ onCreateListeners.delete(cb);
97
+ };
98
+ }
99
+ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
100
+ if (!StoreKlass) {
101
+ return null;
102
+ }
103
+ const uid = (0, helpers_tsx_1.getStoreUid)(StoreKlass, propsKeyCalculated ?? props);
104
+ if (!options?.avoidCache && helpers_tsx_1.cache.has(uid)) {
105
+ return helpers_tsx_1.cache.get(uid);
106
+ }
107
+ if (options?.refuseCreation) {
108
+ throw new Error(`No store exists (${StoreKlass.name}) with props: ${props}`);
109
+ }
110
+ // init
111
+ const storeInstance = new StoreKlass(props);
112
+ // add props
113
+ storeInstance.props = props;
114
+ const getters = {};
115
+ const actions = {};
116
+ const stateKeys = new Set();
117
+ const descriptors = (0, helpers_tsx_1.getStoreDescriptors)(storeInstance);
118
+ for (const key in descriptors) {
119
+ const descriptor = descriptors[key];
120
+ if (typeof descriptor.value === 'function') {
121
+ // actions
122
+ actions[key] = descriptor.value;
123
+ }
124
+ else if (typeof descriptor.get === 'function') {
125
+ getters[key] = descriptor.get;
126
+ }
127
+ else {
128
+ if (key !== 'props' && key[0] !== '_') {
129
+ stateKeys.add(key);
130
+ }
131
+ }
132
+ }
133
+ const keyComparators = storeInstance['_comparators'];
134
+ const listeners = new Set();
135
+ const storeInfo = {
136
+ uid,
137
+ keyComparators,
138
+ storeInstance,
139
+ getters,
140
+ stateKeys,
141
+ props,
142
+ actions,
143
+ debug: options?.debug,
144
+ disableTracking: false,
145
+ gettersState: {
146
+ getCache: new Map(),
147
+ depsToGetter: new Map(),
148
+ curGetKeys: new Set(),
149
+ isGetting: false,
150
+ },
151
+ listeners,
152
+ trackers: new Set(),
153
+ version: 0,
154
+ subscribe: (onChanged) => {
155
+ listeners.add(onChanged);
156
+ return () => {
157
+ listeners.delete(onChanged);
158
+ };
159
+ },
160
+ triggerUpdate: () => {
161
+ storeInfo.version = (storeInfo.version + 1) % Number.MAX_SAFE_INTEGER;
162
+ for (const cb of listeners) {
163
+ cb();
164
+ }
165
+ },
166
+ };
167
+ const store = createProxiedStore(
168
+ // we assign store right after and proxiedStore never accesses it until later on
169
+ storeInfo);
170
+ // uses more memory when on
171
+ if (process.env.NODE_ENV === 'development') {
172
+ exports.allStores[StoreKlass.name + uid] = store;
173
+ }
174
+ // if has a mount function call it
175
+ store.mount?.();
176
+ // @ts-ignore
177
+ storeInfo.store = store;
178
+ const result = storeInfo;
179
+ // still set even when avoidCache is true (hmr)
180
+ helpers_tsx_1.cache.set(uid, result);
181
+ onCreateListeners.forEach((cb) => cb(result));
182
+ return result;
183
+ }
184
+ exports.allStores = {};
185
+ if (process.env.NODE_ENV === 'development') {
186
+ globalThis['Store'] || (globalThis['Store'] = exports.allStores);
187
+ }
188
+ const emptyObj = {};
189
+ const selectKeys = (obj, keys) => {
190
+ if (!keys.length) {
191
+ return emptyObj;
192
+ }
193
+ const res = {};
194
+ for (const key of keys) {
195
+ res[key] = obj[key];
196
+ }
197
+ return res;
198
+ };
199
+ let isInReaction = false;
200
+ const setIsInReaction = (val) => {
201
+ isInReaction = val;
202
+ };
203
+ exports.setIsInReaction = setIsInReaction;
204
+ function useStoreFromInfo(info, userSelector, options) {
205
+ const store = info?.store;
206
+ const internal = react_1.default.useRef(undefined);
207
+ const component = (0, useStoreDebug_tsx_1.useCurrentComponent)();
208
+ if (!internal.current) {
209
+ internal.current = {
210
+ component,
211
+ tracked: new Set(),
212
+ last: null,
213
+ lastKeys: null,
214
+ };
215
+ }
216
+ const curInternal = internal.current;
217
+ const shouldPrintDebug = options?.debug;
218
+ const getSnapshot = react_1.default.useCallback(() => {
219
+ if (!info || !store)
220
+ return;
221
+ const curInternal = internal.current;
222
+ const isTracking = curInternal.tracked.size;
223
+ const keys = [...(!isTracking ? info.stateKeys : curInternal.tracked)];
224
+ const nextKeys = `${info.version}${keys.join('')}${userSelector || ''}`;
225
+ const lastKeys = curInternal.lastKeys;
226
+ // avoid updates
227
+ if (nextKeys === curInternal.lastKeys) {
228
+ return curInternal.last;
229
+ }
230
+ curInternal.lastKeys = nextKeys;
231
+ let snap;
232
+ // dont track during selector
233
+ info.disableTracking = true;
234
+ const last = curInternal.last;
235
+ if (userSelector) {
236
+ snap = userSelector(store);
237
+ }
238
+ else {
239
+ snap = selectKeys(store, keys);
240
+ }
241
+ info.disableTracking = false;
242
+ // this wasn't updating in AnimationsStore
243
+ const isUnchanged = (!userSelector && !isTracking && last) ||
244
+ (typeof last !== 'undefined' &&
245
+ (0, comparators_tsx_1.isEqualSubsetShallow)(last, snap, {
246
+ keyComparators: info.keyComparators,
247
+ }));
248
+ if (shouldPrintDebug) {
249
+ console.info('🌑 getSnapshot', {
250
+ storeState: selectKeys(store, Object.keys(store)),
251
+ userSelector,
252
+ info,
253
+ isUnchanged,
254
+ component,
255
+ keys,
256
+ last,
257
+ snap,
258
+ curInternal,
259
+ nextKeys,
260
+ lastKeys,
261
+ });
262
+ }
263
+ if (isUnchanged) {
264
+ return last;
265
+ }
266
+ curInternal.last = snap;
267
+ return snap;
268
+ }, [store]);
269
+ // sync by default
270
+ const state = react_1.default.useSyncExternalStore(info?.subscribe || idFn, getSnapshot, getSnapshot);
271
+ if (!info || !store || !state) {
272
+ return state;
273
+ }
274
+ if (userSelector) {
275
+ return state;
276
+ }
277
+ return new Proxy(store, {
278
+ get(target, key) {
279
+ // be sure to touch the value for tracking purposes
280
+ const curVal = Reflect.get(target, key);
281
+ // while in reactions, don't proxy to old state as they aren't inside of react render
282
+ if (isInReaction) {
283
+ return curVal;
284
+ }
285
+ const keyString = key; // fine for our uses
286
+ if (info.stateKeys.has(keyString) || keyString in info.getters) {
287
+ if (shouldPrintDebug) {
288
+ console.info('👀 tracking', keyString);
289
+ }
290
+ curInternal.tracked.add(keyString);
291
+ }
292
+ if (Reflect.has(state, key)) {
293
+ return Reflect.get(state, key);
294
+ }
295
+ return curVal;
296
+ },
297
+ });
298
+ }
299
+ let setters = new Set();
300
+ const logStack = new Set();
301
+ function createProxiedStore(storeInfo) {
302
+ const { actions, storeInstance, getters, gettersState } = storeInfo;
303
+ const { getCache, curGetKeys, depsToGetter } = gettersState;
304
+ const constr = storeInstance.constructor;
305
+ const shouldDebug = storeInfo.debug ?? useStoreDebug_tsx_1.DebugStores.has(constr);
306
+ let didSet = false;
307
+ const wrappedActions = {};
308
+ // pre-setup actions
309
+ for (const key in actions) {
310
+ if (key === 'subscribe') {
311
+ continue;
312
+ }
313
+ // wrap action and call didSet after
314
+ const actionFn = actions[key];
315
+ // yes its odd but bug in router needs to be figured out to fix
316
+ // and all it does is deopt slightly and silence get
317
+ const isGetFn = key.startsWith('get');
318
+ // wrap actions for tracking
319
+ wrappedActions[key] = function useStoreAction(...args) {
320
+ let res;
321
+ if (isGetFn || gettersState.isGetting) {
322
+ return Reflect.apply(actionFn, proxiedStore, args);
323
+ }
324
+ if (process.env.NODE_ENV === 'development' && shouldDebug) {
325
+ console.info('(debug) startAction', key);
326
+ }
327
+ res = Reflect.apply(actionFn, proxiedStore, args);
328
+ if (res instanceof Promise) {
329
+ return res.then(finishAction);
330
+ }
331
+ finishAction();
332
+ return res;
333
+ };
334
+ // dev mode do nice logging
335
+ if (process.env.NODE_ENV === 'development') {
336
+ if (!key.startsWith('get') && !key.startsWith('_') && key !== 'subscribe') {
337
+ const ogAction = wrappedActions[key];
338
+ wrappedActions[key] = new Proxy(ogAction, {
339
+ apply(target, thisArg, args) {
340
+ const isDebugging = shouldDebug || storeInfo.debug;
341
+ const shouldLog = process.env.LOG_LEVEL !== '0' &&
342
+ (isDebugging || configureUseStore_tsx_1.configureOpts.logLevel !== 'error');
343
+ if (!shouldLog) {
344
+ return Reflect.apply(target, thisArg, args);
345
+ }
346
+ setters = new Set();
347
+ const curSetters = setters;
348
+ const isTopLevelLogger = logStack.size == 0;
349
+ const logs = new Set();
350
+ logStack.add(logs);
351
+ let res;
352
+ const id = counter++;
353
+ try {
354
+ // 🏃‍♀️ run action here now
355
+ res = Reflect.apply(target, thisArg, args);
356
+ }
357
+ catch (err) {
358
+ console.error('Error', err);
359
+ throw err;
360
+ }
361
+ finally {
362
+ logStack.add('end');
363
+ const name = constr.name;
364
+ const color = strColor(name);
365
+ const simpleArgs = args.map(helpers_tsx_1.simpleStr);
366
+ logs.add([
367
+ `%c 🌑 ${id} ${name.padStart(isTopLevelLogger ? 8 : 4)}%c.${key}(${simpleArgs.join(', ')})${isTopLevelLogger && logStack.size > 1 ? ` (+${logStack.size - 1})` : ''}`,
368
+ `color: ${color};`,
369
+ 'color: black;',
370
+ ]);
371
+ if (curSetters.size) {
372
+ curSetters.forEach(({ key, value }) => {
373
+ if (typeof value === 'string' ||
374
+ typeof value === 'number' ||
375
+ typeof value === 'boolean') {
376
+ logs.add([` SET ${key} ${value}`, value]);
377
+ }
378
+ else {
379
+ logs.add([` SET ${key}`, value]);
380
+ }
381
+ });
382
+ }
383
+ if (isTopLevelLogger) {
384
+ let error = null;
385
+ try {
386
+ for (const item of logStack) {
387
+ if (item === 'end') {
388
+ console.groupEnd();
389
+ continue;
390
+ }
391
+ const [head, ...rest] = item;
392
+ if (head) {
393
+ console.groupCollapsed(...head);
394
+ console.groupCollapsed('...');
395
+ console.info('args', args);
396
+ console.info('response', res);
397
+ console.groupCollapsed('trace');
398
+ console.trace();
399
+ console.groupEnd();
400
+ console.groupEnd();
401
+ for (const [name, ...log] of rest) {
402
+ console.groupCollapsed(name);
403
+ console.info(...log);
404
+ console.groupEnd();
405
+ }
406
+ }
407
+ else {
408
+ console.info('Weird log', head, ...rest);
409
+ }
410
+ }
411
+ }
412
+ catch (err) {
413
+ error = err;
414
+ }
415
+ for (const _ of logStack) {
416
+ console.groupEnd();
417
+ }
418
+ if (error) {
419
+ console.error(`error loggin`, error);
420
+ }
421
+ logStack.clear();
422
+ }
423
+ return res;
424
+ }
425
+ },
426
+ });
427
+ }
428
+ function hashCode(str) {
429
+ let hash = 0;
430
+ for (let i = 0; i < str.length; i++) {
431
+ hash = str.charCodeAt(i) + ((hash << 5) - hash);
432
+ }
433
+ return hash;
434
+ }
435
+ function strColor(str) {
436
+ return `hsl(${hashCode(str) % 360}, 90%, 40%)`;
437
+ }
438
+ }
439
+ }
440
+ const finishAction = (val) => {
441
+ if (process.env.NODE_ENV === 'development' && shouldDebug) {
442
+ console.info('(debug) finishAction', { didSet });
443
+ }
444
+ if (didSet) {
445
+ storeInfo.triggerUpdate();
446
+ didSet = false;
447
+ }
448
+ return val;
449
+ };
450
+ let isTriggering = false;
451
+ const proxiedStore = new Proxy(storeInstance, {
452
+ // GET
453
+ get(_, key) {
454
+ // setup action one time
455
+ if (key in wrappedActions) {
456
+ return wrappedActions[key];
457
+ }
458
+ if (key in passThroughKeys) {
459
+ return Reflect.get(storeInstance, key);
460
+ }
461
+ if (key === constants_tsx_1.UNWRAP_PROXY) {
462
+ return storeInstance;
463
+ }
464
+ if (key === helpers_tsx_1.UNWRAP_STORE_INFO) {
465
+ return storeInfo;
466
+ }
467
+ if (storeAccessTrackers.size) {
468
+ storeAccessTrackers.forEach((cb) => cb(storeInfo));
469
+ }
470
+ if (typeof key !== 'string') {
471
+ return Reflect.get(storeInstance, key);
472
+ }
473
+ // non-actions...
474
+ if (!storeInfo.disableTracking) {
475
+ if (gettersState.isGetting) {
476
+ gettersState.curGetKeys.add(key);
477
+ }
478
+ else {
479
+ // storeInstance[TRACK](key, shouldDebug)
480
+ }
481
+ }
482
+ if (key in getters) {
483
+ if (getCache.has(key)) {
484
+ return getCache.get(key);
485
+ }
486
+ // track get deps
487
+ curGetKeys.clear();
488
+ const isSubGetter = gettersState.isGetting;
489
+ gettersState.isGetting = true;
490
+ const res = getters[key].call(proxiedStore);
491
+ if (!isSubGetter) {
492
+ gettersState.isGetting = false;
493
+ }
494
+ // store inverse lookup
495
+ for (const gk of curGetKeys) {
496
+ if (!depsToGetter.has(gk)) {
497
+ depsToGetter.set(gk, new Set());
498
+ }
499
+ const cur = depsToGetter.get(gk);
500
+ cur.add(key);
501
+ }
502
+ // TODO i added this !isSubGetter, seems logical but haven't validated
503
+ // has diff performance tradeoffs, not sure whats desirable
504
+ // if (!isSubGetter) {
505
+ getCache.set(key, res);
506
+ // }
507
+ return res;
508
+ }
509
+ return Reflect.get(storeInstance, key);
510
+ },
511
+ // SET
512
+ set(target, key, value, receiver) {
513
+ const cur = Reflect.get(target, key);
514
+ const res = Reflect.set(target, key, value, receiver);
515
+ // only update if changed, simple compare
516
+ if (res && cur !== value) {
517
+ // clear getters cache that rely on this
518
+ if (typeof key === 'string') {
519
+ clearGetterCache(key);
520
+ if (shouldDebug) {
521
+ setters.add({ key, value });
522
+ if (getShouldDebug(storeInfo)) {
523
+ console.info('(debug) SET', res, key, value);
524
+ }
525
+ }
526
+ if (process.env.NODE_ENV === 'development' && shouldDebug) {
527
+ console.info('SET...', { key, value });
528
+ }
529
+ }
530
+ if (!isTriggering) {
531
+ // trigger only once per event loop
532
+ isTriggering = true;
533
+ waitForEventLoop(() => {
534
+ storeInfo.triggerUpdate();
535
+ isTriggering = false;
536
+ });
537
+ }
538
+ }
539
+ return res;
540
+ },
541
+ });
542
+ function clearGetterCache(setKey) {
543
+ const parentGetters = depsToGetter.get(setKey);
544
+ getCache.delete(setKey);
545
+ if (!parentGetters) {
546
+ return;
547
+ }
548
+ for (const gk of parentGetters) {
549
+ getCache.delete(gk);
550
+ if (depsToGetter.has(gk)) {
551
+ clearGetterCache(gk);
552
+ }
553
+ }
554
+ }
555
+ return proxiedStore;
556
+ }
557
+ const waitForEventLoop = process.env.NODE_ENV === 'test' || "web" === 'native'
558
+ ? (cb) => cb()
559
+ : queueMicrotask;
560
+ let counter = 0;
561
+ const passThroughKeys = {
562
+ subscribe: true,
563
+ _version: true,
564
+ _trackers: true,
565
+ $$typeof: true,
566
+ _listeners: true,
567
+ _enableTracking: true,
568
+ };
569
+ function getShouldDebug(storeInfo) {
570
+ const info = { storeInstance: storeInfo.store };
571
+ const trackers = storeInfo.trackers;
572
+ return [...trackers].some((tracker) => tracker.component && (0, useStoreDebug_tsx_1.shouldDebug)(tracker.component, info));
573
+ }
574
+ //# sourceMappingURL=useStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStore.js","sourceRoot":"","sources":["../../src/useStore.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DebugStores = exports.DebugComponents = exports.shouldDebug = exports.useCurrentComponent = void 0;
4
+ exports.useDebugStoreComponent = useDebugStoreComponent;
5
+ const tslib_1 = require("tslib");
6
+ const react_1 = tslib_1.__importDefault(require("react"));
7
+ // const { ReactCurrentOwner } = (React as any)
8
+ // .__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
9
+ const useCurrentComponent = () => {
10
+ return {};
11
+ // return ReactCurrentOwner &&
12
+ // ReactCurrentOwner.current &&
13
+ // ReactCurrentOwner.current.elementType
14
+ // ? ReactCurrentOwner.current.elementType
15
+ // : {}
16
+ };
17
+ exports.useCurrentComponent = useCurrentComponent;
18
+ function useDebugStoreComponent(StoreCons) {
19
+ const cmp = (0, exports.useCurrentComponent)();
20
+ // add in outer loop to pickup immediately
21
+ exports.DebugStores.add(StoreCons);
22
+ if (!exports.DebugComponents.has(cmp)) {
23
+ exports.DebugComponents.set(cmp, new Set());
24
+ }
25
+ const stores = exports.DebugComponents.get(cmp);
26
+ stores.add(StoreCons);
27
+ react_1.default.useLayoutEffect(() => {
28
+ return () => {
29
+ exports.DebugStores.delete(StoreCons);
30
+ stores.delete(StoreCons);
31
+ };
32
+ }, []);
33
+ }
34
+ const shouldDebug = (component, info) => {
35
+ const StoreCons = info.storeInstance?.constructor;
36
+ return exports.DebugComponents.get(component)?.has(StoreCons);
37
+ };
38
+ exports.shouldDebug = shouldDebug;
39
+ exports.DebugComponents = new Map();
40
+ exports.DebugStores = new Set();
41
+ //# sourceMappingURL=useStoreDebug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStoreDebug.js","sourceRoot":"","sources":["../../src/useStoreDebug.tsx"],"names":[],"mappings":";;;;;AAAA,0DAAyB;AAIzB,+CAA+C;AAC/C,wDAAwD;AACjD,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO,EAAE,CAAA;IACT,8BAA8B;IAC9B,iCAAiC;IACjC,0CAA0C;IAC1C,4CAA4C;IAC5C,SAAS;AACX,CAAC,CAAA;AAPY,QAAA,mBAAmB,GAAnB,mBAAmB,CAO/B;AAED,gCAAuC,SAAc;IACnD,MAAM,GAAG,GAAG,IAAA,QAAA,mBAAmB,GAAE,CAAA;IAEjC,0CAA0C;IAC1C,QAAA,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC1B,IAAI,CAAC,QAAA,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAA,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,QAAA,eAAe,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAErB,eAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,OAAO,GAAG,EAAE;YACV,QAAA,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC1B,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC;AAEM,MAAM,WAAW,GAAG,CAAC,SAAc,EAAE,IAAsC,EAAE,EAAE;IACpF,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAA;IACjD,OAAO,QAAA,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;AACvD,CAAC,CAAA;AAHY,QAAA,WAAW,GAAX,WAAW,CAGvB;AAEY,QAAA,eAAe,GAAG,IAAI,GAAG,EAAiB,CAAA;AAC1C,QAAA,WAAW,GAAG,IAAI,GAAG,EAAO,CAAA"}
@@ -0,0 +1,17 @@
1
+ export const isEqualSubsetShallow = (a, b, opts) => {
2
+ if (b == null || a == null)
3
+ return a === b;
4
+ if (typeof a !== typeof b)
5
+ return false;
6
+ if (typeof b === 'object') {
7
+ for (const key in b) {
8
+ const compare = opts?.keyComparators?.[key];
9
+ if (compare ? !compare(a[key], b[key]) : b[key] !== a[key]) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
15
+ return a === b;
16
+ };
17
+ //# sourceMappingURL=comparators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparators.js","sourceRoot":"","sources":["../../src/comparators.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,CAAM,EACN,CAAM,EACN,IAA0E,EAC1E,EAAE;IACF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IACvC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,IAAI,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAA;YAC3C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC,CAAA"}