@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.
- package/CHANGELOG.md +32 -0
- package/config/enableDirectAccess.js +6 -3
- package/config/enableDirectAccess.js.map +1 -1
- package/config/enableDirectAccess.mjs +7 -4
- package/config/enableDirectAccess.mjs.map +1 -1
- package/config/enableReactDirectRender.d.ts +2 -0
- package/config/enableReactDirectRender.js +78 -0
- package/config/enableReactDirectRender.js.map +1 -0
- package/config/enableReactDirectRender.mjs +75 -0
- package/config/enableReactDirectRender.mjs.map +1 -0
- package/config/enableReactTracking.d.ts +15 -0
- package/config/enableReactTracking.js +47 -0
- package/config/enableReactTracking.js.map +1 -0
- package/config/enableReactTracking.mjs +45 -0
- package/config/enableReactTracking.mjs.map +1 -0
- package/history.js +1 -1
- package/history.js.map +1 -1
- package/history.mjs +1 -1
- package/history.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +66 -33
- package/index.js.map +1 -1
- package/index.mjs +65 -34
- package/index.mjs.map +1 -1
- package/package.json +11 -1
- package/persist-plugins/firebase.js +8 -8
- package/persist-plugins/firebase.js.map +1 -1
- package/persist-plugins/firebase.mjs +8 -8
- package/persist-plugins/firebase.mjs.map +1 -1
- package/persist-plugins/query.d.ts +1 -3
- package/persist-plugins/query.js +7 -17
- package/persist-plugins/query.js.map +1 -1
- package/persist-plugins/query.mjs +7 -17
- package/persist-plugins/query.mjs.map +1 -1
- package/persist.js +21 -19
- package/persist.js.map +1 -1
- package/persist.mjs +22 -20
- package/persist.mjs.map +1 -1
- package/react-hooks/useObservableNextRouter.js +6 -6
- package/react-hooks/useObservableNextRouter.js.map +1 -1
- package/react-hooks/useObservableNextRouter.mjs +6 -6
- package/react-hooks/useObservableNextRouter.mjs.map +1 -1
- package/react-hooks/usePersistedObservable.d.ts +2 -2
- package/react.js +57 -22
- package/react.js.map +1 -1
- package/react.mjs +58 -23
- package/react.mjs.map +1 -1
- package/src/ObservableObject.d.ts +3 -3
- package/src/config/enableReactDirectRender.d.ts +2 -0
- package/src/config/enableReactTracking.d.ts +15 -0
- package/src/createObservable.d.ts +2 -0
- package/src/globals.d.ts +2 -0
- package/src/helpers.d.ts +3 -3
- package/src/observable.d.ts +3 -3
- package/src/observableInterfaces.d.ts +27 -18
- package/src/observe.d.ts +0 -1
- package/src/persist/observablePersistRemoteFunctionsAdapter.d.ts +1 -1
- package/src/persist/persistObservable.d.ts +3 -3
- package/src/persist-plugins/query.d.ts +1 -3
- package/src/react/For.d.ts +7 -5
- package/src/react/useMount.d.ts +1 -2
- 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
|
-
|
|
11
|
-
|
|
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
|
|
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":["
|
|
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,
|
|
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
|
-
|
|
9
|
-
|
|
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
|
|
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
|
|
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,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,
|
|
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,
|
|
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,
|
|
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,
|
|
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;
|