@hanzogui/use-store 8.3.0 → 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 +18 -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
@@ -1,234 +0,0 @@
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 observe_exports = {};
37
- __export(observe_exports, {
38
- observe: () => observe,
39
- useObserve: () => useObserve
40
- });
41
- module.exports = __toCommonJS(observe_exports);
42
- var import_react = __toESM(require("react"), 1);
43
- var import_comparators = require("./comparators.native.js");
44
- var import_constants = require("./constants.native.js");
45
- var import_useStore = require("./useStore.native.js");
46
- var logUpdate = process.env.NODE_ENV === "development" ? function (fn, stores, last, next) {
47
- var getStoreLogName = function (store) {
48
- var _store_props;
49
- var _store_UNWRAP_PROXY;
50
- var str = (_store_UNWRAP_PROXY = store[import_constants.UNWRAP_PROXY]) !== null && _store_UNWRAP_PROXY !== void 0 ? _store_UNWRAP_PROXY : store;
51
- return `${str.constructor.name}${((_store_props = store.props) === null || _store_props === void 0 ? void 0 : _store_props.id) ? `:${store.props.id}` : ""}`;
52
- };
53
- var storeNames = stores.map(getStoreLogName).join(", ");
54
- var name = `\u{1F311} \u25B6\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;
55
- console.groupCollapsed(name, "color: tomato;");
56
- console.groupCollapsed("trace >");
57
- console.trace();
58
- console.groupEnd();
59
- console.info(" next", next);
60
- console.groupEnd();
61
- } : null;
62
- function observe(fn) {
63
- var prev = getObserverValueAndStoresAccessed(fn);
64
- var disposeValue = null;
65
- var subscribe = function () {
66
- var stores = [...prev.storeInfos];
67
- return subscribeToStores(stores, function () {
68
- disposeValue === null || disposeValue === void 0 ? void 0 : disposeValue();
69
- var next = getObserverValueAndStoresAccessed(fn);
70
- if (typeof next.value === "function") {
71
- disposeValue = next.value;
72
- if (process.env.NODE_ENV === "development") {
73
- logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
74
- }
75
- return;
76
- }
77
- if ((0, import_comparators.isEqualSubsetShallow)(prev.storeInfos, next.storeInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
78
- return;
79
- }
80
- if (process.env.NODE_ENV === "development") {
81
- logUpdate(fn, [...next.storeInfos], prev.value, next.value);
82
- }
83
- prev = next;
84
- dispose();
85
- dispose = subscribe();
86
- });
87
- };
88
- var dispose = subscribe();
89
- return {
90
- dispose: function () {
91
- dispose();
92
- disposeValue === null || disposeValue === void 0 ? void 0 : disposeValue();
93
- },
94
- getValue: function () {
95
- return prev.value;
96
- }
97
- };
98
- }
99
- function useObserve(fn) {
100
- var [state, setState] = import_react.default.useState(function () {
101
- return getObserverValueAndStoresAccessed(fn);
102
- });
103
- import_react.default.useEffect(function () {
104
- var dispose;
105
- var unsub = subscribeToStores([...state.storeInfos], function () {
106
- dispose === null || dispose === void 0 ? void 0 : dispose();
107
- var next = getObserverValueAndStoresAccessed(fn);
108
- var nextStoreInfos = [...next.storeInfos];
109
- var prevStoreInfos = [...state.storeInfos];
110
- if (typeof next.value === "function") {
111
- if (process.env.NODE_ENV === "development") {
112
- logUpdate(fn, nextStoreInfos, "(fn)", "(fn)");
113
- }
114
- dispose = next.value;
115
- return;
116
- }
117
- setState(function (prev) {
118
- if ((0, import_comparators.isEqualSubsetShallow)(prevStoreInfos, nextStoreInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
119
- return prev;
120
- }
121
- if (process.env.NODE_ENV === "development") {
122
- logUpdate(fn, nextStoreInfos, prev.value, next.value);
123
- }
124
- return next;
125
- });
126
- });
127
- return function () {
128
- unsub();
129
- dispose === null || dispose === void 0 ? void 0 : dispose();
130
- };
131
- }, [[...state.storeInfos].map(function (i) {
132
- return i.uid;
133
- }).join(",")]);
134
- return state.value;
135
- }
136
- function getObserverValueAndStoresAccessed(selector) {
137
- var storeInfos = /* @__PURE__ */new Set();
138
- var dispose = (0, import_useStore.trackStoresAccess)(function (storeInfo) {
139
- storeInfos.add(storeInfo);
140
- });
141
- var value = selector();
142
- dispose();
143
- return {
144
- value,
145
- storeInfos
146
- };
147
- }
148
- function subscribeToStores(storeInfos, onUpdate) {
149
- var disposes = [];
150
- var isUpdating = false;
151
- var onUpdateDebouncedWithoutTracking = function () {
152
- if (isUpdating) return;
153
- isUpdating = true;
154
- queueMicrotask(function () {
155
- try {
156
- var _iteratorNormalCompletion2 = true,
157
- _didIteratorError2 = false,
158
- _iteratorError2 = void 0;
159
- try {
160
- for (var _iterator2 = storeInfos[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
161
- var storeInfo2 = _step2.value;
162
- storeInfo2.disableTracking = true;
163
- }
164
- } catch (err) {
165
- _didIteratorError2 = true;
166
- _iteratorError2 = err;
167
- } finally {
168
- try {
169
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
170
- _iterator2.return();
171
- }
172
- } finally {
173
- if (_didIteratorError2) {
174
- throw _iteratorError2;
175
- }
176
- }
177
- }
178
- onUpdate();
179
- } finally {
180
- isUpdating = false;
181
- var _iteratorNormalCompletion1 = true,
182
- _didIteratorError1 = false,
183
- _iteratorError1 = void 0;
184
- try {
185
- for (var _iterator1 = storeInfos[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
186
- var storeInfo1 = _step1.value;
187
- storeInfo1.disableTracking = false;
188
- }
189
- } catch (err) {
190
- _didIteratorError1 = true;
191
- _iteratorError1 = err;
192
- } finally {
193
- try {
194
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
195
- _iterator1.return();
196
- }
197
- } finally {
198
- if (_didIteratorError1) {
199
- throw _iteratorError1;
200
- }
201
- }
202
- }
203
- }
204
- });
205
- };
206
- var _iteratorNormalCompletion = true,
207
- _didIteratorError = false,
208
- _iteratorError = void 0;
209
- try {
210
- for (var _iterator = storeInfos[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
211
- var storeInfo = _step.value;
212
- disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
213
- }
214
- } catch (err) {
215
- _didIteratorError = true;
216
- _iteratorError = err;
217
- } finally {
218
- try {
219
- if (!_iteratorNormalCompletion && _iterator.return != null) {
220
- _iterator.return();
221
- }
222
- } finally {
223
- if (_didIteratorError) {
224
- throw _iteratorError;
225
- }
226
- }
227
- }
228
- return function () {
229
- disposes.forEach(function (x) {
230
- return x();
231
- });
232
- };
233
- }
234
- //# sourceMappingURL=observe.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","observe_exports","__export","observe","useObserve","module","exports","import_react","__toESM","require","import_comparators","import_constants","import_useStore","logUpdate","process","env","NODE_ENV","fn","stores","last","next","getStoreLogName","store","_store_props","_store_UNWRAP_PROXY","str","UNWRAP_PROXY","constructor","name","props","id","storeNames","map","join","console","groupCollapsed","trace","groupEnd","info","prev","getObserverValueAndStoresAccessed","disposeValue","subscribe","storeInfos","subscribeToStores","isEqualSubsetShallow","dispose","getValue","state","setState","default","useState","useEffect","unsub","nextStoreInfos","prevStoreInfos","i","uid","selector","Set","trackStoresAccess","storeInfo","add","onUpdate","disposes","isUpdating","onUpdateDebouncedWithoutTracking"],"sources":["../../src/observe.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}