@legendapp/state 2.2.0-next.74 → 2.2.0-next.76

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 (60) hide show
  1. package/helpers/time.d.ts +2 -2
  2. package/index.d.ts +1 -1
  3. package/index.js +82 -31
  4. package/index.js.map +1 -1
  5. package/index.mjs +81 -32
  6. package/index.mjs.map +1 -1
  7. package/package.json +16 -1
  8. package/persist.js +122 -129
  9. package/persist.js.map +1 -1
  10. package/persist.mjs +122 -129
  11. package/persist.mjs.map +1 -1
  12. package/react.js +5 -5
  13. package/react.js.map +1 -1
  14. package/react.mjs +6 -6
  15. package/react.mjs.map +1 -1
  16. package/src/ObservableObject.ts +34 -15
  17. package/src/batching.ts +9 -3
  18. package/src/computed.ts +4 -2
  19. package/src/globals.ts +17 -7
  20. package/src/helpers.ts +3 -3
  21. package/src/history/undoRedo.ts +111 -0
  22. package/src/is.ts +7 -0
  23. package/src/observableInterfaces.ts +6 -5
  24. package/src/observableTypes.ts +5 -0
  25. package/src/observe.ts +1 -1
  26. package/src/react/For.tsx +6 -6
  27. package/src/sync/activateSyncedNode.ts +9 -25
  28. package/src/sync/syncHelpers.ts +53 -12
  29. package/src/sync/syncObservable.ts +117 -101
  30. package/src/sync-plugins/crud.ts +384 -0
  31. package/src/sync-plugins/fetch.ts +57 -27
  32. package/src/sync-plugins/keel.ts +447 -0
  33. package/src/sync-plugins/supabase.ts +225 -0
  34. package/src/syncTypes.ts +12 -6
  35. package/src/when.ts +6 -1
  36. package/sync-plugins/crud.d.ts +40 -0
  37. package/sync-plugins/crud.js +275 -0
  38. package/sync-plugins/crud.js.map +1 -0
  39. package/sync-plugins/crud.mjs +271 -0
  40. package/sync-plugins/crud.mjs.map +1 -0
  41. package/sync-plugins/fetch.d.ts +8 -7
  42. package/sync-plugins/fetch.js +34 -12
  43. package/sync-plugins/fetch.js.map +1 -1
  44. package/sync-plugins/fetch.mjs +35 -13
  45. package/sync-plugins/fetch.mjs.map +1 -1
  46. package/sync-plugins/keel.d.ts +91 -0
  47. package/sync-plugins/keel.js +278 -0
  48. package/sync-plugins/keel.js.map +1 -0
  49. package/sync-plugins/keel.mjs +274 -0
  50. package/sync-plugins/keel.mjs.map +1 -0
  51. package/sync-plugins/supabase.d.ts +32 -0
  52. package/sync-plugins/supabase.js +134 -0
  53. package/sync-plugins/supabase.js.map +1 -0
  54. package/sync-plugins/supabase.mjs +131 -0
  55. package/sync-plugins/supabase.mjs.map +1 -0
  56. package/sync.d.ts +1 -0
  57. package/sync.js +157 -127
  58. package/sync.js.map +1 -1
  59. package/sync.mjs +156 -129
  60. package/sync.mjs.map +1 -1
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/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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"}
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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"}
@@ -24,6 +24,7 @@ import {
24
24
  isChildNodeValue,
25
25
  isEmpty,
26
26
  isFunction,
27
+ isMap,
27
28
  isNullOrUndefined,
28
29
  isObject,
29
30
  isPrimitive,
@@ -157,10 +158,10 @@ function updateNodes(parent: NodeValue, obj: Record<any, any> | Array<any> | und
157
158
  let prevChildrenById: Map<string, ChildNodeValue> | undefined;
158
159
  let moved: [string, ChildNodeValue][] | undefined;
159
160
 
160
- const isMap = obj instanceof Map;
161
- const isPrevMap = prevValue instanceof Map;
161
+ const isCurMap = isMap(obj);
162
+ const isPrevMap = isMap(prevValue);
162
163
 
163
- const keys = getKeys(obj, isArr, isMap);
164
+ const keys = getKeys(obj, isArr, isCurMap);
164
165
  const keysPrev = getKeys(prevValue, isArr, isPrevMap);
165
166
  const length = (keys || obj)?.length || 0;
166
167
  const lengthPrev = (keysPrev || prevValue)?.length || 0;
@@ -245,7 +246,7 @@ function updateNodes(parent: NodeValue, obj: Record<any, any> | Array<any> | und
245
246
 
246
247
  for (let i = 0; i < length; i++) {
247
248
  const key = isArr ? i + '' : keys[i];
248
- let value = isMap ? obj.get(key) : (obj as any)[key];
249
+ let value = isCurMap ? obj.get(key) : (obj as any)[key];
249
250
  const prev = isPrevMap ? prevValue?.get(key) : prevValue?.[key];
250
251
 
251
252
  let isDiff = !equals(value, prev);
@@ -263,7 +264,7 @@ function updateNodes(parent: NodeValue, obj: Record<any, any> | Array<any> | und
263
264
  const valueNode = getNode(value);
264
265
  if (existingChild?.linkedToNode === valueNode) {
265
266
  const targetValue = getNodeValue(valueNode);
266
- isMap ? obj.set(key, targetValue) : ((obj as any)[key] = targetValue);
267
+ isCurMap ? obj.set(key, targetValue) : ((obj as any)[key] = targetValue);
267
268
  continue;
268
269
  }
269
270
  const obs = value;
@@ -283,7 +284,7 @@ function updateNodes(parent: NodeValue, obj: Record<any, any> | Array<any> | und
283
284
  const prevChild = id !== undefined ? prevChildrenById?.get(id) : undefined;
284
285
  if (!prevChild) {
285
286
  // This id was not in the array before so it does not need to notify children
286
- isDiff = false;
287
+ // It does need to notify itself so isDiff should remain.
287
288
  hasADiff = true;
288
289
  } else if (prevChild !== undefined && prevChild.key !== key) {
289
290
  const valuePrevChild = prevValue[prevChild.key];
@@ -417,7 +418,7 @@ const proxyHandler: ProxyHandler<any> = {
417
418
  return proxyHandler.get!(targetNode, p, receiver);
418
419
  }
419
420
 
420
- if (value instanceof Map || value instanceof WeakMap || value instanceof Set || value instanceof WeakSet) {
421
+ if (isMap(value) || value instanceof WeakMap || value instanceof Set || value instanceof WeakSet) {
421
422
  const ret = handlerMapSet(node, p, value);
422
423
  if (ret !== undefined) {
423
424
  return ret;
@@ -674,12 +675,20 @@ function assign(node: NodeValue, value: any) {
674
675
  node.root._ = {};
675
676
  }
676
677
 
677
- // Set inAssign to allow setting on safe observables
678
- node.isAssigning = (node.isAssigning || 0) + 1;
679
- try {
680
- Object.assign(proxy, value);
681
- } finally {
682
- node.isAssigning--;
678
+ if (isMap(value)) {
679
+ const currentValue = getNodeValue(node);
680
+ if (isMap(currentValue)) {
681
+ value.forEach((value, key) => currentValue.set(key, value));
682
+ }
683
+ } else {
684
+ // Set inAssign to allow setting on safe observables
685
+ node.isAssigning = (node.isAssigning || 0) + 1;
686
+ try {
687
+ // TODO: If current value is a Map how to assign into the Map?
688
+ Object.assign(proxy, value);
689
+ } finally {
690
+ node.isAssigning--;
691
+ }
683
692
  }
684
693
 
685
694
  endBatch();
@@ -722,6 +731,8 @@ function handlerMapSet(node: NodeValue, p: any, value: Map<any, any> | WeakMap<a
722
731
  updateNodesAndNotify(getChildNode(node, a), b, prev);
723
732
  }
724
733
  return ret;
734
+ } else if (l === 1 && isMap(value)) {
735
+ set(node, a);
725
736
  }
726
737
  } else if (p === 'delete') {
727
738
  if (l > 0) {
@@ -882,9 +893,10 @@ export function peek(node: NodeValue) {
882
893
 
883
894
  export function peekInternal(node: NodeValue, activateRecursive?: boolean) {
884
895
  if (node.dirtyFn) {
885
- node.dirtyFn();
886
- globalState.dirtyNodes.delete(node);
896
+ const dirtyFn = node.dirtyFn;
887
897
  node.dirtyFn = undefined;
898
+ globalState.dirtyNodes.delete(node);
899
+ dirtyFn();
888
900
  }
889
901
  let value = getNodeValue(node);
890
902
  value = checkLazy(node, value, !!activateRecursive);
@@ -942,6 +954,7 @@ function activateNodeFunction(node: NodeValue, lazyFn: Function) {
942
954
  let update: UpdateFn;
943
955
  let wasPromise: boolean | undefined;
944
956
  let ignoreThisUpdate: boolean | undefined;
957
+ let isFirst = true;
945
958
  const activateFn = lazyFn;
946
959
  let activatedValue;
947
960
  let disposes: (() => void)[] = [];
@@ -953,6 +966,12 @@ function activateNodeFunction(node: NodeValue, lazyFn: Function) {
953
966
 
954
967
  node.activatedObserveDispose = observe(
955
968
  () => {
969
+ // Set it to undefined so that the activation function gets undefined
970
+ // if it peeks itself
971
+ if (isFirst) {
972
+ isFirst = false;
973
+ setNodeValue(node, undefined);
974
+ }
956
975
  // Run the function at this node
957
976
  let value = activateFn();
958
977
 
package/src/batching.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { isMap } from './is';
1
2
  import { clone, getChildNode, getNodeValue, getPathType, globalState, optimized } from './globals';
2
3
  import type { Change, ListenerFn, ListenerParams, NodeValue, TypeAtPath } from './observableInterfaces';
3
4
 
@@ -47,6 +48,8 @@ export function isArraySubset<T>(mainArr: T[], subsetArr: T[]) {
47
48
  function createPreviousHandlerInner(value: any, changes: Change[]) {
48
49
  try {
49
50
  // Clones the current state and inject the previous data at the changed path
51
+ // TODO: Is this behavior similar to setAtPath or mergeIntoObservable so one
52
+ // of those could be used here?
50
53
  let cloned = value ? clone(value) : {};
51
54
  for (let i = 0; i < changes.length; i++) {
52
55
  const { path, prevAtPath } = changes[i];
@@ -57,7 +60,7 @@ function createPreviousHandlerInner(value: any, changes: Change[]) {
57
60
  o = o[path[i]];
58
61
  }
59
62
  const key = path[i];
60
- if (o instanceof Map) {
63
+ if (isMap(o)) {
61
64
  o.set(key, prevAtPath);
62
65
  } else {
63
66
  o[key] = prevAtPath;
@@ -283,8 +286,11 @@ export function runBatch() {
283
286
  const dirtyNodes = Array.from(globalState.dirtyNodes);
284
287
  globalState.dirtyNodes.clear();
285
288
  dirtyNodes.forEach((node) => {
286
- node.dirtyFn?.();
287
- node.dirtyFn = undefined;
289
+ const dirtyFn = node.dirtyFn;
290
+ if (dirtyFn) {
291
+ node.dirtyFn = undefined;
292
+ dirtyFn();
293
+ }
288
294
  });
289
295
  // Save batch locally and reset _batchMap first because a new batch could begin while looping over callbacks.
290
296
  // This can happen with computeds for example.
package/src/computed.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { symbolLinked } from './globals';
1
+ import { linked } from './linked';
2
2
  import { observable } from './observable';
3
3
  import { LinkedOptions } from './observableInterfaces';
4
4
  import { Observable, ObservableParam, RecursiveValueOrFunction } from './observableTypes';
@@ -12,5 +12,7 @@ export function computed<T, T2 = T>(
12
12
  get: (() => T | Promise<T>) | ObservableParam<T> | LinkedOptions<T>,
13
13
  set?: (value: T2) => void,
14
14
  ): Observable<T> {
15
- return observable(set ? () => ({ [symbolLinked]: { get, set: ({ value }: any) => set(value) } }) : get) as any;
15
+ return observable(
16
+ set ? linked({ get: get as LinkedOptions['get'], set: ({ value }: any) => set(value) }) : get,
17
+ ) as any;
16
18
  }
package/src/globals.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { isArray, isChildNodeValue, isDate, isFunction, isNullOrUndefined, isObject } from './is';
1
+ import { isArray, isChildNodeValue, isDate, isMap, isFunction, isNullOrUndefined, isObject } from './is';
2
2
  import type { NodeValue, ObservableEvent, TypeAtPath, UpdateFn } from './observableInterfaces';
3
3
  import type { Observable, ObservableParam } from './observableTypes';
4
4
 
@@ -21,11 +21,11 @@ export const globalState = {
21
21
  };
22
22
 
23
23
  export function getPathType(value: any): TypeAtPath {
24
- return isArray(value) ? 'array' : value instanceof Map ? 'map' : value instanceof Set ? 'set' : 'object';
24
+ return isArray(value) ? 'array' : isMap(value) ? 'map' : value instanceof Set ? 'set' : 'object';
25
25
  }
26
26
 
27
27
  function replacer(key: string, value: any) {
28
- if (value instanceof Map) {
28
+ if (isMap(value)) {
29
29
  return {
30
30
  __LSType: 'Map',
31
31
  value: Array.from(value.entries()), // or with spread: value: [...value]
@@ -67,7 +67,7 @@ export function safeStringify(value: any) {
67
67
  export function safeParse(value: any) {
68
68
  return JSON.parse(value, reviver);
69
69
  }
70
- export function clone(value: any) {
70
+ export function clone<T>(value: T) {
71
71
  return safeParse(safeStringify(value));
72
72
  }
73
73
 
@@ -110,11 +110,21 @@ export function setNodeValue(node: NodeValue, newValue: any) {
110
110
  try {
111
111
  parentNode.isSetting = (parentNode.isSetting || 0) + 1;
112
112
 
113
+ const useMapFn = isMap(parentValue);
113
114
  // Save the new value
114
115
  if (isDelete) {
115
- delete parentValue[key];
116
+ if (useMapFn) {
117
+ parentValue.delete(key);
118
+ } else {
119
+ delete parentValue[key];
120
+ }
116
121
  } else {
117
- parentValue[key] = newValue;
122
+ const useMapFn = isMap(parentValue);
123
+ if (useMapFn) {
124
+ parentValue.set(key, newValue);
125
+ } else {
126
+ parentValue[key] = newValue;
127
+ }
118
128
  }
119
129
  } finally {
120
130
  parentNode.isSetting!--;
@@ -135,7 +145,7 @@ export function getNodeValue(node: NodeValue): any {
135
145
  let child = node.root._;
136
146
  for (let i = count - 1; child && i >= 0; i--) {
137
147
  const key = arrNodeKeys[i] as any;
138
- child = key !== 'size' && (child instanceof Map || child instanceof WeakMap) ? child.get(key) : child[key];
148
+ child = key !== 'size' && (isMap(child) || child instanceof WeakMap) ? child.get(key) : child[key];
139
149
  }
140
150
  return child;
141
151
  }
package/src/helpers.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { beginBatch, endBatch } from './batching';
2
2
  import { getNode, globalState, isObservable, setNodeValue, symbolDelete, symbolOpaque } from './globals';
3
- import { isArray, isEmpty, isFunction, isObject } from './is';
3
+ import { isArray, isEmpty, isFunction, isNumber, isObject } from './is';
4
4
  import type { ObserveEvent, OpaqueObject, Selector, TypeAtPath } from './observableInterfaces';
5
5
  import type { Observable, ObservableParam } from './observableTypes';
6
6
 
7
- export function computeSelector<T>(selector: Selector<T>, e?: ObserveEvent<T>, retainObservable?: boolean) {
7
+ export function computeSelector<T>(selector: Selector<T>, e?: ObserveEvent<T>, retainObservable?: boolean): T {
8
8
  let c = selector as any;
9
9
  if (!isObservable(c) && isFunction(c)) {
10
10
  c = e ? c(e) : c();
@@ -16,7 +16,7 @@ export function computeSelector<T>(selector: Selector<T>, e?: ObserveEvent<T>, r
16
16
  export function getObservableIndex(obs: ObservableParam): number {
17
17
  const node = getNode(obs);
18
18
  const n = +node.key! as number;
19
- return n - n < 1 ? +n : -1;
19
+ return isNumber(n) ? n : -1;
20
20
  }
21
21
 
22
22
  export function opaqueObject<T extends object>(value: T): OpaqueObject<T> {
@@ -0,0 +1,111 @@
1
+ import { type ObservablePrimitive, internal, observable } from '@legendapp/state';
2
+
3
+ type UndoRedoOptions = {
4
+ limit?: number;
5
+ };
6
+
7
+ /**
8
+ * Usage:
9
+ *
10
+ * Use this function to add undo/redo functionality to an observable.
11
+ *
12
+ * You can monitor how many undos or redos are available to enable/disable undo/redo
13
+ * UI elements with undo$ and redo$.
14
+ *
15
+ * If you undo and then make a change, it'll delete any redos and add the change, as expected.
16
+ *
17
+ * If you don't pass in a limit, it will keep all history. This means it can grow indefinitely.
18
+ *
19
+ * ```typescript
20
+ * const obs$ = observable({ test: 'hi', test2: 'a' });
21
+ * const { undo, redo, undos$, redos$, getHistory } = undoRedo(obs$, { limit: 40 });
22
+ * obs$.test.set('hello');
23
+ * undo();
24
+ * redo();
25
+ * // observables for # of undos/redos available
26
+ * undos$.get();
27
+ * redos$.get();
28
+ * ```
29
+ */
30
+ export function undoRedo<T>(obs$: ObservablePrimitive<T>, options?: UndoRedoOptions) {
31
+ let history = [] as T[];
32
+ let historyPointer = 0;
33
+ let restoringFromHistory = false;
34
+
35
+ const undos$ = observable(0);
36
+ const redos$ = observable(0);
37
+
38
+ function updateUndoRedo() {
39
+ undos$.set(historyPointer);
40
+ redos$.set(history.length - historyPointer - 1);
41
+ }
42
+
43
+ obs$.onChange(({ getPrevious }) => {
44
+ // Don't save history if we're restoring from history.
45
+ if (restoringFromHistory) return;
46
+
47
+ // Don't save history if this is a remote change.
48
+ // History will be saved remotely by the client making the local change.
49
+ if (internal.globalState.isLoadingRemote || internal.globalState.isLoadingLocal) return;
50
+
51
+ // if the history array is empty, grab the previous value as the initial value
52
+ if (!history.length) {
53
+ const previous = getPrevious();
54
+ if (previous) history.push(internal.clone(previous));
55
+ historyPointer = 0;
56
+ }
57
+
58
+ // We're just going to store a copy of the whole object every time it changes.
59
+ const snapshot = internal.clone(obs$.get());
60
+
61
+ if (options?.limit) {
62
+ // limit means the number of undos
63
+ history = history.slice(Math.max(0, history.length - options.limit));
64
+ } else {
65
+ history = history.slice(0, historyPointer + 1);
66
+ }
67
+
68
+ // we add another history item, which is limit + 1 -- but it's the current one
69
+ history.push(snapshot);
70
+
71
+ // We're going to keep a pointer to the current history state.
72
+ // This way, we can undo to many previous states, and redo.
73
+ historyPointer = history.length - 1;
74
+
75
+ updateUndoRedo();
76
+ });
77
+
78
+ return {
79
+ undo() {
80
+ if (historyPointer > 0) {
81
+ historyPointer--;
82
+
83
+ const snapshot = internal.clone(history[historyPointer]);
84
+ restoringFromHistory = true;
85
+ obs$.set(snapshot);
86
+ restoringFromHistory = false;
87
+ } else {
88
+ console.warn('Already at the beginning of undo history');
89
+ }
90
+
91
+ updateUndoRedo();
92
+ },
93
+ redo() {
94
+ if (historyPointer < history.length - 1) {
95
+ historyPointer++;
96
+
97
+ const snapshot = internal.clone(history[historyPointer]);
98
+ restoringFromHistory = true;
99
+ obs$.set(snapshot);
100
+ restoringFromHistory = false;
101
+ } else {
102
+ console.warn('Already at the end of undo history');
103
+ }
104
+
105
+ updateUndoRedo();
106
+ },
107
+ undos$: undos$,
108
+ redos$: redos$,
109
+ getHistory: () => history,
110
+ };
111
+ }
package/src/is.ts CHANGED
@@ -30,6 +30,13 @@ export function isBoolean(obj: unknown): obj is boolean {
30
30
  export function isPromise<T>(obj: unknown): obj is Promise<T> {
31
31
  return obj instanceof Promise;
32
32
  }
33
+ export function isMap(obj: unknown): obj is Map<any, any> {
34
+ return obj instanceof Map;
35
+ }
36
+ export function isNumber(obj: unknown): obj is number {
37
+ const n = obj as number;
38
+ return n - n < 1;
39
+ }
33
40
  export function isEmpty(obj: object): boolean {
34
41
  // Looping and returning false on the first property is faster than Object.keys(obj).length === 0
35
42
  // https://jsbench.me/qfkqv692c8
@@ -129,14 +129,15 @@ export interface LinkedOptions<T = any> {
129
129
  get?: () => Promise<T> | T;
130
130
  set?: (params: SetParams<T>) => void | Promise<any>;
131
131
  waitFor?: Selector<any>;
132
- waitForSet?:
133
- | ((params: { value: T; changes: Change[] }) => any)
134
- | Promise<any>
135
- | ObservableParam<any>
136
- | ObservableEvent;
132
+ waitForSet?: ((params: WaitForSetFnParams<T>) => any) | Promise<any> | ObservableParam<any> | ObservableEvent;
137
133
  initial?: T extends Promise<infer t> ? t : T;
138
134
  }
139
135
 
136
+ export interface WaitForSetFnParams<T = any> {
137
+ value: T;
138
+ changes: Change[];
139
+ }
140
+
140
141
  export interface UpdateFnParams {
141
142
  value: unknown;
142
143
  mode?: GetMode;
@@ -41,11 +41,16 @@ interface ObservableObjectFns<T> {
41
41
 
42
42
  interface ObservableObjectFunctions<T = Record<string, any>> extends ObservablePrimitive<T>, ObservableObjectFns<T> {}
43
43
 
44
+ type MapKey<T extends Map<any, any> | WeakMap<any, any>> = Parameters<T['has']>[0];
45
+ type MapValue<T extends Map<any, any> | WeakMap<any, any>> = Parameters<T['get']>[0];
44
46
  type ObservableMap<T extends Map<any, any> | WeakMap<any, any>> = Omit<T, 'get' | 'size'> &
45
47
  Omit<ObservablePrimitive<T>, 'get' | 'size'> & {
46
48
  get(key: Parameters<T['get']>[0]): Observable<Parameters<T['set']>[1]>;
47
49
  get(): T;
48
50
  size: ImmutableObservableBase<number>;
51
+ assign(
52
+ value: Record<MapKey<T>, MapValue<T>> | Map<MapKey<T>, MapValue<T>> | WeakMap<MapKey<T>, MapValue<T>>,
53
+ ): Observable<T>;
49
54
  };
50
55
 
51
56
  type ObservableSet<T extends Set<any> | WeakSet<any>> = Omit<T, 'size'> &
package/src/observe.ts CHANGED
@@ -45,7 +45,7 @@ export function observe<T>(
45
45
  // Dispose listeners from previous run
46
46
  dispose?.();
47
47
 
48
- const { dispose: _dispose, value, nodes } = trackSelector(selectorOrRun, update, e, options);
48
+ const { dispose: _dispose, value, nodes } = trackSelector(selectorOrRun as Selector<T>, update, e, options);
49
49
  dispose = _dispose;
50
50
 
51
51
  e.value = value;
package/src/react/For.tsx CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Observable, ObservableObject, ObservableParam } from '@legendapp/state';
2
- import { internal, isArray, isFunction } from '@legendapp/state';
2
+ import { internal, isArray, isFunction, isMap } from '@legendapp/state';
3
3
  import { FC, ReactElement, createElement, memo, useMemo, useRef } from 'react';
4
4
  import { observer } from './reactive-observer';
5
5
  import { useSelector } from './useSelector';
@@ -92,15 +92,15 @@ export function For<T, TProps>({
92
92
  }
93
93
  } else {
94
94
  // Render the values of the object / Map
95
- const isMap = value instanceof Map;
96
- const keys = isMap ? Array.from(value.keys()) : Object.keys(value);
95
+ const asMap = isMap(value);
96
+ const keys = asMap ? Array.from(value.keys()) : Object.keys(value);
97
97
  if (sortValues) {
98
- keys.sort((A, B) => sortValues(isMap ? value.get(A)! : value[A], isMap ? value.get(B)! : value[B], A, B));
98
+ keys.sort((A, B) => sortValues(asMap ? value.get(A)! : value[A], asMap ? value.get(B)! : value[B], A, B));
99
99
  }
100
100
  for (let i = 0; i < keys.length; i++) {
101
101
  const key = keys[i];
102
- if (isMap ? value.get(key) : value[key]) {
103
- const item$ = isMap ? each!.get(key) : (each as ObservableObject<Record<string, any>>)[key];
102
+ if (asMap ? value.get(key) : value[key]) {
103
+ const item$ = asMap ? each!.get(key) : (each as ObservableObject<Record<string, any>>)[key];
104
104
  const props: ForItemProps<any> & { key: string; item: Observable<any> } = {
105
105
  key,
106
106
  id: key,