@tamagui/use-store 2.7.7 → 3.0.0-beta.1091.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.
Files changed (93) hide show
  1. package/dist/cjs/Store.cjs +29 -0
  2. package/dist/cjs/Store.native.cjs +49 -0
  3. package/dist/cjs/Store.native.js +51 -0
  4. package/dist/cjs/Store.native.js.map +1 -0
  5. package/dist/cjs/comparators.cjs +26 -30
  6. package/dist/cjs/comparators.native.cjs +40 -0
  7. package/dist/cjs/comparators.native.js +28 -36
  8. package/dist/cjs/comparators.native.js.map +1 -1
  9. package/dist/cjs/configureUseStore.cjs +16 -18
  10. package/dist/cjs/configureUseStore.native.cjs +32 -0
  11. package/dist/cjs/configureUseStore.native.js +16 -17
  12. package/dist/cjs/configureUseStore.native.js.map +1 -1
  13. package/dist/cjs/constants.cjs +18 -20
  14. package/dist/cjs/constants.native.cjs +33 -0
  15. package/dist/cjs/constants.native.js +18 -19
  16. package/dist/cjs/constants.native.js.map +1 -1
  17. package/dist/cjs/decorators.cjs +18 -22
  18. package/dist/cjs/decorators.native.cjs +31 -0
  19. package/dist/cjs/decorators.native.js +18 -21
  20. package/dist/cjs/decorators.native.js.map +1 -1
  21. package/dist/cjs/helpers.cjs +38 -40
  22. package/dist/cjs/helpers.native.cjs +63 -0
  23. package/dist/cjs/helpers.native.js +39 -45
  24. package/dist/cjs/helpers.native.js.map +1 -1
  25. package/dist/cjs/index.cjs +16 -23
  26. package/dist/cjs/index.native.cjs +38 -0
  27. package/dist/cjs/index.native.js +16 -41
  28. package/dist/cjs/index.native.js.map +1 -1
  29. package/dist/cjs/interfaces.cjs +9 -11
  30. package/dist/cjs/interfaces.native.cjs +18 -0
  31. package/dist/cjs/interfaces.native.js +9 -10
  32. package/dist/cjs/interfaces.native.js.map +1 -1
  33. package/dist/cjs/observe.cjs +131 -138
  34. package/dist/cjs/observe.native.cjs +220 -0
  35. package/dist/cjs/observe.native.js +191 -203
  36. package/dist/cjs/observe.native.js.map +1 -1
  37. package/dist/cjs/useStore.cjs +365 -403
  38. package/dist/cjs/useStore.native.cjs +552 -0
  39. package/dist/cjs/useStore.native.js +484 -538
  40. package/dist/cjs/useStore.native.js.map +1 -1
  41. package/dist/cjs/useStoreDebug.cjs +38 -45
  42. package/dist/cjs/useStoreDebug.native.cjs +63 -0
  43. package/dist/cjs/useStoreDebug.native.js +42 -48
  44. package/dist/cjs/useStoreDebug.native.js.map +1 -1
  45. package/dist/esm/Store.mjs +9 -0
  46. package/dist/esm/Store.mjs.map +1 -0
  47. package/dist/esm/Store.native.js +27 -0
  48. package/dist/esm/Store.native.js.map +1 -0
  49. package/dist/esm/comparators.mjs +13 -12
  50. package/dist/esm/comparators.mjs.map +1 -1
  51. package/dist/esm/comparators.native.js +15 -19
  52. package/dist/esm/comparators.native.js.map +1 -1
  53. package/dist/esm/configureUseStore.mjs +2 -1
  54. package/dist/esm/configureUseStore.mjs.map +1 -1
  55. package/dist/esm/configureUseStore.native.js +2 -1
  56. package/dist/esm/configureUseStore.native.js.map +1 -1
  57. package/dist/esm/constants.mjs +4 -3
  58. package/dist/esm/constants.mjs.map +1 -1
  59. package/dist/esm/constants.native.js +4 -3
  60. package/dist/esm/constants.native.js.map +1 -1
  61. package/dist/esm/decorators.mjs +5 -4
  62. package/dist/esm/decorators.mjs.map +1 -1
  63. package/dist/esm/decorators.native.js +5 -4
  64. package/dist/esm/decorators.native.js.map +1 -1
  65. package/dist/esm/helpers.mjs +20 -18
  66. package/dist/esm/helpers.mjs.map +1 -1
  67. package/dist/esm/helpers.native.js +20 -23
  68. package/dist/esm/helpers.native.js.map +1 -1
  69. package/dist/esm/index.js +13 -13
  70. package/dist/esm/index.mjs +13 -13
  71. package/dist/esm/index.native.js +12 -31
  72. package/dist/esm/interfaces.mjs +0 -2
  73. package/dist/esm/interfaces.native.js +0 -2
  74. package/dist/esm/observe.mjs +115 -113
  75. package/dist/esm/observe.mjs.map +1 -1
  76. package/dist/esm/observe.native.js +175 -179
  77. package/dist/esm/observe.native.js.map +1 -1
  78. package/dist/esm/useStore.mjs +336 -363
  79. package/dist/esm/useStore.mjs.map +1 -1
  80. package/dist/esm/useStore.native.js +455 -499
  81. package/dist/esm/useStore.native.js.map +1 -1
  82. package/dist/esm/useStoreDebug.mjs +20 -18
  83. package/dist/esm/useStoreDebug.mjs.map +1 -1
  84. package/dist/esm/useStoreDebug.native.js +23 -21
  85. package/dist/esm/useStoreDebug.native.js.map +1 -1
  86. package/package.json +6 -5
  87. package/src/Store.ts +7 -0
  88. package/src/index.ts +1 -5
  89. package/dist/esm/index.js.map +0 -1
  90. package/dist/esm/index.mjs.map +0 -1
  91. package/dist/esm/index.native.js.map +0 -1
  92. package/dist/esm/interfaces.mjs.map +0 -1
  93. package/dist/esm/interfaces.native.js.map +0 -1
@@ -7,228 +7,216 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
14
  };
15
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;
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
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
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
32
27
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
29
  var observe_exports = {};
37
30
  __export(observe_exports, {
38
- observe: () => observe,
39
- useObserve: () => useObserve
31
+ observe: () => observe,
32
+ useObserve: () => useObserve
40
33
  });
41
34
  module.exports = __toCommonJS(observe_exports);
42
35
  var import_react = __toESM(require("react"), 1);
43
36
  var import_comparators = require("./comparators.native.js");
44
37
  var import_constants = require("./constants.native.js");
45
38
  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();
39
+ var logUpdate = process.env.NODE_ENV === "development" ? function(fn, stores, last, next) {
40
+ var getStoreLogName = function(store) {
41
+ var _store_props;
42
+ var _store_UNWRAP_PROXY;
43
+ var str = (_store_UNWRAP_PROXY = store[import_constants.UNWRAP_PROXY]) !== null && _store_UNWRAP_PROXY !== void 0 ? _store_UNWRAP_PROXY : store;
44
+ return `${str.constructor.name}${((_store_props = store.props) === null || _store_props === void 0 ? void 0 : _store_props.id) ? `:${store.props.id}` : ""}`;
45
+ };
46
+ var storeNames = stores.map(getStoreLogName).join(", ");
47
+ var name = `\u{1F311} \u25B6\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;
48
+ console.groupCollapsed(name, "color: tomato;");
49
+ console.groupCollapsed("trace >");
50
+ console.trace();
51
+ console.groupEnd();
52
+ console.info(" next", next);
53
+ console.groupEnd();
61
54
  } : null;
62
55
  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
- };
56
+ var prev = getObserverValueAndStoresAccessed(fn);
57
+ var disposeValue = null;
58
+ var subscribe = function() {
59
+ var stores = [...prev.storeInfos];
60
+ return subscribeToStores(stores, function() {
61
+ disposeValue === null || disposeValue === void 0 ? void 0 : disposeValue();
62
+ var next = getObserverValueAndStoresAccessed(fn);
63
+ if (typeof next.value === "function") {
64
+ disposeValue = next.value;
65
+ if (process.env.NODE_ENV === "development") {
66
+ logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
67
+ }
68
+ return;
69
+ }
70
+ if ((0, import_comparators.isEqualSubsetShallow)(prev.storeInfos, next.storeInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
71
+ return;
72
+ }
73
+ if (process.env.NODE_ENV === "development") {
74
+ logUpdate(fn, [...next.storeInfos], prev.value, next.value);
75
+ }
76
+ prev = next;
77
+ dispose();
78
+ dispose = subscribe();
79
+ });
80
+ };
81
+ var dispose = subscribe();
82
+ return {
83
+ dispose: function() {
84
+ dispose();
85
+ disposeValue === null || disposeValue === void 0 ? void 0 : disposeValue();
86
+ },
87
+ getValue: function() {
88
+ return prev.value;
89
+ }
90
+ };
98
91
  }
99
92
  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;
93
+ var [state, setState] = import_react.default.useState(function() {
94
+ return getObserverValueAndStoresAccessed(fn);
95
+ });
96
+ import_react.default.useEffect(function() {
97
+ var dispose;
98
+ var unsub = subscribeToStores([...state.storeInfos], function() {
99
+ dispose === null || dispose === void 0 ? void 0 : dispose();
100
+ var next = getObserverValueAndStoresAccessed(fn);
101
+ var nextStoreInfos = [...next.storeInfos];
102
+ var prevStoreInfos = [...state.storeInfos];
103
+ if (typeof next.value === "function") {
104
+ if (process.env.NODE_ENV === "development") {
105
+ logUpdate(fn, nextStoreInfos, "(fn)", "(fn)");
106
+ }
107
+ dispose = next.value;
108
+ return;
109
+ }
110
+ setState(function(prev) {
111
+ if ((0, import_comparators.isEqualSubsetShallow)(prevStoreInfos, nextStoreInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
112
+ return prev;
113
+ }
114
+ if (process.env.NODE_ENV === "development") {
115
+ logUpdate(fn, nextStoreInfos, prev.value, next.value);
116
+ }
117
+ return next;
118
+ });
119
+ });
120
+ return function() {
121
+ unsub();
122
+ dispose === null || dispose === void 0 ? void 0 : dispose();
123
+ };
124
+ }, [[...state.storeInfos].map(function(i) {
125
+ return i.uid;
126
+ }).join(",")]);
127
+ return state.value;
135
128
  }
136
129
  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
- };
130
+ var storeInfos = /* @__PURE__ */ new Set();
131
+ var dispose = (0, import_useStore.trackStoresAccess)(function(storeInfo) {
132
+ storeInfos.add(storeInfo);
133
+ });
134
+ var value = selector();
135
+ dispose();
136
+ return {
137
+ value,
138
+ storeInfos
139
+ };
147
140
  }
148
141
  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
- };
142
+ var disposes = [];
143
+ var isUpdating = false;
144
+ var onUpdateDebouncedWithoutTracking = function() {
145
+ if (isUpdating) return;
146
+ isUpdating = true;
147
+ queueMicrotask(function() {
148
+ try {
149
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
150
+ try {
151
+ for (var _iterator2 = storeInfos[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
152
+ var storeInfo2 = _step2.value;
153
+ storeInfo2.disableTracking = true;
154
+ }
155
+ } catch (err) {
156
+ _didIteratorError2 = true;
157
+ _iteratorError2 = err;
158
+ } finally {
159
+ try {
160
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
161
+ _iterator2.return();
162
+ }
163
+ } finally {
164
+ if (_didIteratorError2) {
165
+ throw _iteratorError2;
166
+ }
167
+ }
168
+ }
169
+ onUpdate();
170
+ } finally {
171
+ isUpdating = false;
172
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
173
+ try {
174
+ for (var _iterator1 = storeInfos[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
175
+ var storeInfo1 = _step1.value;
176
+ storeInfo1.disableTracking = false;
177
+ }
178
+ } catch (err) {
179
+ _didIteratorError1 = true;
180
+ _iteratorError1 = err;
181
+ } finally {
182
+ try {
183
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
184
+ _iterator1.return();
185
+ }
186
+ } finally {
187
+ if (_didIteratorError1) {
188
+ throw _iteratorError1;
189
+ }
190
+ }
191
+ }
192
+ }
193
+ });
194
+ };
195
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
196
+ try {
197
+ for (var _iterator = storeInfos[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
198
+ var storeInfo = _step.value;
199
+ disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
200
+ }
201
+ } catch (err) {
202
+ _didIteratorError = true;
203
+ _iteratorError = err;
204
+ } finally {
205
+ try {
206
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
207
+ _iterator.return();
208
+ }
209
+ } finally {
210
+ if (_didIteratorError) {
211
+ throw _iteratorError;
212
+ }
213
+ }
214
+ }
215
+ return function() {
216
+ disposes.forEach(function(x) {
217
+ return x();
218
+ });
219
+ };
233
220
  }
221
+
234
222
  //# sourceMappingURL=observe.native.js.map
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"file":"observe.native.js","names":[],"sources":["cjs/observe.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar observe_exports = {};\n__export(observe_exports, {\n observe: () => observe,\n useObserve: () => useObserve\n});\nmodule.exports = __toCommonJS(observe_exports);\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_comparators = require(\"./comparators\");\nvar import_constants = require(\"./constants\");\nvar import_useStore = require(\"./useStore\");\nvar logUpdate = process.env.NODE_ENV === \"development\" ? function(fn, stores, last, next) {\n var getStoreLogName = function(store) {\n var _store_props;\n var _store_UNWRAP_PROXY;\n var str = (_store_UNWRAP_PROXY = store[import_constants.UNWRAP_PROXY]) !== null && _store_UNWRAP_PROXY !== void 0 ? _store_UNWRAP_PROXY : store;\n return `${str.constructor.name}${((_store_props = store.props) === null || _store_props === void 0 ? void 0 : _store_props.id) ? `:${store.props.id}` : \"\"}`;\n };\n var storeNames = stores.map(getStoreLogName).join(\", \");\n var name = `\\u{1F311} \\u25B6\\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;\n console.groupCollapsed(name, \"color: tomato;\");\n console.groupCollapsed(\"trace >\");\n console.trace();\n console.groupEnd();\n console.info(\" next\", next);\n console.groupEnd();\n} : null;\nfunction observe(fn) {\n var prev = getObserverValueAndStoresAccessed(fn);\n var disposeValue = null;\n var subscribe = function() {\n var stores = [\n ...prev.storeInfos\n ];\n return subscribeToStores(stores, function() {\n disposeValue === null || disposeValue === void 0 ? void 0 : disposeValue();\n var next = getObserverValueAndStoresAccessed(fn);\n if (typeof next.value === \"function\") {\n disposeValue = next.value;\n if (process.env.NODE_ENV === \"development\") {\n logUpdate(fn, [\n ...next.storeInfos\n ], \"(fn)\", \"(fn)\");\n }\n return;\n }\n if ((0, import_comparators.isEqualSubsetShallow)(prev.storeInfos, next.storeInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {\n return;\n }\n if (process.env.NODE_ENV === \"development\") {\n logUpdate(fn, [\n ...next.storeInfos\n ], prev.value, next.value);\n }\n prev = next;\n dispose();\n dispose = subscribe();\n });\n };\n var dispose = subscribe();\n return {\n dispose: function() {\n dispose();\n disposeValue === null || disposeValue === void 0 ? void 0 : disposeValue();\n },\n getValue: function() {\n return prev.value;\n }\n };\n}\nfunction useObserve(fn) {\n var [state, setState] = import_react.default.useState(function() {\n return getObserverValueAndStoresAccessed(fn);\n });\n import_react.default.useEffect(function() {\n var dispose;\n var unsub = subscribeToStores([\n ...state.storeInfos\n ], function() {\n dispose === null || dispose === void 0 ? void 0 : dispose();\n var next = getObserverValueAndStoresAccessed(fn);\n var nextStoreInfos = [\n ...next.storeInfos\n ];\n var prevStoreInfos = [\n ...state.storeInfos\n ];\n if (typeof next.value === \"function\") {\n if (process.env.NODE_ENV === \"development\") {\n logUpdate(fn, nextStoreInfos, \"(fn)\", \"(fn)\");\n }\n dispose = next.value;\n return;\n }\n setState(function(prev) {\n if ((0, import_comparators.isEqualSubsetShallow)(prevStoreInfos, nextStoreInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {\n return prev;\n }\n if (process.env.NODE_ENV === \"development\") {\n logUpdate(fn, nextStoreInfos, prev.value, next.value);\n }\n return next;\n });\n });\n return function() {\n unsub();\n dispose === null || dispose === void 0 ? void 0 : dispose();\n };\n }, [\n [\n ...state.storeInfos\n ].map(function(i) {\n return i.uid;\n }).join(\",\")\n ]);\n return state.value;\n}\nfunction getObserverValueAndStoresAccessed(selector) {\n var storeInfos = /* @__PURE__ */ new Set();\n var dispose = (0, import_useStore.trackStoresAccess)(function(storeInfo) {\n storeInfos.add(storeInfo);\n });\n var value = selector();\n dispose();\n return {\n value,\n storeInfos\n };\n}\nfunction subscribeToStores(storeInfos, onUpdate) {\n var disposes = [];\n var isUpdating = false;\n var onUpdateDebouncedWithoutTracking = function() {\n if (isUpdating) return;\n isUpdating = true;\n queueMicrotask(function() {\n try {\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = storeInfos[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var storeInfo2 = _step2.value;\n storeInfo2.disableTracking = true;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n onUpdate();\n } finally {\n isUpdating = false;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = storeInfos[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var storeInfo1 = _step1.value;\n storeInfo1.disableTracking = false;\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n });\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = storeInfos[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var storeInfo = _step.value;\n disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return function() {\n disposes.forEach(function(x) {\n return x();\n });\n };\n}\n//# sourceMappingURL=observe.js.map\n"],"mappings":"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"}