@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.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { observable, isPromise as isPromise$1, isObservable, trackSelector, when, computeSelector, isPrimitive, isFunction, optimized, isArray, getNode, findIDKey, isEmpty, isObservableValueReady, computed, observe, whenReady } from '@legendapp/state';
2
- import require$$0, { createContext, useState, createElement, useRef, useContext, forwardRef, memo, useCallback, useMemo, useEffect } from 'react';
1
+ import { observable, isPromise, isObservable, syncState, trackSelector, when, isPrimitive, computeSelector, isFunction, isArray, internal, isEmpty, isObservableValueReady, computed, observe, whenReady } from '@legendapp/state';
2
+ import require$$0, { createContext, useState, createElement, useContext, useMemo, forwardRef, memo, useCallback, useRef, useEffect } from 'react';
3
3
 
4
4
  var shim = {exports: {}};
5
5
 
@@ -280,6 +280,10 @@ function requireUseSyncExternalStoreShim_development () {
280
280
  }
281
281
  } (shim));
282
282
 
283
+ const reactGlobals = {
284
+ inObserver: false,
285
+ };
286
+
283
287
  const PauseContext = createContext(null);
284
288
  function usePauseProvider() {
285
289
  const [value] = useState(() => observable(false));
@@ -289,10 +293,6 @@ function usePauseProvider() {
289
293
  };
290
294
  }
291
295
 
292
- const reactGlobals = {
293
- inObserver: false,
294
- };
295
-
296
296
  function createSelectorFunctions(options, isPaused$) {
297
297
  let version = 0;
298
298
  let notify;
@@ -301,23 +301,31 @@ function createSelectorFunctions(options, isPaused$) {
301
301
  let _selector;
302
302
  let prev;
303
303
  let pendingUpdate = undefined;
304
+ const run = () => {
305
+ // Dispose if already listening
306
+ dispose === null || dispose === void 0 ? void 0 : dispose();
307
+ const { value, dispose: _dispose, resubscribe: _resubscribe, } = trackSelector(_selector, _update, undefined, undefined, /*createResubscribe*/ true);
308
+ dispose = _dispose;
309
+ resubscribe = _resubscribe;
310
+ return value;
311
+ };
304
312
  const _update = ({ value }) => {
305
313
  if (isPaused$ === null || isPaused$ === void 0 ? void 0 : isPaused$.peek()) {
306
- if (pendingUpdate === undefined) {
314
+ const next = pendingUpdate;
315
+ pendingUpdate = value;
316
+ if (next === undefined) {
307
317
  when(() => !isPaused$.get(), () => {
308
318
  const latest = pendingUpdate;
309
319
  pendingUpdate = undefined;
310
320
  _update({ value: latest });
311
321
  });
312
322
  }
313
- pendingUpdate = value;
314
323
  }
315
324
  else {
316
325
  // If skipCheck then don't need to re-run selector
317
326
  let changed = options === null || options === void 0 ? void 0 : options.skipCheck;
318
327
  if (!changed) {
319
- // Re-run the selector to get the new value
320
- const newValue = computeSelector(_selector);
328
+ const newValue = run();
321
329
  // If newValue is different than previous value then it's changed.
322
330
  // Also if the selector returns an observable directly then its value will be the same as
323
331
  // the value from the listener, and that should always re-render.
@@ -338,7 +346,7 @@ function createSelectorFunctions(options, isPaused$) {
338
346
  if ((process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') &&
339
347
  !dispose &&
340
348
  resubscribe) {
341
- resubscribe();
349
+ dispose = resubscribe();
342
350
  }
343
351
  return () => {
344
352
  dispose === null || dispose === void 0 ? void 0 : dispose();
@@ -349,30 +357,22 @@ function createSelectorFunctions(options, isPaused$) {
349
357
  run: (selector) => {
350
358
  // Update the cached selector
351
359
  _selector = selector;
352
- // Dispose if already listening
353
- dispose === null || dispose === void 0 ? void 0 : dispose();
354
- const { value, dispose: _dispose, resubscribe: _resubscribe, } = trackSelector(selector, _update, undefined, undefined, /*createResubscribe*/ true);
355
- dispose = _dispose;
356
- resubscribe = _resubscribe;
357
- prev = value;
358
- return value;
360
+ return (prev = run());
359
361
  },
360
362
  };
361
363
  }
362
364
  function useSelector(selector, options) {
363
365
  var _a;
364
- // Short-circuit to skip creating the hook if the parent component is an observer
365
- if (reactGlobals.inObserver) {
366
+ // Short-circuit to skip creating the hook if selector is an observable
367
+ // and running in an observer. If selector is a function it needs to run in its own context.
368
+ if (reactGlobals.inObserver && isObservable(selector)) {
366
369
  return computeSelector(selector);
367
370
  }
368
371
  let value;
369
372
  try {
370
- const ref = useRef();
371
373
  const isPaused$ = useContext(PauseContext);
372
- if (!ref.current) {
373
- ref.current = createSelectorFunctions(options, isPaused$);
374
- }
375
- const { subscribe, getVersion, run } = ref.current;
374
+ const selectorFn = useMemo(() => createSelectorFunctions(options, isPaused$), []);
375
+ const { subscribe, getVersion, run } = selectorFn;
376
376
  // Run the selector
377
377
  // Note: The selector needs to run on every render because it may have different results
378
378
  // than the previous run if it uses local state
@@ -382,10 +382,8 @@ function useSelector(selector, options) {
382
382
  if (options === null || options === void 0 ? void 0 : options.suspense) {
383
383
  // Note: Although it's not possible for an observable to be a promise, the selector may be a
384
384
  // function that returns a Promise, so we handle that case too.
385
- if (isPromise$1(value) ||
386
- (!value &&
387
- isObservable(selector) &&
388
- !selector.state.isLoaded.get())) {
385
+ if (isPromise(value) ||
386
+ (!value && isObservable(selector) && syncState(selector).isLoaded.get() === false)) {
389
387
  if (require$$0.use) {
390
388
  require$$0.use(value);
391
389
  }
@@ -545,7 +543,7 @@ function reactiveObserver(component, bindKeys) {
545
543
  function reactiveComponents(components) {
546
544
  return new Proxy({}, {
547
545
  get(target, p) {
548
- if (!target[p]) {
546
+ if (!target[p] && components[p]) {
549
547
  target[p] = createReactiveComponent(components[p], false, true);
550
548
  }
551
549
  return target[p];
@@ -553,6 +551,7 @@ function reactiveComponents(components) {
553
551
  });
554
552
  }
555
553
 
554
+ const { findIDKey, getNode, optimized } = internal;
556
555
  const autoMemoCache = new Map();
557
556
  function For({ each, optimized: isOptimized, item, itemProps, sortValues, children, }) {
558
557
  var _a;
@@ -671,23 +670,17 @@ function configureReactive({ components, binders, }) {
671
670
  }
672
671
 
673
672
  function Show({ if: if_, ifReady, else: else_, wrap, children }) {
674
- const child = useSelector(() => {
675
- const value = computeSelector(if_ !== null && if_ !== void 0 ? if_ : ifReady);
676
- return computeSelector((ifReady !== undefined ? isObservableValueReady(value) : value)
677
- ? isFunction(children)
678
- ? () => children(value)
679
- : children
680
- : else_
681
- ? else_
682
- : null);
683
- }, { skipCheck: true });
673
+ const value = useSelector(if_ !== null && if_ !== void 0 ? if_ : ifReady);
674
+ const show = ifReady !== undefined ? isObservableValueReady(value) : value;
675
+ const child = useSelector(show ? (isFunction(children) ? () => children(value) : children) : else_ !== null && else_ !== void 0 ? else_ : null, { skipCheck: true });
684
676
  return wrap ? createElement(wrap, undefined, child) : child;
685
677
  }
686
678
 
687
679
  function Switch({ value, children, }) {
688
- var _a, _b, _c, _d, _e, _f;
680
+ var _a, _b;
689
681
  // Select from an object of cases
690
- 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);
682
+ const child = children[useSelector(value)];
683
+ return (_b = (child ? child() : (_a = children['default']) === null || _a === void 0 ? void 0 : _a.call(children))) !== null && _b !== void 0 ? _b : null;
691
684
  }
692
685
 
693
686
  function useComputed(compute, set, deps) {
@@ -701,7 +694,7 @@ function useComputed(compute, set, deps) {
701
694
  return useMemo(() => computed(() => (isFunction(ref.current.compute) ? ref.current.compute() : ref.current.compute), (set ? (value) => ref.current.set(value) : undefined)), deps || []);
702
695
  }
703
696
 
704
- const useEffectOnce = (effect) => {
697
+ const useEffectOnce = (effect, deps) => {
705
698
  if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
706
699
  const refDispose = useRef({ num: 0 });
707
700
  useEffect(() => {
@@ -735,50 +728,44 @@ const useEffectOnce = (effect) => {
735
728
  else {
736
729
  return dispose;
737
730
  }
738
- }, []);
731
+ }, deps);
739
732
  }
740
733
  else {
741
- useEffect(effect, []);
734
+ useEffect(effect, deps);
742
735
  }
743
736
  };
744
737
 
745
- /**
746
- * A React hook that creates a new observable
747
- *
748
- * @param initialValue The initial value of the observable or a function that returns the initial value
749
- *
750
- * @see https://www.legendapp.com/dev/state/react/#useObservable
751
- */
738
+ function useMount(fn) {
739
+ return useEffectOnce(() => {
740
+ const ret = fn();
741
+ // Allow the function to be async but if so ignore its return value
742
+ if (!isPromise(ret)) {
743
+ return ret;
744
+ }
745
+ }, []);
746
+ }
747
+ // TODOV4 Deprecate
748
+ const useMountOnce = useMount;
749
+
752
750
  function useObservable(initialValue) {
753
- // Create the observable from the default value
754
- return useMemo(() => observable((isFunction(initialValue) ? initialValue() : initialValue)), []);
751
+ const ref = useRef();
752
+ if (!ref.current) {
753
+ // Create the observable from the default value
754
+ ref.current = observable(initialValue);
755
+ }
756
+ return ref.current;
755
757
  }
756
758
 
757
759
  function useIsMounted() {
758
760
  const obs = useObservable(false);
759
761
  const { set } = obs;
760
- useEffectOnce(() => {
762
+ useMountOnce(() => {
761
763
  set(true);
762
764
  return () => set(false);
763
765
  });
764
766
  return obs;
765
767
  }
766
768
 
767
- function isPromise(obj) {
768
- return obj instanceof Promise;
769
- }
770
-
771
- function useMount(fn) {
772
- return useEffect(() => {
773
- const ret = fn();
774
- // Allow the function to be async but if so ignore its return value
775
- if (!isPromise(ret)) {
776
- return ret;
777
- }
778
- }, []);
779
- }
780
- const useMountOnce = useEffectOnce;
781
-
782
769
  function useObservableReducer(reducer, initializerArg, initializer) {
783
770
  const obs = useObservable(() => initializerArg !== undefined && isFunction(initializerArg) ? initializer(initializerArg) : initializerArg);
784
771
  const dispatch = (action) => {
@@ -788,11 +775,10 @@ function useObservableReducer(reducer, initializerArg, initializer) {
788
775
  }
789
776
 
790
777
  function useUnmount(fn) {
791
- return useEffect(() => fn, []);
792
- }
793
- function useUnmountOnce(fn) {
794
- return useEffectOnce(() => fn);
778
+ return useMount(() => fn);
795
779
  }
780
+ // TODOV4 Deprecate
781
+ const useUnmountOnce = useUnmount;
796
782
 
797
783
  function useObserve(selector, reactionOrOptions, options) {
798
784
  let reaction;
@@ -825,7 +811,7 @@ function useObserveEffect(selector, reactionOrOptions, options) {
825
811
  }
826
812
  const ref = useRef({ selector });
827
813
  ref.current = { selector, reaction };
828
- useEffectOnce(() => observe(((e) => {
814
+ useMountOnce(() => observe(((e) => {
829
815
  const { selector } = ref.current;
830
816
  return isFunction(selector) ? selector(e) : selector;
831
817
  }), (e) => { var _a, _b; return (_b = (_a = ref.current).reaction) === null || _b === void 0 ? void 0 : _b.call(_a, e); }, options));
package/react.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.mjs","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","useSyncExternalStore","isPromise","React"],"mappings":"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"}
1
+ {"version":3,"file":"react.mjs","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","useSyncExternalStore","React"],"mappings":"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"}