@legendapp/state 2.2.0-next.7 → 2.2.0-next.71

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 (298) hide show
  1. package/README.md +4 -2
  2. package/babel.js.map +1 -1
  3. package/config/enable$get.d.ts +8 -0
  4. package/config/enable$get.js +24 -0
  5. package/config/enable$get.js.map +1 -0
  6. package/config/enable$get.mjs +21 -0
  7. package/config/enable$get.mjs.map +1 -0
  8. package/config/enableReactComponents.js.map +1 -1
  9. package/config/enableReactComponents.mjs.map +1 -1
  10. package/config/enableReactNativeComponents.js.map +1 -1
  11. package/config/enableReactNativeComponents.mjs.map +1 -1
  12. package/config/enableReactTracking.d.ts +0 -9
  13. package/config/enableReactTracking.js.map +1 -1
  14. package/config/enableReactTracking.mjs.map +1 -1
  15. package/config/enableReactUse.d.ts +1 -1
  16. package/config/enableReactUse.js +1 -0
  17. package/config/enableReactUse.js.map +1 -1
  18. package/config/enableReactUse.mjs +1 -0
  19. package/config/enableReactUse.mjs.map +1 -1
  20. package/config/enable_peek.d.ts +8 -0
  21. package/config/{enableDirectPeek.js → enable_peek.js} +6 -3
  22. package/config/enable_peek.js.map +1 -0
  23. package/config/{enableDirectPeek.mjs → enable_peek.mjs} +5 -3
  24. package/config/enable_peek.mjs.map +1 -0
  25. package/helpers/fetch.d.ts +4 -3
  26. package/helpers/fetch.js.map +1 -1
  27. package/helpers/fetch.mjs.map +1 -1
  28. package/helpers/pageHash.js.map +1 -1
  29. package/helpers/pageHash.mjs.map +1 -1
  30. package/helpers/pageHashParams.js.map +1 -1
  31. package/helpers/pageHashParams.mjs.map +1 -1
  32. package/helpers/time.d.ts +2 -2
  33. package/helpers/time.js.map +1 -1
  34. package/helpers/time.mjs.map +1 -1
  35. package/history.js +2 -2
  36. package/history.js.map +1 -1
  37. package/history.mjs +3 -3
  38. package/history.mjs.map +1 -1
  39. package/index.d.ts +30 -9
  40. package/index.js +877 -661
  41. package/index.js.map +1 -1
  42. package/index.mjs +874 -658
  43. package/index.mjs.map +1 -1
  44. package/package.json +22 -25
  45. package/persist-plugins/async-storage.d.ts +3 -3
  46. package/persist-plugins/async-storage.js +8 -7
  47. package/persist-plugins/async-storage.js.map +1 -1
  48. package/persist-plugins/async-storage.mjs +9 -8
  49. package/persist-plugins/async-storage.mjs.map +1 -1
  50. package/persist-plugins/fetch.js.map +1 -1
  51. package/persist-plugins/fetch.mjs.map +1 -1
  52. package/persist-plugins/firebase.d.ts +1 -1
  53. package/persist-plugins/firebase.js +12 -11
  54. package/persist-plugins/firebase.js.map +1 -1
  55. package/persist-plugins/firebase.mjs +13 -12
  56. package/persist-plugins/firebase.mjs.map +1 -1
  57. package/persist-plugins/indexeddb.d.ts +10 -10
  58. package/persist-plugins/indexeddb.js +2 -2
  59. package/persist-plugins/indexeddb.js.map +1 -1
  60. package/persist-plugins/indexeddb.mjs +2 -2
  61. package/persist-plugins/indexeddb.mjs.map +1 -1
  62. package/persist-plugins/local-storage.d.ts +3 -4
  63. package/persist-plugins/local-storage.js +19 -7
  64. package/persist-plugins/local-storage.js.map +1 -1
  65. package/persist-plugins/local-storage.mjs +20 -9
  66. package/persist-plugins/local-storage.mjs.map +1 -1
  67. package/persist-plugins/mmkv.d.ts +8 -8
  68. package/persist-plugins/mmkv.js +5 -4
  69. package/persist-plugins/mmkv.js.map +1 -1
  70. package/persist-plugins/mmkv.mjs +6 -5
  71. package/persist-plugins/mmkv.mjs.map +1 -1
  72. package/persist-plugins/query.js.map +1 -1
  73. package/persist-plugins/query.mjs.map +1 -1
  74. package/persist.d.ts +2 -14
  75. package/persist.js +1250 -268
  76. package/persist.js.map +1 -1
  77. package/persist.mjs +1250 -269
  78. package/persist.mjs.map +1 -1
  79. package/react-hooks/createObservableHook.js +1 -1
  80. package/react-hooks/createObservableHook.js.map +1 -1
  81. package/react-hooks/createObservableHook.mjs +1 -1
  82. package/react-hooks/createObservableHook.mjs.map +1 -1
  83. package/react-hooks/useFetch.d.ts +4 -3
  84. package/react-hooks/useFetch.js.map +1 -1
  85. package/react-hooks/useFetch.mjs.map +1 -1
  86. package/react-hooks/useHover.js.map +1 -1
  87. package/react-hooks/useHover.mjs.map +1 -1
  88. package/react-hooks/useMeasure.js.map +1 -1
  89. package/react-hooks/useMeasure.mjs.map +1 -1
  90. package/react-hooks/useObservableNextRouter.js.map +1 -1
  91. package/react-hooks/useObservableNextRouter.mjs.map +1 -1
  92. package/react-hooks/useObservableQuery.js.map +1 -1
  93. package/react-hooks/useObservableQuery.mjs.map +1 -1
  94. package/react-hooks/usePersistedObservable.d.ts +5 -3
  95. package/react-hooks/usePersistedObservable.js +5 -2
  96. package/react-hooks/usePersistedObservable.js.map +1 -1
  97. package/react-hooks/usePersistedObservable.mjs +5 -2
  98. package/react-hooks/usePersistedObservable.mjs.map +1 -1
  99. package/react.js +61 -75
  100. package/react.js.map +1 -1
  101. package/react.mjs +61 -75
  102. package/react.mjs.map +1 -1
  103. package/src/ObservableObject.ts +1184 -0
  104. package/src/ObservablePrimitive.ts +62 -0
  105. package/src/babel/index.ts +70 -0
  106. package/src/batching.ts +372 -0
  107. package/src/computed.ts +16 -0
  108. package/src/config/enable$get.ts +30 -0
  109. package/src/config/enableReactComponents.ts +26 -0
  110. package/src/config/enableReactNativeComponents.ts +102 -0
  111. package/src/config/enableReactTracking.ts +60 -0
  112. package/src/config/enableReactUse.ts +23 -0
  113. package/src/config/enable_peek.ts +31 -0
  114. package/src/config.ts +47 -0
  115. package/src/createObservable.ts +46 -0
  116. package/src/event.ts +26 -0
  117. package/src/globals.ts +224 -0
  118. package/src/helpers/fetch.ts +26 -0
  119. package/src/helpers/pageHash.ts +41 -0
  120. package/src/helpers/pageHashParams.ts +55 -0
  121. package/src/helpers/time.ts +30 -0
  122. package/src/helpers.ts +221 -0
  123. package/src/history/trackHistory.ts +29 -0
  124. package/src/is.ts +56 -0
  125. package/src/linked.ts +6 -0
  126. package/src/observable.ts +32 -0
  127. package/src/observableInterfaces.ts +165 -0
  128. package/src/observableTypes.ts +221 -0
  129. package/src/observe.ts +89 -0
  130. package/src/onChange.ts +136 -0
  131. package/src/persist/configureObservablePersistence.ts +7 -0
  132. package/src/persist/fieldTransformer.ts +149 -0
  133. package/src/persist/observablePersistRemoteFunctionsAdapter.ts +39 -0
  134. package/src/persist/persistObservable.ts +1029 -0
  135. package/src/persist-plugins/async-storage.ts +102 -0
  136. package/src/persist-plugins/fetch.ts +33 -0
  137. package/src/persist-plugins/firebase.ts +1050 -0
  138. package/src/persist-plugins/indexeddb.ts +433 -0
  139. package/src/persist-plugins/local-storage.ts +90 -0
  140. package/src/persist-plugins/mmkv.ts +90 -0
  141. package/src/persist-plugins/query.ts +133 -0
  142. package/src/persistTypes.ts +226 -0
  143. package/src/proxy.ts +28 -0
  144. package/src/react/Computed.tsx +7 -0
  145. package/src/react/For.tsx +116 -0
  146. package/src/react/Memo.tsx +4 -0
  147. package/src/react/Reactive.tsx +53 -0
  148. package/src/react/Show.tsx +33 -0
  149. package/src/react/Switch.tsx +43 -0
  150. package/src/react/react-globals.ts +3 -0
  151. package/src/react/{reactInterfaces.d.ts → reactInterfaces.ts} +15 -7
  152. package/src/react/reactive-observer.tsx +210 -0
  153. package/src/react/useComputed.ts +36 -0
  154. package/src/react/useEffectOnce.ts +41 -0
  155. package/src/react/useIsMounted.ts +16 -0
  156. package/src/react/useMount.ts +15 -0
  157. package/src/react/useObservable.ts +24 -0
  158. package/src/react/useObservableReducer.ts +52 -0
  159. package/src/react/useObservableState.ts +30 -0
  160. package/src/react/useObserve.ts +54 -0
  161. package/src/react/useObserveEffect.ts +40 -0
  162. package/src/react/usePauseProvider.tsx +13 -0
  163. package/src/react/useSelector.ts +167 -0
  164. package/src/react/useUnmount.ts +8 -0
  165. package/src/react/useWhen.ts +9 -0
  166. package/src/react-hooks/createObservableHook.ts +53 -0
  167. package/src/react-hooks/useFetch.ts +16 -0
  168. package/src/react-hooks/useHover.ts +40 -0
  169. package/src/react-hooks/useMeasure.ts +48 -0
  170. package/src/react-hooks/useObservableNextRouter.ts +137 -0
  171. package/src/react-hooks/useObservableQuery.ts +205 -0
  172. package/src/react-hooks/usePersistedObservable.ts +24 -0
  173. package/src/retry.ts +69 -0
  174. package/src/setupTracking.ts +26 -0
  175. package/src/sync/activateSyncedNode.ts +146 -0
  176. package/src/sync/configureObservableSync.ts +7 -0
  177. package/src/sync/syncHelpers.ts +15 -0
  178. package/src/sync/syncObservable.ts +989 -0
  179. package/src/sync/syncObservableAdapter.ts +30 -0
  180. package/src/sync/synced.ts +20 -0
  181. package/src/sync-plugins/fetch.ts +42 -0
  182. package/src/syncTypes.ts +163 -0
  183. package/src/trace/traceHelpers.ts +11 -0
  184. package/src/trace/useTraceListeners.ts +34 -0
  185. package/src/trace/useTraceUpdates.ts +24 -0
  186. package/src/trace/useVerifyNotTracking.ts +33 -0
  187. package/src/trace/useVerifyOneRender.ts +10 -0
  188. package/src/trackSelector.ts +52 -0
  189. package/src/tracking.ts +43 -0
  190. package/src/types/babel.d.ts +12 -0
  191. package/src/when.ts +70 -0
  192. package/sync-plugins/fetch.d.ts +11 -0
  193. package/sync-plugins/fetch.js +24 -0
  194. package/sync-plugins/fetch.js.map +1 -0
  195. package/sync-plugins/fetch.mjs +22 -0
  196. package/sync-plugins/fetch.mjs.map +1 -0
  197. package/sync.d.ts +8 -0
  198. package/sync.js +919 -0
  199. package/sync.js.map +1 -0
  200. package/sync.mjs +912 -0
  201. package/sync.mjs.map +1 -0
  202. package/trace.js +13 -10
  203. package/trace.js.map +1 -1
  204. package/trace.mjs +11 -8
  205. package/trace.mjs.map +1 -1
  206. package/types/babel.d.ts +3 -3
  207. package/config/enableDirectAccess.d.ts +0 -7
  208. package/config/enableDirectAccess.js +0 -25
  209. package/config/enableDirectAccess.js.map +0 -1
  210. package/config/enableDirectAccess.mjs +0 -23
  211. package/config/enableDirectAccess.mjs.map +0 -1
  212. package/config/enableDirectPeek.d.ts +0 -7
  213. package/config/enableDirectPeek.js.map +0 -1
  214. package/config/enableDirectPeek.mjs.map +0 -1
  215. package/config/enableReactDirectRender.d.ts +0 -2
  216. package/config/enableReactDirectRender.js +0 -78
  217. package/config/enableReactDirectRender.js.map +0 -1
  218. package/config/enableReactDirectRender.mjs +0 -75
  219. package/config/enableReactDirectRender.mjs.map +0 -1
  220. package/src/ObservableObject.d.ts +0 -14
  221. package/src/ObservablePrimitive.d.ts +0 -7
  222. package/src/babel/index.d.ts +0 -17
  223. package/src/batching.d.ts +0 -6
  224. package/src/computed.d.ts +0 -4
  225. package/src/config/enableDirectAccess.d.ts +0 -7
  226. package/src/config/enableDirectPeek.d.ts +0 -7
  227. package/src/config/enableReactComponents.d.ts +0 -7
  228. package/src/config/enableReactDirectRender.d.ts +0 -2
  229. package/src/config/enableReactNativeComponents.d.ts +0 -20
  230. package/src/config/enableReactTracking.d.ts +0 -15
  231. package/src/config/enableReactUse.d.ts +0 -7
  232. package/src/config.d.ts +0 -8
  233. package/src/createObservable.d.ts +0 -2
  234. package/src/event.d.ts +0 -2
  235. package/src/globals.d.ts +0 -32
  236. package/src/helpers/fetch.d.ts +0 -6
  237. package/src/helpers/pageHash.d.ts +0 -7
  238. package/src/helpers/pageHashParams.d.ts +0 -7
  239. package/src/helpers/time.d.ts +0 -3
  240. package/src/helpers.d.ts +0 -13
  241. package/src/history/trackHistory.d.ts +0 -4
  242. package/src/is.d.ts +0 -10
  243. package/src/observable.d.ts +0 -16
  244. package/src/observableInterfaces.d.ts +0 -456
  245. package/src/observe.d.ts +0 -6
  246. package/src/onChange.d.ts +0 -7
  247. package/src/persist/configureObservablePersistence.d.ts +0 -3
  248. package/src/persist/fieldTransformer.d.ts +0 -8
  249. package/src/persist/observablePersistRemoteFunctionsAdapter.d.ts +0 -2
  250. package/src/persist/persistActivateNode.d.ts +0 -1
  251. package/src/persist/persistHelpers.d.ts +0 -1
  252. package/src/persist/persistObservable.d.ts +0 -25
  253. package/src/persist-plugins/async-storage.d.ts +0 -14
  254. package/src/persist-plugins/fetch.d.ts +0 -10
  255. package/src/persist-plugins/firebase.d.ts +0 -51
  256. package/src/persist-plugins/indexeddb.d.ts +0 -25
  257. package/src/persist-plugins/local-storage.d.ts +0 -21
  258. package/src/persist-plugins/mmkv.d.ts +0 -14
  259. package/src/persist-plugins/query.d.ts +0 -18
  260. package/src/proxy.d.ts +0 -5
  261. package/src/react/Computed.d.ts +0 -5
  262. package/src/react/For.d.ts +0 -15
  263. package/src/react/Memo.d.ts +0 -3
  264. package/src/react/Reactive.d.ts +0 -9
  265. package/src/react/Show.d.ts +0 -18
  266. package/src/react/Switch.d.ts +0 -14
  267. package/src/react/react-globals.d.ts +0 -3
  268. package/src/react/reactive-observer.d.ts +0 -14
  269. package/src/react/useComputed.d.ts +0 -5
  270. package/src/react/useEffectOnce.d.ts +0 -1
  271. package/src/react/useIsMounted.d.ts +0 -2
  272. package/src/react/useMount.d.ts +0 -2
  273. package/src/react/useObservable.d.ts +0 -9
  274. package/src/react/useObservableReducer.d.ts +0 -7
  275. package/src/react/useObservableState.d.ts +0 -2
  276. package/src/react/useObserve.d.ts +0 -4
  277. package/src/react/useObserveEffect.d.ts +0 -4
  278. package/src/react/usePauseProvider.d.ts +0 -8
  279. package/src/react/useSelector.d.ts +0 -3
  280. package/src/react/useUnmount.d.ts +0 -2
  281. package/src/react/useWhen.d.ts +0 -3
  282. package/src/react-hooks/createObservableHook.d.ts +0 -2
  283. package/src/react-hooks/useFetch.d.ts +0 -6
  284. package/src/react-hooks/useHover.d.ts +0 -3
  285. package/src/react-hooks/useMeasure.d.ts +0 -6
  286. package/src/react-hooks/useObservableNextRouter.d.ts +0 -33
  287. package/src/react-hooks/useObservableQuery.d.ts +0 -6
  288. package/src/react-hooks/usePersistedObservable.d.ts +0 -11
  289. package/src/retry.d.ts +0 -9
  290. package/src/setupTracking.d.ts +0 -2
  291. package/src/trace/traceHelpers.d.ts +0 -2
  292. package/src/trace/useTraceListeners.d.ts +0 -1
  293. package/src/trace/useTraceUpdates.d.ts +0 -1
  294. package/src/trace/useVerifyNotTracking.d.ts +0 -1
  295. package/src/trace/useVerifyOneRender.d.ts +0 -1
  296. package/src/trackSelector.d.ts +0 -7
  297. package/src/tracking.d.ts +0 -13
  298. package/src/when.d.ts +0 -3
package/react.js CHANGED
@@ -282,6 +282,10 @@ function requireUseSyncExternalStoreShim_development () {
282
282
  }
283
283
  } (shim));
284
284
 
285
+ const reactGlobals = {
286
+ inObserver: false,
287
+ };
288
+
285
289
  const PauseContext = require$$0.createContext(null);
286
290
  function usePauseProvider() {
287
291
  const [value] = require$$0.useState(() => state.observable(false));
@@ -291,10 +295,6 @@ function usePauseProvider() {
291
295
  };
292
296
  }
293
297
 
294
- const reactGlobals = {
295
- inObserver: false,
296
- };
297
-
298
298
  function createSelectorFunctions(options, isPaused$) {
299
299
  let version = 0;
300
300
  let notify;
@@ -303,23 +303,31 @@ function createSelectorFunctions(options, isPaused$) {
303
303
  let _selector;
304
304
  let prev;
305
305
  let pendingUpdate = undefined;
306
+ const run = () => {
307
+ // Dispose if already listening
308
+ dispose === null || dispose === void 0 ? void 0 : dispose();
309
+ const { value, dispose: _dispose, resubscribe: _resubscribe, } = state.trackSelector(_selector, _update, undefined, undefined, /*createResubscribe*/ true);
310
+ dispose = _dispose;
311
+ resubscribe = _resubscribe;
312
+ return value;
313
+ };
306
314
  const _update = ({ value }) => {
307
315
  if (isPaused$ === null || isPaused$ === void 0 ? void 0 : isPaused$.peek()) {
308
- if (pendingUpdate === undefined) {
316
+ const next = pendingUpdate;
317
+ pendingUpdate = value;
318
+ if (next === undefined) {
309
319
  state.when(() => !isPaused$.get(), () => {
310
320
  const latest = pendingUpdate;
311
321
  pendingUpdate = undefined;
312
322
  _update({ value: latest });
313
323
  });
314
324
  }
315
- pendingUpdate = value;
316
325
  }
317
326
  else {
318
327
  // If skipCheck then don't need to re-run selector
319
328
  let changed = options === null || options === void 0 ? void 0 : options.skipCheck;
320
329
  if (!changed) {
321
- // Re-run the selector to get the new value
322
- const newValue = state.computeSelector(_selector);
330
+ const newValue = run();
323
331
  // If newValue is different than previous value then it's changed.
324
332
  // Also if the selector returns an observable directly then its value will be the same as
325
333
  // the value from the listener, and that should always re-render.
@@ -340,7 +348,7 @@ function createSelectorFunctions(options, isPaused$) {
340
348
  if ((process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') &&
341
349
  !dispose &&
342
350
  resubscribe) {
343
- resubscribe();
351
+ dispose = resubscribe();
344
352
  }
345
353
  return () => {
346
354
  dispose === null || dispose === void 0 ? void 0 : dispose();
@@ -351,30 +359,22 @@ function createSelectorFunctions(options, isPaused$) {
351
359
  run: (selector) => {
352
360
  // Update the cached selector
353
361
  _selector = selector;
354
- // Dispose if already listening
355
- dispose === null || dispose === void 0 ? void 0 : dispose();
356
- const { value, dispose: _dispose, resubscribe: _resubscribe, } = state.trackSelector(selector, _update, undefined, undefined, /*createResubscribe*/ true);
357
- dispose = _dispose;
358
- resubscribe = _resubscribe;
359
- prev = value;
360
- return value;
362
+ return (prev = run());
361
363
  },
362
364
  };
363
365
  }
364
366
  function useSelector(selector, options) {
365
367
  var _a;
366
- // Short-circuit to skip creating the hook if the parent component is an observer
367
- if (reactGlobals.inObserver) {
368
+ // Short-circuit to skip creating the hook if selector is an observable
369
+ // and running in an observer. If selector is a function it needs to run in its own context.
370
+ if (reactGlobals.inObserver && state.isObservable(selector)) {
368
371
  return state.computeSelector(selector);
369
372
  }
370
373
  let value;
371
374
  try {
372
- const ref = require$$0.useRef();
373
375
  const isPaused$ = require$$0.useContext(PauseContext);
374
- if (!ref.current) {
375
- ref.current = createSelectorFunctions(options, isPaused$);
376
- }
377
- const { subscribe, getVersion, run } = ref.current;
376
+ const selectorFn = require$$0.useMemo(() => createSelectorFunctions(options, isPaused$), []);
377
+ const { subscribe, getVersion, run } = selectorFn;
378
378
  // Run the selector
379
379
  // Note: The selector needs to run on every render because it may have different results
380
380
  // than the previous run if it uses local state
@@ -385,9 +385,7 @@ function useSelector(selector, options) {
385
385
  // Note: Although it's not possible for an observable to be a promise, the selector may be a
386
386
  // function that returns a Promise, so we handle that case too.
387
387
  if (state.isPromise(value) ||
388
- (!value &&
389
- state.isObservable(selector) &&
390
- !selector.state.isLoaded.get())) {
388
+ (!value && state.isObservable(selector) && state.syncState(selector).isLoaded.get() === false)) {
391
389
  if (require$$0.use) {
392
390
  require$$0.use(value);
393
391
  }
@@ -547,7 +545,7 @@ function reactiveObserver(component, bindKeys) {
547
545
  function reactiveComponents(components) {
548
546
  return new Proxy({}, {
549
547
  get(target, p) {
550
- if (!target[p]) {
548
+ if (!target[p] && components[p]) {
551
549
  target[p] = createReactiveComponent(components[p], false, true);
552
550
  }
553
551
  return target[p];
@@ -555,6 +553,7 @@ function reactiveComponents(components) {
555
553
  });
556
554
  }
557
555
 
556
+ const { findIDKey, getNode, optimized } = state.internal;
558
557
  const autoMemoCache = new Map();
559
558
  function For({ each, optimized: isOptimized, item, itemProps, sortValues, children, }) {
560
559
  var _a;
@@ -562,7 +561,7 @@ function For({ each, optimized: isOptimized, item, itemProps, sortValues, childr
562
561
  return null;
563
562
  // Get the raw value with a shallow listener so this list only re-renders
564
563
  // when the array length changes
565
- const value = useSelector(() => each.get(isOptimized ? state.optimized : true));
564
+ const value = useSelector(() => each.get(isOptimized ? optimized : true));
566
565
  // The child function gets wrapped in a memoized observer component
567
566
  if (!item && children) {
568
567
  // Update the ref so the generated component uses the latest function
@@ -590,10 +589,10 @@ function For({ each, optimized: isOptimized, item, itemProps, sortValues, childr
590
589
  if (isArr) {
591
590
  // Get the appropriate id field
592
591
  const v0 = value[0];
593
- const node = state.getNode(each);
592
+ const node = getNode(each);
594
593
  const length = value.length;
595
594
  const idField = length > 0
596
- ? (node && state.findIDKey(v0, node)) ||
595
+ ? (node && findIDKey(v0, node)) ||
597
596
  (v0.id !== undefined ? 'id' : v0.key !== undefined ? 'key' : undefined)
598
597
  : undefined;
599
598
  const isIdFieldFunction = state.isFunction(idField);
@@ -673,23 +672,17 @@ function configureReactive({ components, binders, }) {
673
672
  }
674
673
 
675
674
  function Show({ if: if_, ifReady, else: else_, wrap, children }) {
676
- const child = useSelector(() => {
677
- const value = state.computeSelector(if_ !== null && if_ !== void 0 ? if_ : ifReady);
678
- return state.computeSelector((ifReady !== undefined ? state.isObservableValueReady(value) : value)
679
- ? state.isFunction(children)
680
- ? () => children(value)
681
- : children
682
- : else_
683
- ? else_
684
- : null);
685
- }, { skipCheck: true });
675
+ const value = useSelector(if_ !== null && if_ !== void 0 ? if_ : ifReady);
676
+ const show = ifReady !== undefined ? state.isObservableValueReady(value) : value;
677
+ const child = useSelector(show ? (state.isFunction(children) ? () => children(value) : children) : else_ !== null && else_ !== void 0 ? else_ : null, { skipCheck: true });
686
678
  return wrap ? require$$0.createElement(wrap, undefined, child) : child;
687
679
  }
688
680
 
689
681
  function Switch({ value, children, }) {
690
- var _a, _b, _c, _d, _e, _f;
682
+ var _a, _b;
691
683
  // Select from an object of cases
692
- return ((_f = (_c = (_b = (_a = children)[useSelector(value, { skipCheck: true })]) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : (_e = (_d = children)['default']) === null || _e === void 0 ? void 0 : _e.call(_d)) !== null && _f !== void 0 ? _f : null);
684
+ const child = children[useSelector(value)];
685
+ return (_b = (child ? child() : (_a = children['default']) === null || _a === void 0 ? void 0 : _a.call(children))) !== null && _b !== void 0 ? _b : null;
693
686
  }
694
687
 
695
688
  function useComputed(compute, set, deps) {
@@ -703,7 +696,7 @@ function useComputed(compute, set, deps) {
703
696
  return require$$0.useMemo(() => state.computed(() => (state.isFunction(ref.current.compute) ? ref.current.compute() : ref.current.compute), (set ? (value) => ref.current.set(value) : undefined)), deps || []);
704
697
  }
705
698
 
706
- const useEffectOnce = (effect) => {
699
+ const useEffectOnce = (effect, deps) => {
707
700
  if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
708
701
  const refDispose = require$$0.useRef({ num: 0 });
709
702
  require$$0.useEffect(() => {
@@ -737,50 +730,44 @@ const useEffectOnce = (effect) => {
737
730
  else {
738
731
  return dispose;
739
732
  }
740
- }, []);
733
+ }, deps);
741
734
  }
742
735
  else {
743
- require$$0.useEffect(effect, []);
736
+ require$$0.useEffect(effect, deps);
744
737
  }
745
738
  };
746
739
 
747
- /**
748
- * A React hook that creates a new observable
749
- *
750
- * @param initialValue The initial value of the observable or a function that returns the initial value
751
- *
752
- * @see https://www.legendapp.com/dev/state/react/#useObservable
753
- */
740
+ function useMount(fn) {
741
+ return useEffectOnce(() => {
742
+ const ret = fn();
743
+ // Allow the function to be async but if so ignore its return value
744
+ if (!state.isPromise(ret)) {
745
+ return ret;
746
+ }
747
+ }, []);
748
+ }
749
+ // TODOV4 Deprecate
750
+ const useMountOnce = useMount;
751
+
754
752
  function useObservable(initialValue) {
755
- // Create the observable from the default value
756
- return require$$0.useMemo(() => state.observable((state.isFunction(initialValue) ? initialValue() : initialValue)), []);
753
+ const ref = require$$0.useRef();
754
+ if (!ref.current) {
755
+ // Create the observable from the default value
756
+ ref.current = state.observable(initialValue);
757
+ }
758
+ return ref.current;
757
759
  }
758
760
 
759
761
  function useIsMounted() {
760
762
  const obs = useObservable(false);
761
763
  const { set } = obs;
762
- useEffectOnce(() => {
764
+ useMountOnce(() => {
763
765
  set(true);
764
766
  return () => set(false);
765
767
  });
766
768
  return obs;
767
769
  }
768
770
 
769
- function isPromise(obj) {
770
- return obj instanceof Promise;
771
- }
772
-
773
- function useMount(fn) {
774
- return require$$0.useEffect(() => {
775
- const ret = fn();
776
- // Allow the function to be async but if so ignore its return value
777
- if (!isPromise(ret)) {
778
- return ret;
779
- }
780
- }, []);
781
- }
782
- const useMountOnce = useEffectOnce;
783
-
784
771
  function useObservableReducer(reducer, initializerArg, initializer) {
785
772
  const obs = useObservable(() => initializerArg !== undefined && state.isFunction(initializerArg) ? initializer(initializerArg) : initializerArg);
786
773
  const dispatch = (action) => {
@@ -790,11 +777,10 @@ function useObservableReducer(reducer, initializerArg, initializer) {
790
777
  }
791
778
 
792
779
  function useUnmount(fn) {
793
- return require$$0.useEffect(() => fn, []);
794
- }
795
- function useUnmountOnce(fn) {
796
- return useEffectOnce(() => fn);
780
+ return useMount(() => fn);
797
781
  }
782
+ // TODOV4 Deprecate
783
+ const useUnmountOnce = useUnmount;
798
784
 
799
785
  function useObserve(selector, reactionOrOptions, options) {
800
786
  let reaction;
@@ -827,7 +813,7 @@ function useObserveEffect(selector, reactionOrOptions, options) {
827
813
  }
828
814
  const ref = require$$0.useRef({ selector });
829
815
  ref.current = { selector, reaction };
830
- useEffectOnce(() => state.observe(((e) => {
816
+ useMountOnce(() => state.observe(((e) => {
831
817
  const { selector } = ref.current;
832
818
  return state.isFunction(selector) ? selector(e) : selector;
833
819
  }), (e) => { var _a, _b; return (_b = (_a = ref.current).reaction) === null || _b === void 0 ? void 0 : _b.call(_a, e); }, options));
package/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sources":["../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","../../src/react/usePauseProvider.tsx","../../src/react/react-globals.ts","../../src/react/useSelector.ts","../../src/react/Computed.tsx","../../src/react/reactive-observer.tsx","../../src/react/For.tsx","../../src/react/Memo.tsx","../../src/react/Reactive.tsx","../../src/react/Show.tsx","../../src/react/Switch.tsx","../../src/react/useComputed.ts","../../src/react/useEffectOnce.ts","../../src/react/useObservable.ts","../../src/react/useIsMounted.ts","../../src/is.ts","../../src/react/useMount.ts","../../src/react/useObservableReducer.ts","../../src/react/useUnmount.ts","../../src/react/useObserve.ts","../../src/react/useObserveEffect.ts","../../src/react/useWhen.ts"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["require$$0","require$$1","createContext","useState","observable","createElement","when","computeSelector","isPrimitive","trackSelector","useRef","useContext","useSyncExternalStore","isPromise","isObservable","React","forwardRef","memo","isFunction","useCallback","optimized","useMemo","isArray","getNode","findIDKey","isEmpty","isObservableValueReady","computed","useEffect","observe","whenReady"],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sources":["../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","./src/react/react-globals.ts","./src/react/usePauseProvider.tsx","./src/react/useSelector.ts","./src/react/Computed.tsx","./src/react/reactive-observer.tsx","./src/react/For.tsx","./src/react/Memo.tsx","./src/react/Reactive.tsx","./src/react/Show.tsx","./src/react/Switch.tsx","./src/react/useComputed.ts","./src/react/useEffectOnce.ts","./src/react/useMount.ts","./src/react/useObservable.ts","./src/react/useIsMounted.ts","./src/react/useObservableReducer.ts","./src/react/useUnmount.ts","./src/react/useObserve.ts","./src/react/useObserveEffect.ts","./src/react/useWhen.ts"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["require$$0","require$$1","createContext","useState","observable","createElement","trackSelector","when","isPrimitive","isObservable","computeSelector","useContext","useMemo","useSyncExternalStore","isPromise","syncState","React","forwardRef","memo","isFunction","useCallback","internal","useRef","isArray","isEmpty","isObservableValueReady","computed","useEffect","observe","whenReady"],"mappings":"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"}