@legendapp/state 3.0.0-alpha.1 → 3.0.0-alpha.2
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/.DS_Store +0 -0
- package/CHANGELOG.md +1 -831
- package/LICENSE +1 -21
- package/README.md +1 -141
- package/as/arrayAsRecord.d.mts +5 -0
- package/as/arrayAsRecord.d.ts +5 -0
- package/as/arrayAsRecord.js +28 -0
- package/as/arrayAsRecord.mjs +26 -0
- package/as/arrayAsSet.d.mts +5 -0
- package/as/arrayAsSet.d.ts +5 -0
- package/as/arrayAsSet.js +13 -0
- package/as/arrayAsSet.mjs +11 -0
- package/as/arrayAsString.d.mts +5 -0
- package/as/arrayAsString.d.ts +5 -0
- package/as/arrayAsString.js +13 -0
- package/as/arrayAsString.mjs +11 -0
- package/as/numberAsString.d.mts +5 -0
- package/as/numberAsString.d.ts +5 -0
- package/as/numberAsString.js +13 -0
- package/as/numberAsString.mjs +11 -0
- package/as/recordAsArray.d.mts +5 -0
- package/as/recordAsArray.d.ts +5 -0
- package/as/recordAsArray.js +25 -0
- package/as/recordAsArray.mjs +23 -0
- package/as/recordAsString.d.mts +5 -0
- package/as/recordAsString.d.ts +5 -0
- package/as/recordAsString.js +13 -0
- package/as/recordAsString.mjs +11 -0
- package/as/setAsArray.d.mts +5 -0
- package/as/setAsArray.d.ts +5 -0
- package/as/setAsArray.js +13 -0
- package/as/setAsArray.mjs +11 -0
- package/as/setAsString.d.mts +5 -0
- package/as/setAsString.d.ts +5 -0
- package/as/setAsString.js +13 -0
- package/as/setAsString.mjs +11 -0
- package/as/stringAsArray.d.mts +5 -0
- package/as/stringAsArray.d.ts +5 -0
- package/as/stringAsArray.js +13 -0
- package/as/stringAsArray.mjs +11 -0
- package/as/stringAsNumber.d.mts +5 -0
- package/as/stringAsNumber.d.ts +5 -0
- package/as/stringAsNumber.js +16 -0
- package/as/stringAsNumber.mjs +14 -0
- package/as/stringAsRecord.d.mts +5 -0
- package/as/stringAsRecord.d.ts +5 -0
- package/as/stringAsRecord.js +15 -0
- package/as/stringAsRecord.mjs +13 -0
- package/as/stringAsSet.d.mts +5 -0
- package/as/stringAsSet.d.ts +5 -0
- package/as/stringAsSet.js +13 -0
- package/as/stringAsSet.mjs +11 -0
- package/babel.d.mts +21 -0
- package/babel.d.ts +21 -2
- package/babel.js +57 -53
- package/babel.mjs +65 -0
- package/config/enable$GetSet.js +13 -14
- package/config/enable$GetSet.mjs +13 -14
- package/config/enableReactComponents.d.mts +9 -0
- package/config/enableReactComponents.d.ts +4 -2
- package/config/enableReactComponents.js +13 -10
- package/config/enableReactComponents.mjs +13 -10
- package/config/enableReactNativeComponents.d.mts +22 -0
- package/config/enableReactNativeComponents.d.ts +6 -4
- package/config/enableReactNativeComponents.js +43 -47
- package/config/enableReactNativeComponents.mjs +43 -47
- package/config/enableReactTracking.d.mts +7 -0
- package/config/enableReactTracking.d.ts +3 -2
- package/config/enableReactTracking.js +33 -38
- package/config/enableReactTracking.mjs +33 -38
- package/config/enableReactUse.d.mts +10 -0
- package/config/enableReactUse.d.ts +4 -1
- package/config/enableReactUse.js +15 -14
- package/config/enableReactUse.mjs +15 -14
- package/config/{enable$GetSet.d.ts → enable_GetSet.d.mts} +4 -2
- package/config/enable_GetSet.d.ts +10 -0
- package/config/enable_PeekAssign.d.mts +10 -0
- package/config/enable_PeekAssign.d.ts +4 -2
- package/config/enable_PeekAssign.js +13 -14
- package/config/enable_PeekAssign.mjs +13 -14
- package/helpers/pageHash.d.mts +9 -0
- package/helpers/pageHash.d.ts +2 -0
- package/helpers/pageHash.js +25 -30
- package/helpers/pageHash.mjs +25 -30
- package/helpers/pageHashParams.d.mts +9 -0
- package/helpers/pageHashParams.d.ts +2 -0
- package/helpers/pageHashParams.js +34 -37
- package/helpers/pageHashParams.mjs +34 -37
- package/helpers/time.d.mts +6 -0
- package/helpers/time.d.ts +6 -3
- package/helpers/time.js +17 -17
- package/helpers/time.mjs +17 -17
- package/helpers/trackHistory.d.mts +6 -0
- package/helpers/trackHistory.d.ts +4 -2
- package/helpers/trackHistory.js +13 -16
- package/helpers/trackHistory.mjs +13 -16
- package/helpers/undoRedo.d.mts +37 -0
- package/helpers/undoRedo.d.ts +5 -3
- package/helpers/undoRedo.js +59 -94
- package/helpers/undoRedo.mjs +59 -94
- package/index.d.mts +404 -0
- package/index.d.ts +371 -28
- package/index.js +2003 -2164
- package/index.mjs +2003 -2164
- package/package.json +254 -195
- package/persist-plugins/async-storage.d.mts +18 -0
- package/persist-plugins/async-storage.d.ts +6 -3
- package/persist-plugins/async-storage.js +79 -86
- package/persist-plugins/async-storage.mjs +79 -86
- package/persist-plugins/indexeddb.d.mts +29 -0
- package/persist-plugins/indexeddb.d.ts +6 -3
- package/persist-plugins/indexeddb.js +331 -352
- package/persist-plugins/indexeddb.mjs +331 -352
- package/persist-plugins/local-storage.d.mts +23 -0
- package/persist-plugins/local-storage.d.ts +8 -5
- package/persist-plugins/local-storage.js +74 -76
- package/persist-plugins/local-storage.mjs +74 -76
- package/persist-plugins/mmkv.d.mts +18 -0
- package/persist-plugins/mmkv.d.ts +6 -3
- package/persist-plugins/mmkv.js +82 -86
- package/persist-plugins/mmkv.mjs +82 -86
- package/react-hooks/createObservableHook.d.mts +5 -0
- package/react-hooks/createObservableHook.d.ts +4 -1
- package/react-hooks/createObservableHook.js +29 -30
- package/react-hooks/createObservableHook.mjs +25 -30
- package/react-hooks/useHover.d.mts +5 -0
- package/react-hooks/useHover.d.ts +5 -3
- package/react-hooks/useHover.js +29 -29
- package/react-hooks/useHover.mjs +29 -29
- package/react-hooks/useMeasure.d.mts +9 -0
- package/react-hooks/useMeasure.d.ts +5 -2
- package/react-hooks/useMeasure.js +30 -32
- package/react-hooks/useMeasure.mjs +30 -32
- package/react-hooks/useObservableNextRouter.d.mts +35 -0
- package/react-hooks/useObservableNextRouter.d.ts +9 -7
- package/react-hooks/useObservableNextRouter.js +64 -77
- package/react-hooks/useObservableNextRouter.mjs +60 -77
- package/react.d.mts +157 -0
- package/react.d.ts +157 -21
- package/react.js +458 -749
- package/react.mjs +457 -752
- package/sync-plugins/crud.d.mts +54 -0
- package/sync-plugins/crud.d.ts +12 -10
- package/sync-plugins/crud.js +253 -270
- package/sync-plugins/crud.mjs +253 -270
- package/sync-plugins/fetch.d.mts +21 -0
- package/sync-plugins/fetch.d.ts +7 -4
- package/sync-plugins/fetch.js +50 -37
- package/sync-plugins/fetch.mjs +50 -37
- package/sync-plugins/keel.d.mts +108 -0
- package/sync-plugins/keel.d.ts +17 -15
- package/sync-plugins/keel.js +229 -462
- package/sync-plugins/keel.mjs +227 -464
- package/sync-plugins/supabase.d.mts +39 -0
- package/sync-plugins/supabase.d.ts +16 -14
- package/sync-plugins/supabase.js +128 -128
- package/sync-plugins/supabase.mjs +128 -128
- package/sync-plugins/tanstack-query.d.mts +14 -0
- package/sync-plugins/tanstack-query.d.ts +7 -4
- package/sync-plugins/tanstack-query.js +51 -57
- package/sync-plugins/tanstack-query.mjs +51 -57
- package/sync-plugins/tanstack-react-query.d.mts +8 -0
- package/sync-plugins/tanstack-react-query.d.ts +6 -1
- package/sync-plugins/tanstack-react-query.js +2 -2
- package/sync-plugins/tanstack-react-query.mjs +2 -2
- package/sync.d.mts +351 -0
- package/sync.d.ts +349 -9
- package/sync.js +909 -962
- package/sync.mjs +919 -972
- package/trace.d.mts +9 -0
- package/trace.d.ts +9 -4
- package/trace.js +72 -62
- package/trace.mjs +72 -62
- package/types/babel.d.ts +1 -12
- package/babel.js.map +0 -1
- package/config/enable$GetSet.js.map +0 -1
- package/config/enable$GetSet.mjs.map +0 -1
- package/config/enableReactComponents.js.map +0 -1
- package/config/enableReactComponents.mjs.map +0 -1
- package/config/enableReactNativeComponents.js.map +0 -1
- package/config/enableReactNativeComponents.mjs.map +0 -1
- package/config/enableReactTracking.js.map +0 -1
- package/config/enableReactTracking.mjs.map +0 -1
- package/config/enableReactUse.js.map +0 -1
- package/config/enableReactUse.mjs.map +0 -1
- package/config/enable_PeekAssign.js.map +0 -1
- package/config/enable_PeekAssign.mjs.map +0 -1
- package/helpers/pageHash.js.map +0 -1
- package/helpers/pageHash.mjs.map +0 -1
- package/helpers/pageHashParams.js.map +0 -1
- package/helpers/pageHashParams.mjs.map +0 -1
- package/helpers/time.js.map +0 -1
- package/helpers/time.mjs.map +0 -1
- package/helpers/trackHistory.js.map +0 -1
- package/helpers/trackHistory.mjs.map +0 -1
- package/helpers/undoRedo.js.map +0 -1
- package/helpers/undoRedo.mjs.map +0 -1
- package/history.d.ts +0 -1
- package/history.js +0 -24
- package/history.js.map +0 -1
- package/history.mjs +0 -22
- package/history.mjs.map +0 -1
- package/index.js.map +0 -1
- package/index.mjs.map +0 -1
- package/persist-plugins/async-storage.js.map +0 -1
- package/persist-plugins/async-storage.mjs.map +0 -1
- package/persist-plugins/indexeddb.js.map +0 -1
- package/persist-plugins/indexeddb.mjs.map +0 -1
- package/persist-plugins/local-storage.js.map +0 -1
- package/persist-plugins/local-storage.mjs.map +0 -1
- package/persist-plugins/mmkv.js.map +0 -1
- package/persist-plugins/mmkv.mjs.map +0 -1
- package/react-hooks/createObservableHook.js.map +0 -1
- package/react-hooks/createObservableHook.mjs.map +0 -1
- package/react-hooks/useHover.js.map +0 -1
- package/react-hooks/useHover.mjs.map +0 -1
- package/react-hooks/useMeasure.js.map +0 -1
- package/react-hooks/useMeasure.mjs.map +0 -1
- package/react-hooks/useObservableNextRouter.js.map +0 -1
- package/react-hooks/useObservableNextRouter.mjs.map +0 -1
- package/react.js.map +0 -1
- package/react.mjs.map +0 -1
- package/src/ObservableObject.ts +0 -1350
- package/src/ObservablePrimitive.ts +0 -62
- package/src/babel/index.ts +0 -83
- package/src/batching.ts +0 -357
- package/src/computed.ts +0 -18
- package/src/config/enable$GetSet.ts +0 -30
- package/src/config/enableReactComponents.ts +0 -26
- package/src/config/enableReactNativeComponents.ts +0 -102
- package/src/config/enableReactTracking.ts +0 -62
- package/src/config/enableReactUse.ts +0 -32
- package/src/config/enable_PeekAssign.ts +0 -31
- package/src/config.ts +0 -47
- package/src/createObservable.ts +0 -47
- package/src/event.ts +0 -26
- package/src/globals.ts +0 -235
- package/src/helpers/pageHash.ts +0 -41
- package/src/helpers/pageHashParams.ts +0 -55
- package/src/helpers/time.ts +0 -30
- package/src/helpers/trackHistory.ts +0 -29
- package/src/helpers/undoRedo.ts +0 -111
- package/src/helpers.ts +0 -231
- package/src/is.ts +0 -63
- package/src/linked.ts +0 -17
- package/src/observable.ts +0 -32
- package/src/observableInterfaces.ts +0 -151
- package/src/observableTypes.ts +0 -232
- package/src/observe.ts +0 -89
- package/src/old-plugins/firebase.ts +0 -1053
- package/src/onChange.ts +0 -146
- package/src/persist/configureObservablePersistence.ts +0 -7
- package/src/persist/fieldTransformer.ts +0 -149
- package/src/persist/observablePersistRemoteFunctionsAdapter.ts +0 -39
- package/src/persist/persistObservable.ts +0 -1034
- package/src/persist-plugins/async-storage.ts +0 -99
- package/src/persist-plugins/indexeddb.ts +0 -439
- package/src/persist-plugins/local-storage.ts +0 -86
- package/src/persist-plugins/mmkv.ts +0 -91
- package/src/proxy.ts +0 -28
- package/src/react/Computed.tsx +0 -8
- package/src/react/For.tsx +0 -116
- package/src/react/Memo.tsx +0 -4
- package/src/react/Reactive.tsx +0 -53
- package/src/react/Show.tsx +0 -33
- package/src/react/Switch.tsx +0 -43
- package/src/react/react-globals.ts +0 -3
- package/src/react/reactInterfaces.ts +0 -32
- package/src/react/reactive-observer.tsx +0 -210
- package/src/react/useComputed.ts +0 -36
- package/src/react/useEffectOnce.ts +0 -41
- package/src/react/useIsMounted.ts +0 -16
- package/src/react/useMount.ts +0 -15
- package/src/react/useObservable.ts +0 -24
- package/src/react/useObservableReducer.ts +0 -52
- package/src/react/useObservableState.ts +0 -30
- package/src/react/useObserve.ts +0 -54
- package/src/react/useObserveEffect.ts +0 -40
- package/src/react/usePauseProvider.tsx +0 -16
- package/src/react/useSelector.ts +0 -167
- package/src/react/useUnmount.ts +0 -8
- package/src/react/useWhen.ts +0 -9
- package/src/react-hooks/createObservableHook.ts +0 -53
- package/src/react-hooks/useHover.ts +0 -40
- package/src/react-hooks/useMeasure.ts +0 -48
- package/src/react-hooks/useObservableNextRouter.ts +0 -137
- package/src/retry.ts +0 -71
- package/src/setupTracking.ts +0 -26
- package/src/sync/activateSyncedNode.ts +0 -128
- package/src/sync/configureObservableSync.ts +0 -7
- package/src/sync/persistTypes.ts +0 -216
- package/src/sync/syncHelpers.ts +0 -180
- package/src/sync/syncObservable.ts +0 -1056
- package/src/sync/syncObservableAdapter.ts +0 -31
- package/src/sync/syncTypes.ts +0 -189
- package/src/sync/synced.ts +0 -21
- package/src/sync-plugins/crud.ts +0 -412
- package/src/sync-plugins/fetch.ts +0 -80
- package/src/sync-plugins/keel.ts +0 -495
- package/src/sync-plugins/supabase.ts +0 -249
- package/src/sync-plugins/tanstack-query.ts +0 -113
- package/src/sync-plugins/tanstack-react-query.ts +0 -12
- package/src/trace/traceHelpers.ts +0 -11
- package/src/trace/useTraceListeners.ts +0 -34
- package/src/trace/useTraceUpdates.ts +0 -24
- package/src/trace/useVerifyNotTracking.ts +0 -33
- package/src/trace/useVerifyOneRender.ts +0 -10
- package/src/trackSelector.ts +0 -52
- package/src/tracking.ts +0 -43
- package/src/types/babel.d.ts +0 -12
- package/src/when.ts +0 -75
- package/sync-plugins/crud.js.map +0 -1
- package/sync-plugins/crud.mjs.map +0 -1
- package/sync-plugins/fetch.js.map +0 -1
- package/sync-plugins/fetch.mjs.map +0 -1
- package/sync-plugins/keel.js.map +0 -1
- package/sync-plugins/keel.mjs.map +0 -1
- package/sync-plugins/supabase.js.map +0 -1
- package/sync-plugins/supabase.mjs.map +0 -1
- package/sync-plugins/tanstack-query.js.map +0 -1
- package/sync-plugins/tanstack-query.mjs.map +0 -1
- package/sync-plugins/tanstack-react-query.js.map +0 -1
- package/sync-plugins/tanstack-react-query.mjs.map +0 -1
- package/sync.js.map +0 -1
- package/sync.mjs.map +0 -1
- package/trace.js.map +0 -1
- package/trace.mjs.map +0 -1
|
@@ -2,54 +2,50 @@ import { useRef } from 'react';
|
|
|
2
2
|
import { configureReactive, useSelector } from '@legendapp/state/react';
|
|
3
3
|
import { ActivityIndicator, Button, FlatList, Image, Pressable, ScrollView, SectionList, Switch, Text, TextInput, TouchableWithoutFeedback, View } from 'react-native';
|
|
4
4
|
|
|
5
|
+
// src/config/enableReactNativeComponents.ts
|
|
5
6
|
function enableReactNativeComponents() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
});
|
|
7
|
+
configureReactive({
|
|
8
|
+
components: {
|
|
9
|
+
ActivityIndicator,
|
|
10
|
+
Button,
|
|
11
|
+
FlatList,
|
|
12
|
+
Image,
|
|
13
|
+
Pressable,
|
|
14
|
+
ScrollView,
|
|
15
|
+
SectionList,
|
|
16
|
+
Switch,
|
|
17
|
+
Text,
|
|
18
|
+
TextInput,
|
|
19
|
+
TouchableWithoutFeedback,
|
|
20
|
+
View
|
|
21
|
+
},
|
|
22
|
+
binders: {
|
|
23
|
+
TextInput: {
|
|
24
|
+
value: {
|
|
25
|
+
handler: "onChange",
|
|
26
|
+
getValue: (e) => e.nativeEvent.text,
|
|
27
|
+
defaultValue: ""
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
Switch: {
|
|
31
|
+
value: {
|
|
32
|
+
handler: "onValueChange",
|
|
33
|
+
getValue: (e) => e,
|
|
34
|
+
defaultValue: false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
FlatList: {
|
|
38
|
+
data: {
|
|
39
|
+
selector: (propsOut, p) => {
|
|
40
|
+
const state = useRef(0);
|
|
41
|
+
const [renderNum, value] = useSelector(() => [state.current++, p.get(true)]);
|
|
42
|
+
propsOut.extraData = renderNum;
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
52
49
|
}
|
|
53
50
|
|
|
54
51
|
export { enableReactNativeComponents };
|
|
55
|
-
//# sourceMappingURL=enableReactNativeComponents.mjs.map
|
|
@@ -2,5 +2,6 @@ interface ReactTrackingOptions {
|
|
|
2
2
|
auto?: boolean;
|
|
3
3
|
warnUnobserved?: boolean;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
declare function enableReactTracking({ auto, warnUnobserved }: ReactTrackingOptions): void;
|
|
6
|
+
|
|
7
|
+
export { enableReactTracking };
|
|
@@ -4,46 +4,41 @@ var state = require('@legendapp/state');
|
|
|
4
4
|
var react$1 = require('@legendapp/state/react');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
|
|
7
|
+
// src/config/enableReactTracking.ts
|
|
7
8
|
function enableReactTracking({ auto, warnUnobserved }) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
9
|
+
const { get } = state.internal;
|
|
10
|
+
if (auto || process.env.NODE_ENV === "development" && warnUnobserved) {
|
|
11
|
+
const ReactRenderContext = react.createContext(0);
|
|
12
|
+
const needsSelector = () => {
|
|
13
|
+
if (!state.tracking.current) {
|
|
14
|
+
try {
|
|
15
|
+
const dispatcher = react.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher.current;
|
|
16
|
+
if (dispatcher) {
|
|
17
|
+
react.useContext(ReactRenderContext);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
} catch (e) {
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
24
|
+
};
|
|
25
|
+
state.configureLegendState({
|
|
26
|
+
observableFunctions: {
|
|
27
|
+
get: (node, options) => {
|
|
28
|
+
if (needsSelector()) {
|
|
29
|
+
if (auto) {
|
|
30
|
+
return react$1.useSelector(() => get(node, options), state.isObject(options) ? options : void 0);
|
|
31
|
+
} else if (process.env.NODE_ENV === "development" && warnUnobserved) {
|
|
32
|
+
console.warn(
|
|
33
|
+
"[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"
|
|
34
|
+
);
|
|
27
35
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (auto) {
|
|
35
|
-
return react$1.useSelector(() => get(node, options), state.isObject(options) ? options : undefined);
|
|
36
|
-
}
|
|
37
|
-
else if (process.env.NODE_ENV === 'development' && warnUnobserved) {
|
|
38
|
-
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');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return get(node, options);
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
}
|
|
36
|
+
}
|
|
37
|
+
return get(node, options);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
46
42
|
}
|
|
47
43
|
|
|
48
44
|
exports.enableReactTracking = enableReactTracking;
|
|
49
|
-
//# sourceMappingURL=enableReactTracking.js.map
|
|
@@ -2,46 +2,41 @@ import { configureLegendState, isObject, internal, tracking } from '@legendapp/s
|
|
|
2
2
|
import { useSelector } from '@legendapp/state/react';
|
|
3
3
|
import { createContext, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, useContext } from 'react';
|
|
4
4
|
|
|
5
|
+
// src/config/enableReactTracking.ts
|
|
5
6
|
function enableReactTracking({ auto, warnUnobserved }) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
7
|
+
const { get } = internal;
|
|
8
|
+
if (auto || process.env.NODE_ENV === "development" && warnUnobserved) {
|
|
9
|
+
const ReactRenderContext = createContext(0);
|
|
10
|
+
const needsSelector = () => {
|
|
11
|
+
if (!tracking.current) {
|
|
12
|
+
try {
|
|
13
|
+
const dispatcher = __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher.current;
|
|
14
|
+
if (dispatcher) {
|
|
15
|
+
useContext(ReactRenderContext);
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
} catch (e) {
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
};
|
|
23
|
+
configureLegendState({
|
|
24
|
+
observableFunctions: {
|
|
25
|
+
get: (node, options) => {
|
|
26
|
+
if (needsSelector()) {
|
|
27
|
+
if (auto) {
|
|
28
|
+
return useSelector(() => get(node, options), isObject(options) ? options : void 0);
|
|
29
|
+
} else if (process.env.NODE_ENV === "development" && warnUnobserved) {
|
|
30
|
+
console.warn(
|
|
31
|
+
"[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"
|
|
32
|
+
);
|
|
25
33
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (auto) {
|
|
33
|
-
return useSelector(() => get(node, options), isObject(options) ? options : undefined);
|
|
34
|
-
}
|
|
35
|
-
else if (process.env.NODE_ENV === 'development' && warnUnobserved) {
|
|
36
|
-
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');
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return get(node, options);
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
}
|
|
34
|
+
}
|
|
35
|
+
return get(node, options);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
44
40
|
}
|
|
45
41
|
|
|
46
42
|
export { enableReactTracking };
|
|
47
|
-
//# sourceMappingURL=enableReactTracking.mjs.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UseSelectorOptions } from '@legendapp/state/react';
|
|
2
|
+
|
|
3
|
+
declare function enableReactUse(): void;
|
|
4
|
+
declare module '@legendapp/state' {
|
|
5
|
+
interface ImmutableObservableBase<T> {
|
|
6
|
+
use(options?: UseSelectorOptions): T;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { enableReactUse };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { UseSelectorOptions } from '@legendapp/state/react';
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
declare function enableReactUse(): void;
|
|
3
4
|
declare module '@legendapp/state' {
|
|
4
5
|
interface ImmutableObservableBase<T> {
|
|
5
6
|
use(options?: UseSelectorOptions): T;
|
|
6
7
|
}
|
|
7
8
|
}
|
|
9
|
+
|
|
10
|
+
export { enableReactUse };
|
package/config/enableReactUse.js
CHANGED
|
@@ -3,21 +3,22 @@
|
|
|
3
3
|
var state = require('@legendapp/state');
|
|
4
4
|
var react = require('@legendapp/state/react');
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
|
|
6
|
+
// src/config/enableReactUse.ts
|
|
7
|
+
var didWarn = false;
|
|
8
8
|
function enableReactUse() {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
state.configureLegendState({
|
|
10
|
+
observableFunctions: {
|
|
11
|
+
use: (node, options) => {
|
|
12
|
+
if (process.env.NODE_ENV === "development" && !didWarn) {
|
|
13
|
+
didWarn = true;
|
|
14
|
+
console.warn(
|
|
15
|
+
"[legend-state] enableReactUse() is deprecated. Please switch to using get() with observer, which is safer and more efficient. See https://legendapp.com/open-source/state/v3/react/react-api/"
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
return react.useSelector(state.internal.getProxy(node), options);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
});
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
exports.enableReactUse = enableReactUse;
|
|
23
|
-
//# sourceMappingURL=enableReactUse.js.map
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { configureLegendState, internal } from '@legendapp/state';
|
|
2
2
|
import { useSelector } from '@legendapp/state/react';
|
|
3
3
|
|
|
4
|
-
//
|
|
5
|
-
|
|
4
|
+
// src/config/enableReactUse.ts
|
|
5
|
+
var didWarn = false;
|
|
6
6
|
function enableReactUse() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
configureLegendState({
|
|
8
|
+
observableFunctions: {
|
|
9
|
+
use: (node, options) => {
|
|
10
|
+
if (process.env.NODE_ENV === "development" && !didWarn) {
|
|
11
|
+
didWarn = true;
|
|
12
|
+
console.warn(
|
|
13
|
+
"[legend-state] enableReactUse() is deprecated. Please switch to using get() with observer, which is safer and more efficient. See https://legendapp.com/open-source/state/v3/react/react-api/"
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
return useSelector(internal.getProxy(node), options);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
});
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
export { enableReactUse };
|
|
21
|
-
//# sourceMappingURL=enableReactUse.mjs.map
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
declare function enable$GetSet(): void;
|
|
2
|
+
declare const enableDirectAccess: typeof enable$GetSet;
|
|
3
3
|
declare module '@legendapp/state' {
|
|
4
4
|
interface ImmutableObservableBase<T> {
|
|
5
5
|
get $(): T;
|
|
6
6
|
set $(value: T | null | undefined);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
+
|
|
10
|
+
export { enable$GetSet, enableDirectAccess };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare function enable$GetSet(): void;
|
|
2
|
+
declare const enableDirectAccess: typeof enable$GetSet;
|
|
3
|
+
declare module '@legendapp/state' {
|
|
4
|
+
interface ImmutableObservableBase<T> {
|
|
5
|
+
get $(): T;
|
|
6
|
+
set $(value: T | null | undefined);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { enable$GetSet, enableDirectAccess };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare function enable_PeekAssign(): void;
|
|
2
|
+
declare const enableDirectAccess: typeof enable_PeekAssign;
|
|
3
|
+
declare module '@legendapp/state' {
|
|
4
|
+
interface ImmutableObservableBase<T> {
|
|
5
|
+
get _(): T;
|
|
6
|
+
set _(value: T | null | undefined);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { enableDirectAccess, enable_PeekAssign };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
declare function enable_PeekAssign(): void;
|
|
2
|
+
declare const enableDirectAccess: typeof enable_PeekAssign;
|
|
3
3
|
declare module '@legendapp/state' {
|
|
4
4
|
interface ImmutableObservableBase<T> {
|
|
5
5
|
get _(): T;
|
|
6
6
|
set _(value: T | null | undefined);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
+
|
|
10
|
+
export { enableDirectAccess, enable_PeekAssign };
|
|
@@ -2,23 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
var state = require('@legendapp/state');
|
|
4
4
|
|
|
5
|
+
// src/config/enable_PeekAssign.ts
|
|
5
6
|
function enable_PeekAssign() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
set(node, value) {
|
|
13
|
-
state.internal.setNodeValue(node, value);
|
|
14
|
-
},
|
|
15
|
-
},
|
|
7
|
+
state.configureLegendState({
|
|
8
|
+
observableProperties: {
|
|
9
|
+
_: {
|
|
10
|
+
get(node) {
|
|
11
|
+
return state.internal.peek(node);
|
|
16
12
|
},
|
|
17
|
-
|
|
13
|
+
set(node, value) {
|
|
14
|
+
state.internal.setNodeValue(node, value);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
});
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
const enableDirectAccess = enable_PeekAssign;
|
|
20
|
+
var enableDirectAccess = enable_PeekAssign;
|
|
21
21
|
|
|
22
22
|
exports.enableDirectAccess = enableDirectAccess;
|
|
23
23
|
exports.enable_PeekAssign = enable_PeekAssign;
|
|
24
|
-
//# sourceMappingURL=enable_PeekAssign.js.map
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { configureLegendState, internal } from '@legendapp/state';
|
|
2
2
|
|
|
3
|
+
// src/config/enable_PeekAssign.ts
|
|
3
4
|
function enable_PeekAssign() {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
},
|
|
10
|
-
set(node, value) {
|
|
11
|
-
internal.setNodeValue(node, value);
|
|
12
|
-
},
|
|
13
|
-
},
|
|
5
|
+
configureLegendState({
|
|
6
|
+
observableProperties: {
|
|
7
|
+
_: {
|
|
8
|
+
get(node) {
|
|
9
|
+
return internal.peek(node);
|
|
14
10
|
},
|
|
15
|
-
|
|
11
|
+
set(node, value) {
|
|
12
|
+
internal.setNodeValue(node, value);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
});
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
const enableDirectAccess = enable_PeekAssign;
|
|
18
|
+
var enableDirectAccess = enable_PeekAssign;
|
|
19
19
|
|
|
20
20
|
export { enableDirectAccess, enable_PeekAssign };
|
|
21
|
-
//# sourceMappingURL=enable_PeekAssign.mjs.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Observable } from '@legendapp/state';
|
|
2
|
+
|
|
3
|
+
interface Options {
|
|
4
|
+
setter: 'pushState' | 'replaceState' | 'hash';
|
|
5
|
+
}
|
|
6
|
+
declare function configurePageHash(options: Options): void;
|
|
7
|
+
declare const pageHash: Observable<string>;
|
|
8
|
+
|
|
9
|
+
export { configurePageHash, pageHash };
|
package/helpers/pageHash.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Observable } from '@legendapp/state';
|
|
2
|
+
|
|
2
3
|
interface Options {
|
|
3
4
|
setter: 'pushState' | 'replaceState' | 'hash';
|
|
4
5
|
}
|
|
5
6
|
declare function configurePageHash(options: Options): void;
|
|
6
7
|
declare const pageHash: Observable<string>;
|
|
8
|
+
|
|
7
9
|
export { configurePageHash, pageHash };
|
package/helpers/pageHash.js
CHANGED
|
@@ -2,40 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
var state = require('@legendapp/state');
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/helpers/pageHash.ts
|
|
6
|
+
var _options = { setter: "hash" };
|
|
6
7
|
function configurePageHash(options) {
|
|
7
|
-
|
|
8
|
+
_options = options;
|
|
8
9
|
}
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
var hasWindow = typeof window !== "undefined";
|
|
11
|
+
var pageHash = state.observable(hasWindow ? window.location.hash.slice(1) : "");
|
|
11
12
|
if (hasWindow) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
pageHash.set(window.location.hash.slice(1));
|
|
33
|
-
isSetting = false;
|
|
34
|
-
};
|
|
35
|
-
// Subscribe to window hashChange event
|
|
36
|
-
window.addEventListener('hashchange', cb);
|
|
13
|
+
let isSetting = false;
|
|
14
|
+
pageHash.onChange(({ value }) => {
|
|
15
|
+
if (!isSetting) {
|
|
16
|
+
const hash = "#" + value;
|
|
17
|
+
const setter = (_options == null ? void 0 : _options.setter) || "hash";
|
|
18
|
+
if (setter === "pushState") {
|
|
19
|
+
history.pushState(null, null, hash);
|
|
20
|
+
} else if (setter === "replaceState") {
|
|
21
|
+
history.replaceState(null, null, hash);
|
|
22
|
+
} else {
|
|
23
|
+
location.hash = hash;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
const cb = () => {
|
|
28
|
+
isSetting = true;
|
|
29
|
+
pageHash.set(window.location.hash.slice(1));
|
|
30
|
+
isSetting = false;
|
|
31
|
+
};
|
|
32
|
+
window.addEventListener("hashchange", cb);
|
|
37
33
|
}
|
|
38
34
|
|
|
39
35
|
exports.configurePageHash = configurePageHash;
|
|
40
36
|
exports.pageHash = pageHash;
|
|
41
|
-
//# sourceMappingURL=pageHash.js.map
|