@legendapp/state 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/config/enableDirectAccess.js +6 -3
  3. package/config/enableDirectAccess.js.map +1 -1
  4. package/config/enableDirectAccess.mjs +7 -4
  5. package/config/enableDirectAccess.mjs.map +1 -1
  6. package/config/enableReactDirectRender.d.ts +2 -0
  7. package/config/enableReactDirectRender.js +78 -0
  8. package/config/enableReactDirectRender.js.map +1 -0
  9. package/config/enableReactDirectRender.mjs +75 -0
  10. package/config/enableReactDirectRender.mjs.map +1 -0
  11. package/config/enableReactTracking.d.ts +15 -0
  12. package/config/enableReactTracking.js +47 -0
  13. package/config/enableReactTracking.js.map +1 -0
  14. package/config/enableReactTracking.mjs +45 -0
  15. package/config/enableReactTracking.mjs.map +1 -0
  16. package/history.js +1 -1
  17. package/history.js.map +1 -1
  18. package/history.mjs +1 -1
  19. package/history.mjs.map +1 -1
  20. package/index.d.ts +1 -0
  21. package/index.js +66 -33
  22. package/index.js.map +1 -1
  23. package/index.mjs +65 -34
  24. package/index.mjs.map +1 -1
  25. package/package.json +11 -1
  26. package/persist-plugins/firebase.js +8 -8
  27. package/persist-plugins/firebase.js.map +1 -1
  28. package/persist-plugins/firebase.mjs +8 -8
  29. package/persist-plugins/firebase.mjs.map +1 -1
  30. package/persist-plugins/query.d.ts +1 -3
  31. package/persist-plugins/query.js +7 -17
  32. package/persist-plugins/query.js.map +1 -1
  33. package/persist-plugins/query.mjs +7 -17
  34. package/persist-plugins/query.mjs.map +1 -1
  35. package/persist.js +21 -19
  36. package/persist.js.map +1 -1
  37. package/persist.mjs +22 -20
  38. package/persist.mjs.map +1 -1
  39. package/react-hooks/useObservableNextRouter.js +6 -6
  40. package/react-hooks/useObservableNextRouter.js.map +1 -1
  41. package/react-hooks/useObservableNextRouter.mjs +6 -6
  42. package/react-hooks/useObservableNextRouter.mjs.map +1 -1
  43. package/react-hooks/usePersistedObservable.d.ts +2 -2
  44. package/react.js +57 -22
  45. package/react.js.map +1 -1
  46. package/react.mjs +58 -23
  47. package/react.mjs.map +1 -1
  48. package/src/ObservableObject.d.ts +3 -3
  49. package/src/config/enableReactDirectRender.d.ts +2 -0
  50. package/src/config/enableReactTracking.d.ts +15 -0
  51. package/src/createObservable.d.ts +2 -0
  52. package/src/globals.d.ts +2 -0
  53. package/src/helpers.d.ts +3 -3
  54. package/src/observable.d.ts +3 -3
  55. package/src/observableInterfaces.d.ts +27 -18
  56. package/src/observe.d.ts +0 -1
  57. package/src/persist/observablePersistRemoteFunctionsAdapter.d.ts +1 -1
  58. package/src/persist/persistObservable.d.ts +3 -3
  59. package/src/persist-plugins/query.d.ts +1 -3
  60. package/src/react/For.d.ts +7 -5
  61. package/src/react/useMount.d.ts +1 -2
  62. package/src/react-hooks/usePersistedObservable.d.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,35 @@
1
+ ## 2.0.0
2
+
3
+ ### Breaking
4
+ - Change: Setting a promise into an observable now creates a child prop `state` which is not in the raw data and is only accessible through the observable containing `{ isLoaded, error }`
5
+ - Change: Renamed some parameters in `persistObservable` and `configureObservablePersistence`
6
+ - Change: `afterBatch` removed and functionality merged into `batch`
7
+ - Removed: `/react-components` exports
8
+ - Removed: `enableLegendStateReact`
9
+ - Removed: `eachValues` prop from `For`
10
+ - Deprecated: `enableReactDirectRender`
11
+ - Deprecated: Reactive props ending in $ in favor of starting with $
12
+
13
+ ### Improvements
14
+ - Docs: Brand new docs site at https://legendapp.com/open-source/state with better design, navigation sidebar, search
15
+ - Feat: Remote persistence with plugins for `fetch`, TanStack-Query, and Firebase Realtime Database
16
+ - Feat: `enableReactTracking({ auto: true })` to make components automatically track `get()` calls on observables
17
+ - Feat: `useWhen` and `useWhenReady` hooks
18
+ - Feat: `computed` can be set or assigned into an observable after creation
19
+ - Perf: Observable nodes activate lazily so creating or setting large objects is much faster
20
+ - Fix: Misc bugs with mergeIntoObservable
21
+ - Fix: Reactive.FlatList $data prop was not working
22
+
23
+ See https://legendapp.com/open-source/legend-state-v2/ for more details.
24
+
25
+ ## 1.11.3
26
+
27
+ - Fix: computed was not activating if its value started as undefined
28
+
29
+ ## 1.11.2
30
+
31
+ - Fix: useSelector was always re-rendering even if the returned value didn't change
32
+
1
33
  ## 1.11.1
2
34
 
3
35
  - Removed the deprecation warning about reactive props since that might affect a lot of people and we can migrate that more slowly.
@@ -3,15 +3,18 @@
3
3
  var state = require('@legendapp/state');
4
4
 
5
5
  function enableDirectAccess() {
6
+ const { observableFns, set } = state.internal;
6
7
  state.configureLegendState({
7
8
  observableProperties: {
8
9
  $: {
9
10
  get(node) {
10
- state.updateTracking(node);
11
- return state.internal.peek(node);
11
+ // Get it from the observableFns Map because another config function
12
+ // might have overriden get
13
+ const get = observableFns.get('get');
14
+ return get(node);
12
15
  },
13
16
  set(node, value) {
14
- return state.internal.set(node, value);
17
+ return set(node, value);
15
18
  },
16
19
  },
17
20
  },
@@ -1 +1 @@
1
- {"version":3,"file":"enableDirectAccess.js","sources":["../../../../src/config/enableDirectAccess.ts"],"sourcesContent":[null],"names":["configureLegendState","updateTracking","internal"],"mappings":";;;;SAEgB,kBAAkB,GAAA;AAC9B,IAAAA,0BAAoB,CAAC;AACjB,QAAA,oBAAoB,EAAE;AAClB,YAAA,CAAC,EAAE;AACC,gBAAA,GAAG,CAAC,IAAI,EAAA;oBACJC,oBAAc,CAAC,IAAI,CAAC,CAAC;AACrB,oBAAA,OAAOC,cAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC9B;gBACD,GAAG,CAAC,IAAI,EAAE,KAAK,EAAA;oBACX,OAAOA,cAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBACpC;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
1
+ {"version":3,"file":"enableDirectAccess.js","sources":["../../../../src/config/enableDirectAccess.ts"],"sourcesContent":[null],"names":["internal","configureLegendState"],"mappings":";;;;SAEgB,kBAAkB,GAAA;AAC9B,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAGA,cAAQ,CAAC;AACxC,IAAAC,0BAAoB,CAAC;AACjB,QAAA,oBAAoB,EAAE;AAClB,YAAA,CAAC,EAAE;AACC,gBAAA,GAAG,CAAC,IAAI,EAAA;;;oBAGJ,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAA6B,CAAC;AACjE,oBAAA,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;iBACpB;gBACD,GAAG,CAAC,IAAI,EAAE,KAAK,EAAA;AACX,oBAAA,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAC3B;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
@@ -1,15 +1,18 @@
1
- import { configureLegendState, updateTracking, internal } from '@legendapp/state';
1
+ import { configureLegendState, internal } from '@legendapp/state';
2
2
 
3
3
  function enableDirectAccess() {
4
+ const { observableFns, set } = internal;
4
5
  configureLegendState({
5
6
  observableProperties: {
6
7
  $: {
7
8
  get(node) {
8
- updateTracking(node);
9
- return internal.peek(node);
9
+ // Get it from the observableFns Map because another config function
10
+ // might have overriden get
11
+ const get = observableFns.get('get');
12
+ return get(node);
10
13
  },
11
14
  set(node, value) {
12
- return internal.set(node, value);
15
+ return set(node, value);
13
16
  },
14
17
  },
15
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"enableDirectAccess.mjs","sources":["../../../../src/config/enableDirectAccess.ts"],"sourcesContent":[null],"names":[],"mappings":";;SAEgB,kBAAkB,GAAA;AAC9B,IAAA,oBAAoB,CAAC;AACjB,QAAA,oBAAoB,EAAE;AAClB,YAAA,CAAC,EAAE;AACC,gBAAA,GAAG,CAAC,IAAI,EAAA;oBACJ,cAAc,CAAC,IAAI,CAAC,CAAC;AACrB,oBAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC9B;gBACD,GAAG,CAAC,IAAI,EAAE,KAAK,EAAA;oBACX,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBACpC;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
1
+ {"version":3,"file":"enableDirectAccess.mjs","sources":["../../../../src/config/enableDirectAccess.ts"],"sourcesContent":[null],"names":[],"mappings":";;SAEgB,kBAAkB,GAAA;AAC9B,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;AACxC,IAAA,oBAAoB,CAAC;AACjB,QAAA,oBAAoB,EAAE;AAClB,YAAA,CAAC,EAAE;AACC,gBAAA,GAAG,CAAC,IAAI,EAAA;;;oBAGJ,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAA6B,CAAC;AACjE,oBAAA,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;iBACpB;gBACD,GAAG,CAAC,IAAI,EAAE,KAAK,EAAA;AACX,oBAAA,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAC3B;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,2 @@
1
+ export declare const hasSymbol: false | ((key: string) => symbol);
2
+ export declare function enableReactDirectRender(): void;
@@ -0,0 +1,78 @@
1
+ 'use strict';
2
+
3
+ var state = require('@legendapp/state');
4
+ var react$1 = require('@legendapp/state/react');
5
+ var react = require('react');
6
+
7
+ // V3TODO: Remove this file
8
+ let isEnabled = false;
9
+ function getNodePath(node) {
10
+ const arr = [];
11
+ let n = node;
12
+ while ((n === null || n === void 0 ? void 0 : n.key) !== undefined) {
13
+ arr.splice(0, 0, n.key);
14
+ n = n.parent;
15
+ }
16
+ return arr.join('.');
17
+ }
18
+ // Extracting the forwardRef inspired by https://github.com/mobxjs/mobx/blob/main/packages/mobx-react-lite/src/observer.ts
19
+ const hasSymbol = typeof Symbol === 'function' && Symbol.for;
20
+ function enableReactDirectRender() {
21
+ if (process.env.NODE_ENV === 'development') {
22
+ console.warn('[legend-state] enableReactDirectRender is deprecated and will be removed in version 3.0. Please convert it from {value} to <Memo>{value}</Memo>. See https://legendapp.com/open-source/state/migrating for more details.');
23
+ }
24
+ if (!isEnabled) {
25
+ isEnabled = true;
26
+ // Rendering observables directly inspired by Preact Signals: https://github.com/preactjs/signals/blob/main/packages/react/src/index.ts
27
+ // Add the extra primitive props so that observables can render directly
28
+ // Memoized component to wrap the observable value
29
+ const Text = react.memo(function Text({ data }) {
30
+ if (process.env.NODE_ENV === 'development') {
31
+ if (state.isObservable(data)) {
32
+ console.warn(`[legend-state] enableReactDirectRender is deprecated and will be removed in version 3.0. Please convert rendering of observable with path ${getNodePath(state.getNode(data))} to <Memo>{value}</Memo>. See https://legendapp.com/open-source/state/migrating for more details.`);
33
+ }
34
+ }
35
+ return react$1.useSelector(data);
36
+ });
37
+ const ReactTypeofSymbol = hasSymbol ? Symbol.for('react.element') : react.createElement('a').$$typeof;
38
+ const s = state.extraPrimitiveProps;
39
+ const proto = {};
40
+ // Set up activators to activate this node as being used in React
41
+ state.extraPrimitiveActivators.set('$$typeof', true);
42
+ state.extraPrimitiveActivators.set(Symbol.toPrimitive, true);
43
+ // eslint-disable-next-line no-inner-declarations
44
+ function set(key, value) {
45
+ s.set(key, value);
46
+ proto[key] = { configurable: true, value };
47
+ }
48
+ set('$$typeof', ReactTypeofSymbol);
49
+ set('type', Text);
50
+ set('_store', { validated: true });
51
+ set('key', null);
52
+ set('ref', null);
53
+ set('alternate', null);
54
+ set('_owner', null);
55
+ set('_source', null);
56
+ // Set extra props for the proxyHandler to return on primitives
57
+ s.set(Symbol.toPrimitive, (_, value) => value);
58
+ s.set('props', (obs) => ({ data: obs }));
59
+ // Set extra props for ObservablePrimitive to return on primitives
60
+ proto[Symbol.toPrimitive] = {
61
+ configurable: true,
62
+ get() {
63
+ return this.peek();
64
+ },
65
+ };
66
+ proto.props = {
67
+ configurable: true,
68
+ get() {
69
+ return { data: this };
70
+ },
71
+ };
72
+ Object.defineProperties(state.ObservablePrimitiveClass.prototype, proto);
73
+ }
74
+ }
75
+
76
+ exports.enableReactDirectRender = enableReactDirectRender;
77
+ exports.hasSymbol = hasSymbol;
78
+ //# sourceMappingURL=enableReactDirectRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableReactDirectRender.js","sources":["../../../../src/config/enableReactDirectRender.ts"],"sourcesContent":[null],"names":["memo","isObservable","getNode","useSelector","createElement","extraPrimitiveProps","extraPrimitiveActivators","ObservablePrimitiveClass"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { isObservable, getNode, extraPrimitiveActivators, ObservablePrimitiveClass, extraPrimitiveProps } from '@legendapp/state';
2
+ import { useSelector } from '@legendapp/state/react';
3
+ import { memo, createElement } from 'react';
4
+
5
+ // V3TODO: Remove this file
6
+ let isEnabled = false;
7
+ function getNodePath(node) {
8
+ const arr = [];
9
+ let n = node;
10
+ while ((n === null || n === void 0 ? void 0 : n.key) !== undefined) {
11
+ arr.splice(0, 0, n.key);
12
+ n = n.parent;
13
+ }
14
+ return arr.join('.');
15
+ }
16
+ // Extracting the forwardRef inspired by https://github.com/mobxjs/mobx/blob/main/packages/mobx-react-lite/src/observer.ts
17
+ const hasSymbol = typeof Symbol === 'function' && Symbol.for;
18
+ function enableReactDirectRender() {
19
+ if (process.env.NODE_ENV === 'development') {
20
+ console.warn('[legend-state] enableReactDirectRender is deprecated and will be removed in version 3.0. Please convert it from {value} to <Memo>{value}</Memo>. See https://legendapp.com/open-source/state/migrating for more details.');
21
+ }
22
+ if (!isEnabled) {
23
+ isEnabled = true;
24
+ // Rendering observables directly inspired by Preact Signals: https://github.com/preactjs/signals/blob/main/packages/react/src/index.ts
25
+ // Add the extra primitive props so that observables can render directly
26
+ // Memoized component to wrap the observable value
27
+ const Text = memo(function Text({ data }) {
28
+ if (process.env.NODE_ENV === 'development') {
29
+ if (isObservable(data)) {
30
+ console.warn(`[legend-state] enableReactDirectRender is deprecated and will be removed in version 3.0. Please convert rendering of observable with path ${getNodePath(getNode(data))} to <Memo>{value}</Memo>. See https://legendapp.com/open-source/state/migrating for more details.`);
31
+ }
32
+ }
33
+ return useSelector(data);
34
+ });
35
+ const ReactTypeofSymbol = hasSymbol ? Symbol.for('react.element') : createElement('a').$$typeof;
36
+ const s = extraPrimitiveProps;
37
+ const proto = {};
38
+ // Set up activators to activate this node as being used in React
39
+ extraPrimitiveActivators.set('$$typeof', true);
40
+ extraPrimitiveActivators.set(Symbol.toPrimitive, true);
41
+ // eslint-disable-next-line no-inner-declarations
42
+ function set(key, value) {
43
+ s.set(key, value);
44
+ proto[key] = { configurable: true, value };
45
+ }
46
+ set('$$typeof', ReactTypeofSymbol);
47
+ set('type', Text);
48
+ set('_store', { validated: true });
49
+ set('key', null);
50
+ set('ref', null);
51
+ set('alternate', null);
52
+ set('_owner', null);
53
+ set('_source', null);
54
+ // Set extra props for the proxyHandler to return on primitives
55
+ s.set(Symbol.toPrimitive, (_, value) => value);
56
+ s.set('props', (obs) => ({ data: obs }));
57
+ // Set extra props for ObservablePrimitive to return on primitives
58
+ proto[Symbol.toPrimitive] = {
59
+ configurable: true,
60
+ get() {
61
+ return this.peek();
62
+ },
63
+ };
64
+ proto.props = {
65
+ configurable: true,
66
+ get() {
67
+ return { data: this };
68
+ },
69
+ };
70
+ Object.defineProperties(ObservablePrimitiveClass.prototype, proto);
71
+ }
72
+ }
73
+
74
+ export { enableReactDirectRender, hasSymbol };
75
+ //# sourceMappingURL=enableReactDirectRender.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableReactDirectRender.mjs","sources":["../../../../src/config/enableReactDirectRender.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type TrackingType } from '@legendapp/state';
2
+ interface ReactTrackingOptions {
3
+ auto?: boolean;
4
+ warnUnobserved?: boolean;
5
+ }
6
+ export declare function enableReactTracking({ auto, warnUnobserved }: ReactTrackingOptions): void;
7
+ import type { GetOptions } from '@legendapp/state';
8
+ declare module '@legendapp/state' {
9
+ interface ObservableBaseFns<T> {
10
+ get(options?: TrackingType | (GetOptions & {
11
+ suspense?: boolean;
12
+ })): T;
13
+ }
14
+ }
15
+ export {};
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var state = require('@legendapp/state');
4
+ var react$1 = require('@legendapp/state/react');
5
+ var react = require('react');
6
+
7
+ const ReactRenderContext = react.createContext(0);
8
+ function needsSelector() {
9
+ // If we're already tracking then we definitely don't need useSelector
10
+ if (!state.tracking.current) {
11
+ try {
12
+ // If there's no dispatcher we're definitely not in React
13
+ // This is an optimization to not need to run useContext. If in a future React version
14
+ // this works differently we can change it or just remove it.
15
+ const dispatcher = react.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher.current;
16
+ if (dispatcher) {
17
+ // If there's a dispatcher then we may be inside of a hook.
18
+ // Attempt a useContext hook, which will throw an error if outside of render.
19
+ react.useContext(ReactRenderContext);
20
+ return true;
21
+ }
22
+ }
23
+ catch (_a) { } // eslint-disable-line no-empty
24
+ }
25
+ return false;
26
+ }
27
+ function enableReactTracking({ auto, warnUnobserved }) {
28
+ const { get } = state.internal;
29
+ state.configureLegendState({
30
+ observableFunctions: {
31
+ get: (node, options) => {
32
+ if (needsSelector()) {
33
+ if (auto) {
34
+ return react$1.useSelector(() => get(node, options), state.isObject(options) ? options : undefined);
35
+ }
36
+ else if (process.env.NODE_ENV === 'development' && warnUnobserved) {
37
+ console.warn('[legend-state] Detected a `get()` call in an unobserved component. You may want to wrap it in observer: https://legendapp.com/open-source/state/react-api/#observer-hoc');
38
+ }
39
+ }
40
+ return get(node, options);
41
+ },
42
+ },
43
+ });
44
+ }
45
+
46
+ exports.enableReactTracking = enableReactTracking;
47
+ //# sourceMappingURL=enableReactTracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableReactTracking.js","sources":["../../../../src/config/enableReactTracking.ts"],"sourcesContent":[null],"names":["createContext","tracking","ReactInternals","useContext","internal","configureLegendState","useSelector","isObject"],"mappings":";;;;;;AAaA,MAAM,kBAAkB,GAAGA,mBAAa,CAAC,CAAC,CAAC,CAAC;AAE5C,SAAS,aAAa,GAAA;;AAElB,IAAA,IAAI,CAACC,cAAQ,CAAC,OAAO,EAAE;QACnB,IAAI;;;;AAIA,YAAA,MAAM,UAAU,GAAGC,wDAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC;AACjE,YAAA,IAAI,UAAU,EAAE;;;gBAGZC,gBAAU,CAAC,kBAAkB,CAAC,CAAC;AAC/B,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;AACJ,SAAA;QAAC,OAAM,EAAA,EAAA,GAAE;AACb,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;SAOe,mBAAmB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAwB,EAAA;AAC9E,IAAA,MAAM,EAAE,GAAG,EAAE,GAAGC,cAAQ,CAAC;AAEzB,IAAAC,0BAAoB,CAAC;AACjB,QAAA,mBAAmB,EAAE;AACjB,YAAA,GAAG,EAAE,CAAC,IAAe,EAAE,OAA0D,KAAI;gBACjF,IAAI,aAAa,EAAE,EAAE;AACjB,oBAAA,IAAI,IAAI,EAAE;wBACN,OAAOC,mBAAW,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAEC,cAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AACzF,qBAAA;yBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,cAAc,EAAE;AACjE,wBAAA,OAAO,CAAC,IAAI,CACR,yKAAyK,CAC5K,CAAC;AACL,qBAAA;AACJ,iBAAA;AACD,gBAAA,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aAC7B;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,45 @@
1
+ import { configureLegendState, isObject, tracking, internal } from '@legendapp/state';
2
+ import { useSelector } from '@legendapp/state/react';
3
+ import { createContext, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, useContext } from 'react';
4
+
5
+ const ReactRenderContext = createContext(0);
6
+ function needsSelector() {
7
+ // If we're already tracking then we definitely don't need useSelector
8
+ if (!tracking.current) {
9
+ try {
10
+ // If there's no dispatcher we're definitely not in React
11
+ // This is an optimization to not need to run useContext. If in a future React version
12
+ // this works differently we can change it or just remove it.
13
+ const dispatcher = __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher.current;
14
+ if (dispatcher) {
15
+ // If there's a dispatcher then we may be inside of a hook.
16
+ // Attempt a useContext hook, which will throw an error if outside of render.
17
+ useContext(ReactRenderContext);
18
+ return true;
19
+ }
20
+ }
21
+ catch (_a) { } // eslint-disable-line no-empty
22
+ }
23
+ return false;
24
+ }
25
+ function enableReactTracking({ auto, warnUnobserved }) {
26
+ const { get } = internal;
27
+ configureLegendState({
28
+ observableFunctions: {
29
+ get: (node, options) => {
30
+ if (needsSelector()) {
31
+ if (auto) {
32
+ return useSelector(() => get(node, options), isObject(options) ? options : undefined);
33
+ }
34
+ else if (process.env.NODE_ENV === 'development' && warnUnobserved) {
35
+ console.warn('[legend-state] Detected a `get()` call in an unobserved component. You may want to wrap it in observer: https://legendapp.com/open-source/state/react-api/#observer-hoc');
36
+ }
37
+ }
38
+ return get(node, options);
39
+ },
40
+ },
41
+ });
42
+ }
43
+
44
+ export { enableReactTracking };
45
+ //# sourceMappingURL=enableReactTracking.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableReactTracking.mjs","sources":["../../../../src/config/enableReactTracking.ts"],"sourcesContent":[null],"names":["ReactInternals"],"mappings":";;;;AAaA,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAE5C,SAAS,aAAa,GAAA;;AAElB,IAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;QACnB,IAAI;;;;AAIA,YAAA,MAAM,UAAU,GAAGA,kDAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC;AACjE,YAAA,IAAI,UAAU,EAAE;;;gBAGZ,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAC/B,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;AACJ,SAAA;QAAC,OAAM,EAAA,EAAA,GAAE;AACb,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;SAOe,mBAAmB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAwB,EAAA;AAC9E,IAAA,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;AAEzB,IAAA,oBAAoB,CAAC;AACjB,QAAA,mBAAmB,EAAE;AACjB,YAAA,GAAG,EAAE,CAAC,IAAe,EAAE,OAA0D,KAAI;gBACjF,IAAI,aAAa,EAAE,EAAE;AACjB,oBAAA,IAAI,IAAI,EAAE;wBACN,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AACzF,qBAAA;yBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,cAAc,EAAE;AACjE,wBAAA,OAAO,CAAC,IAAI,CACR,yKAAyK,CAC5K,CAAC;AACL,qBAAA;AACJ,iBAAA;AACD,gBAAA,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aAC7B;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
package/history.js CHANGED
@@ -12,7 +12,7 @@ function trackHistory(obs, targetObservable) {
12
12
  // Save to history observable by date, with the previous value
13
13
  for (let i = 0; i < changes.length; i++) {
14
14
  const { path, prevAtPath, pathTypes } = changes[i];
15
- const obj = state.constructObjectWithPath(path, prevAtPath, pathTypes);
15
+ const obj = state.constructObjectWithPath(path, pathTypes, prevAtPath);
16
16
  state.mergeIntoObservable(history[time], obj);
17
17
  }
18
18
  }
package/history.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sources":["../../src/history/trackHistory.ts"],"sourcesContent":[null],"names":["observable","internal","constructObjectWithPath","mergeIntoObservable"],"mappings":";;;;AAYgB,SAAA,YAAY,CACxB,GAA0B,EAC1B,gBAA6E,EAAA;IAE7E,MAAM,OAAO,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAIA,gBAAU,EAAyC,CAAC;IAExF,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;;AAGzB,QAAA,IAAI,CAACC,cAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAACA,cAAQ,CAAC,WAAW,CAAC,cAAc,EAAE;YAC/E,MAAM,IAAI,GAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAGtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,GAAG,GAAGC,6BAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACjEC,yBAAmB,CAAE,OAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACnB;;;;"}
1
+ {"version":3,"file":"history.js","sources":["../../src/history/trackHistory.ts"],"sourcesContent":[null],"names":["observable","internal","constructObjectWithPath","mergeIntoObservable"],"mappings":";;;;AAYgB,SAAA,YAAY,CACxB,GAA0B,EAC1B,gBAA6E,EAAA;IAE7E,MAAM,OAAO,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAIA,gBAAU,EAAyC,CAAC;IAExF,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;;AAGzB,QAAA,IAAI,CAACC,cAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAACA,cAAQ,CAAC,WAAW,CAAC,cAAc,EAAE;YAC/E,MAAM,IAAI,GAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAGtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,GAAG,GAAGC,6BAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBACjEC,yBAAmB,CAAE,OAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACnB;;;;"}
package/history.mjs CHANGED
@@ -10,7 +10,7 @@ function trackHistory(obs, targetObservable) {
10
10
  // Save to history observable by date, with the previous value
11
11
  for (let i = 0; i < changes.length; i++) {
12
12
  const { path, prevAtPath, pathTypes } = changes[i];
13
- const obj = constructObjectWithPath(path, prevAtPath, pathTypes);
13
+ const obj = constructObjectWithPath(path, pathTypes, prevAtPath);
14
14
  mergeIntoObservable(history[time], obj);
15
15
  }
16
16
  }
package/history.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"history.mjs","sources":["../../src/history/trackHistory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAYgB,SAAA,YAAY,CACxB,GAA0B,EAC1B,gBAA6E,EAAA;IAE7E,MAAM,OAAO,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAI,UAAU,EAAyC,CAAC;IAExF,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;;AAGzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE;YAC/E,MAAM,IAAI,GAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAGtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACjE,mBAAmB,CAAE,OAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACnB;;;;"}
1
+ {"version":3,"file":"history.mjs","sources":["../../src/history/trackHistory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAYgB,SAAA,YAAY,CACxB,GAA0B,EAC1B,gBAA6E,EAAA;IAE7E,MAAM,OAAO,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAI,UAAU,EAAyC,CAAC;IAExF,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;;AAGzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE;YAC/E,MAAM,IAAI,GAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAGtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBACjE,mBAAmB,CAAE,OAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACnB;;;;"}
package/index.d.ts CHANGED
@@ -24,6 +24,7 @@ export declare const internal: {
24
24
  isLoadingRemote: boolean;
25
25
  isMerging: boolean;
26
26
  };
27
+ observableFns: Map<string, (node: import("./src/observableInterfaces").NodeValue, ...args: any[]) => any>;
27
28
  optimized: symbol;
28
29
  peek: typeof peek;
29
30
  set: typeof set;