@legendapp/state 2.2.0-next.7 → 2.2.0-next.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/babel.js.map +1 -1
- package/config/enable$get.d.ts +8 -0
- package/config/enable$get.js +24 -0
- package/config/enable$get.js.map +1 -0
- package/config/enable$get.mjs +21 -0
- package/config/enable$get.mjs.map +1 -0
- package/config/enableReactComponents.js.map +1 -1
- package/config/enableReactComponents.mjs.map +1 -1
- package/config/enableReactNativeComponents.js.map +1 -1
- package/config/enableReactNativeComponents.mjs.map +1 -1
- package/config/enableReactTracking.d.ts +0 -9
- package/config/enableReactTracking.js.map +1 -1
- package/config/enableReactTracking.mjs.map +1 -1
- package/config/enableReactUse.d.ts +1 -1
- package/config/enableReactUse.js +1 -0
- package/config/enableReactUse.js.map +1 -1
- package/config/enableReactUse.mjs +1 -0
- package/config/enableReactUse.mjs.map +1 -1
- package/config/enable_peek.d.ts +8 -0
- package/config/{enableDirectPeek.js → enable_peek.js} +6 -3
- package/config/enable_peek.js.map +1 -0
- package/config/{enableDirectPeek.mjs → enable_peek.mjs} +5 -3
- package/config/enable_peek.mjs.map +1 -0
- package/helpers/fetch.d.ts +4 -3
- package/helpers/fetch.js.map +1 -1
- package/helpers/fetch.mjs.map +1 -1
- package/helpers/pageHash.js.map +1 -1
- package/helpers/pageHash.mjs.map +1 -1
- package/helpers/pageHashParams.js.map +1 -1
- package/helpers/pageHashParams.mjs.map +1 -1
- package/helpers/time.d.ts +2 -2
- package/helpers/time.js.map +1 -1
- package/helpers/time.mjs.map +1 -1
- package/history.js +2 -2
- package/history.js.map +1 -1
- package/history.mjs +3 -3
- package/history.mjs.map +1 -1
- package/index.d.ts +30 -9
- package/index.js +877 -661
- package/index.js.map +1 -1
- package/index.mjs +874 -658
- package/index.mjs.map +1 -1
- package/package.json +22 -25
- package/persist-plugins/async-storage.d.ts +3 -3
- package/persist-plugins/async-storage.js +8 -7
- package/persist-plugins/async-storage.js.map +1 -1
- package/persist-plugins/async-storage.mjs +9 -8
- package/persist-plugins/async-storage.mjs.map +1 -1
- package/persist-plugins/fetch.js.map +1 -1
- package/persist-plugins/fetch.mjs.map +1 -1
- package/persist-plugins/firebase.d.ts +1 -1
- package/persist-plugins/firebase.js +12 -11
- package/persist-plugins/firebase.js.map +1 -1
- package/persist-plugins/firebase.mjs +13 -12
- package/persist-plugins/firebase.mjs.map +1 -1
- package/persist-plugins/indexeddb.d.ts +10 -10
- package/persist-plugins/indexeddb.js +2 -2
- package/persist-plugins/indexeddb.js.map +1 -1
- package/persist-plugins/indexeddb.mjs +2 -2
- package/persist-plugins/indexeddb.mjs.map +1 -1
- package/persist-plugins/local-storage.d.ts +3 -4
- package/persist-plugins/local-storage.js +19 -7
- package/persist-plugins/local-storage.js.map +1 -1
- package/persist-plugins/local-storage.mjs +20 -9
- package/persist-plugins/local-storage.mjs.map +1 -1
- package/persist-plugins/mmkv.d.ts +8 -8
- package/persist-plugins/mmkv.js +5 -4
- package/persist-plugins/mmkv.js.map +1 -1
- package/persist-plugins/mmkv.mjs +6 -5
- package/persist-plugins/mmkv.mjs.map +1 -1
- package/persist-plugins/query.js.map +1 -1
- package/persist-plugins/query.mjs.map +1 -1
- package/persist.d.ts +2 -14
- package/persist.js +1250 -268
- package/persist.js.map +1 -1
- package/persist.mjs +1250 -269
- package/persist.mjs.map +1 -1
- package/react-hooks/createObservableHook.js +1 -1
- package/react-hooks/createObservableHook.js.map +1 -1
- package/react-hooks/createObservableHook.mjs +1 -1
- package/react-hooks/createObservableHook.mjs.map +1 -1
- package/react-hooks/useFetch.d.ts +4 -3
- package/react-hooks/useFetch.js.map +1 -1
- package/react-hooks/useFetch.mjs.map +1 -1
- package/react-hooks/useHover.js.map +1 -1
- package/react-hooks/useHover.mjs.map +1 -1
- package/react-hooks/useMeasure.js.map +1 -1
- package/react-hooks/useMeasure.mjs.map +1 -1
- package/react-hooks/useObservableNextRouter.js.map +1 -1
- package/react-hooks/useObservableNextRouter.mjs.map +1 -1
- package/react-hooks/useObservableQuery.js.map +1 -1
- package/react-hooks/useObservableQuery.mjs.map +1 -1
- package/react-hooks/usePersistedObservable.d.ts +5 -3
- package/react-hooks/usePersistedObservable.js +5 -2
- package/react-hooks/usePersistedObservable.js.map +1 -1
- package/react-hooks/usePersistedObservable.mjs +5 -2
- package/react-hooks/usePersistedObservable.mjs.map +1 -1
- package/react.js +61 -75
- package/react.js.map +1 -1
- package/react.mjs +61 -75
- package/react.mjs.map +1 -1
- package/src/ObservableObject.ts +1184 -0
- package/src/ObservablePrimitive.ts +62 -0
- package/src/babel/index.ts +70 -0
- package/src/batching.ts +372 -0
- package/src/computed.ts +16 -0
- package/src/config/enable$get.ts +30 -0
- package/src/config/enableReactComponents.ts +26 -0
- package/src/config/enableReactNativeComponents.ts +102 -0
- package/src/config/enableReactTracking.ts +60 -0
- package/src/config/enableReactUse.ts +23 -0
- package/src/config/enable_peek.ts +31 -0
- package/src/config.ts +47 -0
- package/src/createObservable.ts +46 -0
- package/src/event.ts +26 -0
- package/src/globals.ts +224 -0
- package/src/helpers/fetch.ts +26 -0
- package/src/helpers/pageHash.ts +41 -0
- package/src/helpers/pageHashParams.ts +55 -0
- package/src/helpers/time.ts +30 -0
- package/src/helpers.ts +221 -0
- package/src/history/trackHistory.ts +29 -0
- package/src/is.ts +56 -0
- package/src/linked.ts +6 -0
- package/src/observable.ts +32 -0
- package/src/observableInterfaces.ts +165 -0
- package/src/observableTypes.ts +221 -0
- package/src/observe.ts +89 -0
- package/src/onChange.ts +136 -0
- package/src/persist/configureObservablePersistence.ts +7 -0
- package/src/persist/fieldTransformer.ts +149 -0
- package/src/persist/observablePersistRemoteFunctionsAdapter.ts +39 -0
- package/src/persist/persistObservable.ts +1029 -0
- package/src/persist-plugins/async-storage.ts +102 -0
- package/src/persist-plugins/fetch.ts +33 -0
- package/src/persist-plugins/firebase.ts +1050 -0
- package/src/persist-plugins/indexeddb.ts +433 -0
- package/src/persist-plugins/local-storage.ts +90 -0
- package/src/persist-plugins/mmkv.ts +90 -0
- package/src/persist-plugins/query.ts +133 -0
- package/src/persistTypes.ts +226 -0
- package/src/proxy.ts +28 -0
- package/src/react/Computed.tsx +7 -0
- package/src/react/For.tsx +116 -0
- package/src/react/Memo.tsx +4 -0
- package/src/react/Reactive.tsx +53 -0
- package/src/react/Show.tsx +33 -0
- package/src/react/Switch.tsx +43 -0
- package/src/react/react-globals.ts +3 -0
- package/src/react/{reactInterfaces.d.ts → reactInterfaces.ts} +15 -7
- package/src/react/reactive-observer.tsx +210 -0
- package/src/react/useComputed.ts +36 -0
- package/src/react/useEffectOnce.ts +41 -0
- package/src/react/useIsMounted.ts +16 -0
- package/src/react/useMount.ts +15 -0
- package/src/react/useObservable.ts +24 -0
- package/src/react/useObservableReducer.ts +52 -0
- package/src/react/useObservableState.ts +30 -0
- package/src/react/useObserve.ts +54 -0
- package/src/react/useObserveEffect.ts +40 -0
- package/src/react/usePauseProvider.tsx +13 -0
- package/src/react/useSelector.ts +167 -0
- package/src/react/useUnmount.ts +8 -0
- package/src/react/useWhen.ts +9 -0
- package/src/react-hooks/createObservableHook.ts +53 -0
- package/src/react-hooks/useFetch.ts +16 -0
- package/src/react-hooks/useHover.ts +40 -0
- package/src/react-hooks/useMeasure.ts +48 -0
- package/src/react-hooks/useObservableNextRouter.ts +137 -0
- package/src/react-hooks/useObservableQuery.ts +205 -0
- package/src/react-hooks/usePersistedObservable.ts +24 -0
- package/src/retry.ts +69 -0
- package/src/setupTracking.ts +26 -0
- package/src/sync/activateSyncedNode.ts +146 -0
- package/src/sync/configureObservableSync.ts +7 -0
- package/src/sync/syncHelpers.ts +15 -0
- package/src/sync/syncObservable.ts +989 -0
- package/src/sync/syncObservableAdapter.ts +30 -0
- package/src/sync/synced.ts +20 -0
- package/src/sync-plugins/fetch.ts +42 -0
- package/src/syncTypes.ts +163 -0
- package/src/trace/traceHelpers.ts +11 -0
- package/src/trace/useTraceListeners.ts +34 -0
- package/src/trace/useTraceUpdates.ts +24 -0
- package/src/trace/useVerifyNotTracking.ts +33 -0
- package/src/trace/useVerifyOneRender.ts +10 -0
- package/src/trackSelector.ts +52 -0
- package/src/tracking.ts +43 -0
- package/src/types/babel.d.ts +12 -0
- package/src/when.ts +70 -0
- package/sync-plugins/fetch.d.ts +11 -0
- package/sync-plugins/fetch.js +24 -0
- package/sync-plugins/fetch.js.map +1 -0
- package/sync-plugins/fetch.mjs +22 -0
- package/sync-plugins/fetch.mjs.map +1 -0
- package/sync.d.ts +8 -0
- package/sync.js +919 -0
- package/sync.js.map +1 -0
- package/sync.mjs +912 -0
- package/sync.mjs.map +1 -0
- package/trace.js +13 -10
- package/trace.js.map +1 -1
- package/trace.mjs +11 -8
- package/trace.mjs.map +1 -1
- package/types/babel.d.ts +3 -3
- package/config/enableDirectAccess.d.ts +0 -7
- package/config/enableDirectAccess.js +0 -25
- package/config/enableDirectAccess.js.map +0 -1
- package/config/enableDirectAccess.mjs +0 -23
- package/config/enableDirectAccess.mjs.map +0 -1
- package/config/enableDirectPeek.d.ts +0 -7
- package/config/enableDirectPeek.js.map +0 -1
- package/config/enableDirectPeek.mjs.map +0 -1
- package/config/enableReactDirectRender.d.ts +0 -2
- package/config/enableReactDirectRender.js +0 -78
- package/config/enableReactDirectRender.js.map +0 -1
- package/config/enableReactDirectRender.mjs +0 -75
- package/config/enableReactDirectRender.mjs.map +0 -1
- package/src/ObservableObject.d.ts +0 -14
- package/src/ObservablePrimitive.d.ts +0 -7
- package/src/babel/index.d.ts +0 -17
- package/src/batching.d.ts +0 -6
- package/src/computed.d.ts +0 -4
- package/src/config/enableDirectAccess.d.ts +0 -7
- package/src/config/enableDirectPeek.d.ts +0 -7
- package/src/config/enableReactComponents.d.ts +0 -7
- package/src/config/enableReactDirectRender.d.ts +0 -2
- package/src/config/enableReactNativeComponents.d.ts +0 -20
- package/src/config/enableReactTracking.d.ts +0 -15
- package/src/config/enableReactUse.d.ts +0 -7
- package/src/config.d.ts +0 -8
- package/src/createObservable.d.ts +0 -2
- package/src/event.d.ts +0 -2
- package/src/globals.d.ts +0 -32
- package/src/helpers/fetch.d.ts +0 -6
- package/src/helpers/pageHash.d.ts +0 -7
- package/src/helpers/pageHashParams.d.ts +0 -7
- package/src/helpers/time.d.ts +0 -3
- package/src/helpers.d.ts +0 -13
- package/src/history/trackHistory.d.ts +0 -4
- package/src/is.d.ts +0 -10
- package/src/observable.d.ts +0 -16
- package/src/observableInterfaces.d.ts +0 -456
- package/src/observe.d.ts +0 -6
- package/src/onChange.d.ts +0 -7
- package/src/persist/configureObservablePersistence.d.ts +0 -3
- package/src/persist/fieldTransformer.d.ts +0 -8
- package/src/persist/observablePersistRemoteFunctionsAdapter.d.ts +0 -2
- package/src/persist/persistActivateNode.d.ts +0 -1
- package/src/persist/persistHelpers.d.ts +0 -1
- package/src/persist/persistObservable.d.ts +0 -25
- package/src/persist-plugins/async-storage.d.ts +0 -14
- package/src/persist-plugins/fetch.d.ts +0 -10
- package/src/persist-plugins/firebase.d.ts +0 -51
- package/src/persist-plugins/indexeddb.d.ts +0 -25
- package/src/persist-plugins/local-storage.d.ts +0 -21
- package/src/persist-plugins/mmkv.d.ts +0 -14
- package/src/persist-plugins/query.d.ts +0 -18
- package/src/proxy.d.ts +0 -5
- package/src/react/Computed.d.ts +0 -5
- package/src/react/For.d.ts +0 -15
- package/src/react/Memo.d.ts +0 -3
- package/src/react/Reactive.d.ts +0 -9
- package/src/react/Show.d.ts +0 -18
- package/src/react/Switch.d.ts +0 -14
- package/src/react/react-globals.d.ts +0 -3
- package/src/react/reactive-observer.d.ts +0 -14
- package/src/react/useComputed.d.ts +0 -5
- package/src/react/useEffectOnce.d.ts +0 -1
- package/src/react/useIsMounted.d.ts +0 -2
- package/src/react/useMount.d.ts +0 -2
- package/src/react/useObservable.d.ts +0 -9
- package/src/react/useObservableReducer.d.ts +0 -7
- package/src/react/useObservableState.d.ts +0 -2
- package/src/react/useObserve.d.ts +0 -4
- package/src/react/useObserveEffect.d.ts +0 -4
- package/src/react/usePauseProvider.d.ts +0 -8
- package/src/react/useSelector.d.ts +0 -3
- package/src/react/useUnmount.d.ts +0 -2
- package/src/react/useWhen.d.ts +0 -3
- package/src/react-hooks/createObservableHook.d.ts +0 -2
- package/src/react-hooks/useFetch.d.ts +0 -6
- package/src/react-hooks/useHover.d.ts +0 -3
- package/src/react-hooks/useMeasure.d.ts +0 -6
- package/src/react-hooks/useObservableNextRouter.d.ts +0 -33
- package/src/react-hooks/useObservableQuery.d.ts +0 -6
- package/src/react-hooks/usePersistedObservable.d.ts +0 -11
- package/src/retry.d.ts +0 -9
- package/src/setupTracking.d.ts +0 -2
- package/src/trace/traceHelpers.d.ts +0 -2
- package/src/trace/useTraceListeners.d.ts +0 -1
- package/src/trace/useTraceUpdates.d.ts +0 -1
- package/src/trace/useVerifyNotTracking.d.ts +0 -1
- package/src/trace/useVerifyOneRender.d.ts +0 -1
- package/src/trackSelector.d.ts +0 -7
- package/src/tracking.d.ts +0 -13
- package/src/when.d.ts +0 -3
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { FCReactive, FCReactiveObject } from '@legendapp/state/react';
|
|
3
|
-
import { ActivityIndicator, ActivityIndicatorProps, Button, ButtonProps, FlatList, FlatListProps, Image, ImageProps, Pressable, PressableProps, ScrollView, ScrollViewProps, SectionList, SectionListProps, Switch, SwitchProps, Text, TextInput, TextInputProps, TextProps, TouchableWithoutFeedback, TouchableWithoutFeedbackProps, View, ViewProps } from 'react-native';
|
|
4
|
-
export declare function enableReactNativeComponents(): void;
|
|
5
|
-
declare module '@legendapp/state/react' {
|
|
6
|
-
interface IReactive extends FCReactiveObject<JSX.IntrinsicElements> {
|
|
7
|
-
ActivityIndicator: FCReactive<ActivityIndicator, ActivityIndicatorProps>;
|
|
8
|
-
Button: FCReactive<Button, ButtonProps>;
|
|
9
|
-
FlatList: FCReactive<FlatList, FlatListProps<any>>;
|
|
10
|
-
Image: FCReactive<Image, ImageProps>;
|
|
11
|
-
Pressable: FCReactive<typeof Pressable, PressableProps>;
|
|
12
|
-
ScrollView: FCReactive<ScrollView, ScrollViewProps>;
|
|
13
|
-
SectionList: FCReactive<SectionList, SectionListProps<any>>;
|
|
14
|
-
Switch: FCReactive<Switch, SwitchProps>;
|
|
15
|
-
Text: FCReactive<Text, TextProps>;
|
|
16
|
-
TextInput: FCReactive<TextInput, TextInputProps>;
|
|
17
|
-
TouchableWithoutFeedback: FCReactive<TouchableWithoutFeedback, TouchableWithoutFeedbackProps>;
|
|
18
|
-
View: FCReactive<View, ViewProps>;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
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 {};
|
package/src/config.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { NodeValue } from './observableInterfaces';
|
|
2
|
-
export declare function configureLegendState({ observableFunctions, observableProperties, }: {
|
|
3
|
-
observableFunctions?: Record<string, (node: NodeValue, ...args: any[]) => any>;
|
|
4
|
-
observableProperties?: Record<string, {
|
|
5
|
-
get: (node: NodeValue) => any;
|
|
6
|
-
set: (node: NodeValue, value: any) => any;
|
|
7
|
-
}>;
|
|
8
|
-
}): void;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import type { ObservableObjectOrArray, ObservablePrimitive } from './observableInterfaces';
|
|
2
|
-
export declare function createObservable<T>(value: T | undefined, makePrimitive: boolean, extractPromise: Function, createObject: Function, createPrimitive?: Function): ObservablePrimitive<T> | ObservableObjectOrArray<T>;
|
package/src/event.d.ts
DELETED
package/src/globals.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { NodeValue, ObservableComputed, ObservableObject, ObservableReadable, UpdateFn } from './observableInterfaces';
|
|
2
|
-
export declare const symbolToPrimitive: symbol;
|
|
3
|
-
export declare const symbolGetNode: unique symbol;
|
|
4
|
-
export declare const symbolDelete: unique symbol;
|
|
5
|
-
export declare const symbolOpaque: unique symbol;
|
|
6
|
-
export declare const optimized: unique symbol;
|
|
7
|
-
export declare const extraPrimitiveActivators: Map<string | symbol, boolean>;
|
|
8
|
-
export declare const extraPrimitiveProps: Map<string | symbol, any>;
|
|
9
|
-
export declare const globalState: {
|
|
10
|
-
isLoadingLocal: boolean;
|
|
11
|
-
isMerging: boolean;
|
|
12
|
-
isLoadingRemote$: import("./observableInterfaces").ObservablePrimitiveBaseFns<boolean> & import("./observableInterfaces").ObservablePrimitiveBooleanFns<boolean>;
|
|
13
|
-
activateNode: (node: NodeValue, refresh: () => void, wasPromise: boolean, newValue: any) => {
|
|
14
|
-
update: UpdateFn;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export declare function isObservable(obs: any): obs is ObservableObject;
|
|
18
|
-
export declare function isComputed(obs: any): obs is ObservableComputed;
|
|
19
|
-
export declare function checkActivate(node: NodeValue): void;
|
|
20
|
-
export declare function getNode(obs: ObservableReadable): NodeValue;
|
|
21
|
-
export declare function setNodeValue(node: NodeValue, newValue: any): {
|
|
22
|
-
prevValue: any;
|
|
23
|
-
newValue: any;
|
|
24
|
-
parentValue: any;
|
|
25
|
-
};
|
|
26
|
-
export declare function getNodeValue(node: NodeValue): any;
|
|
27
|
-
export declare const cloneFunction: (originalFunction: Function) => (...args: any[]) => any;
|
|
28
|
-
export declare function getChildNode(node: NodeValue, key: string, asFunction?: Function): NodeValue;
|
|
29
|
-
export declare function ensureNodeValue(node: NodeValue): any;
|
|
30
|
-
export declare function findIDKey(obj: unknown | undefined, node: NodeValue): string | ((value: any) => string) | undefined;
|
|
31
|
-
export declare function extractFunction(node: NodeValue, key: string, fnOrComputed: Function, computedChildNode?: never): void;
|
|
32
|
-
export declare function extractFunction(node: NodeValue, key: string, fnOrComputed: ObservableComputed, computedChildNode: NodeValue): void;
|
package/src/helpers/fetch.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare function observableFetch<T>(input: RequestInfo | URL, init?: RequestInit, valueType?: 'arrayBuffer' | 'blob' | 'formData' | 'json' | 'text'): import("@legendapp/state").ObservableObject<{
|
|
2
|
-
data?: T | undefined;
|
|
3
|
-
error?: any;
|
|
4
|
-
errorStr?: string | undefined;
|
|
5
|
-
loading: boolean;
|
|
6
|
-
}>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Observable } from '@legendapp/state';
|
|
2
|
-
interface Options {
|
|
3
|
-
setter: 'pushState' | 'replaceState' | 'hash';
|
|
4
|
-
}
|
|
5
|
-
declare function configurePageHash(options: Options): void;
|
|
6
|
-
declare const pageHash: Observable<string>;
|
|
7
|
-
export { configurePageHash, pageHash };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Observable } from '@legendapp/state';
|
|
2
|
-
interface Options {
|
|
3
|
-
setter: 'pushState' | 'replaceState' | 'hash';
|
|
4
|
-
}
|
|
5
|
-
declare function configurePageHashParams(options: Options): void;
|
|
6
|
-
declare const pageHashParams: Observable<Record<string, string>>;
|
|
7
|
-
export { configurePageHashParams, pageHashParams };
|
package/src/helpers/time.d.ts
DELETED
package/src/helpers.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ObservableEvent, ObservableObject, ObservableReadable, ObservableWriteable, ObserveEvent, OpaqueObject, Selector, TypeAtPath } from './observableInterfaces';
|
|
2
|
-
export declare function isEvent(obs: any): obs is ObservableEvent;
|
|
3
|
-
export declare function computeSelector<T>(selector: Selector<T>, e?: ObserveEvent<T>, retainObservable?: boolean): any;
|
|
4
|
-
export declare function getObservableIndex(obs: ObservableReadable): number;
|
|
5
|
-
export declare function opaqueObject<T extends object>(value: T): OpaqueObject<T>;
|
|
6
|
-
export declare function lockObservable(obs: ObservableReadable, value: boolean): void;
|
|
7
|
-
export declare function setAtPath<T extends object>(obj: T, path: string[], pathTypes: TypeAtPath[], value: any, fullObj?: T, restore?: (path: string[], value: any) => void): T;
|
|
8
|
-
export declare function setInObservableAtPath(obs: ObservableWriteable, path: string[], pathTypes: string[], value: any, mode: 'assign' | 'set'): void;
|
|
9
|
-
export declare function mergeIntoObservable<T extends ObservableObject | object>(target: T, ...sources: any[]): T;
|
|
10
|
-
export declare function constructObjectWithPath(path: string[], pathTypes: TypeAtPath[], value: any): object;
|
|
11
|
-
export declare function deconstructObjectWithPath(path: string[], pathTypes: TypeAtPath[], value: any): object;
|
|
12
|
-
export declare function isObservableValueReady(value: any): boolean;
|
|
13
|
-
export declare function setSilently(obs: ObservableReadable, newValue: any): any;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ObservableReadable, ObservableWriteable } from '@legendapp/state';
|
|
2
|
-
type TimestampAsString = string;
|
|
3
|
-
export declare function trackHistory<T>(obs: ObservableReadable<T>, targetObservable?: ObservableWriteable<Record<TimestampAsString, Partial<T>>>): ObservableWriteable<Record<string, Partial<T>>>;
|
|
4
|
-
export {};
|
package/src/is.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare const hasOwnProperty: (v: PropertyKey) => boolean;
|
|
2
|
-
export declare function isArray(obj: unknown): obj is Array<any>;
|
|
3
|
-
export declare function isString(obj: unknown): obj is string;
|
|
4
|
-
export declare function isObject(obj: unknown): obj is Record<any, any>;
|
|
5
|
-
export declare function isFunction(obj: unknown): obj is Function;
|
|
6
|
-
export declare function isPrimitive(arg: unknown): arg is string | number | bigint | boolean | symbol;
|
|
7
|
-
export declare function isSymbol(obj: unknown): obj is symbol;
|
|
8
|
-
export declare function isBoolean(obj: unknown): obj is boolean;
|
|
9
|
-
export declare function isPromise<T>(obj: unknown): obj is Promise<T>;
|
|
10
|
-
export declare function isEmpty(obj: object): boolean;
|
package/src/observable.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { ActivateParams, ActivateProxyParams, Observable, ObservableComputed, ObservablePrimitive, RecordValue, WithState } from './observableInterfaces';
|
|
2
|
-
type TWithFunctions<T> = T | {
|
|
3
|
-
[K in keyof T]: ((params: ActivateProxyParams<T[K] | RecordValue<T[K]>>) => TWithFunctions<T[K]> | Promise<TWithFunctions<T[K]>> | void) | TWithFunctions<T[K]>;
|
|
4
|
-
};
|
|
5
|
-
export declare function observable<T>(value: Promise<T>): Observable<T & WithState>;
|
|
6
|
-
export declare function observable<T>(value: () => Observable<T>): Observable<T>;
|
|
7
|
-
export declare function observable<T>(value: () => Promise<T>): Observable<T & WithState>;
|
|
8
|
-
export declare function observable<T>(value: () => T): ObservableComputed<T>;
|
|
9
|
-
export declare function observable<T>(value: (params: ActivateParams) => Observable<T>): Observable<T & WithState>;
|
|
10
|
-
export declare function observable<T>(value: (params: ActivateParams) => Promise<T>): Observable<T & WithState>;
|
|
11
|
-
export declare function observable<T>(value: (params: ActivateParams) => T): Observable<T>;
|
|
12
|
-
export declare function observable<T>(value: (params: ActivateProxyParams<T>) => void): Observable<Record<string, T> & WithState>;
|
|
13
|
-
export declare function observable<T>(value?: TWithFunctions<T>): Observable<T>;
|
|
14
|
-
export declare function observablePrimitive<T>(value: Promise<T>): ObservablePrimitive<T & WithState>;
|
|
15
|
-
export declare function observablePrimitive<T>(value?: T): ObservablePrimitive<T>;
|
|
16
|
-
export {};
|
|
@@ -1,456 +0,0 @@
|
|
|
1
|
-
import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';
|
|
2
|
-
import type { symbolGetNode, symbolOpaque } from './globals';
|
|
3
|
-
import { DatabaseReference, Query } from 'firebase/database';
|
|
4
|
-
interface MMKVConfiguration {
|
|
5
|
-
/**
|
|
6
|
-
* The MMKV instance's ID. If you want to use multiple instances, make sure to use different IDs!
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```ts
|
|
10
|
-
* const userStorage = new MMKV({ id: `user-${userId}-storage` })
|
|
11
|
-
* const globalStorage = new MMKV({ id: 'global-app-storage' })
|
|
12
|
-
* ```
|
|
13
|
-
*
|
|
14
|
-
* @default 'mmkv.default'
|
|
15
|
-
*/
|
|
16
|
-
id: string;
|
|
17
|
-
/**
|
|
18
|
-
* The MMKV instance's root path. By default, MMKV stores file inside `$(Documents)/mmkv/`. You can customize MMKV's root directory on MMKV initialization:
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```ts
|
|
22
|
-
* const temporaryStorage = new MMKV({ path: '/tmp/' })
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
path?: string;
|
|
26
|
-
/**
|
|
27
|
-
* The MMKV instance's encryption/decryption key. By default, MMKV stores all key-values in plain text on file, relying on iOS's sandbox to make sure the file is encrypted. Should you worry about information leaking, you can choose to encrypt MMKV.
|
|
28
|
-
*
|
|
29
|
-
* Encryption keys can have a maximum length of 16 bytes.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```ts
|
|
33
|
-
* const secureStorage = new MMKV({ encryptionKey: 'my-encryption-key!' })
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
encryptionKey?: string;
|
|
37
|
-
}
|
|
38
|
-
type Nullable<T> = T | null | undefined;
|
|
39
|
-
export type TrackingType = undefined | true | symbol;
|
|
40
|
-
export interface MapGet<T extends Map<any, any> | WeakMap<any, any>> {
|
|
41
|
-
get(key: Parameters<T['get']>[0]): ObservableChild<Parameters<T['set']>[1]>;
|
|
42
|
-
get(): T;
|
|
43
|
-
size: ObservableChild<number>;
|
|
44
|
-
}
|
|
45
|
-
export interface GetOptions {
|
|
46
|
-
shallow: boolean;
|
|
47
|
-
}
|
|
48
|
-
export interface ObservableBaseFns<T> {
|
|
49
|
-
peek(): T;
|
|
50
|
-
get(options?: TrackingType | GetOptions): T;
|
|
51
|
-
onChange(cb: ListenerFn<T>, options?: {
|
|
52
|
-
trackingType?: TrackingType;
|
|
53
|
-
initial?: boolean;
|
|
54
|
-
immediate?: boolean;
|
|
55
|
-
noArgs?: boolean;
|
|
56
|
-
}): ObservableListenerDispose;
|
|
57
|
-
}
|
|
58
|
-
export interface ObservablePrimitiveBaseFns<T> extends ObservableBaseFns<T> {
|
|
59
|
-
delete(): ObservablePrimitiveBaseFns<T>;
|
|
60
|
-
set(value: Nullable<T> | CallbackSetter<T> | Promise<T> | Observable<T>): ObservablePrimitiveChild<T>;
|
|
61
|
-
}
|
|
62
|
-
export interface ObservablePrimitiveBooleanFns<T> {
|
|
63
|
-
toggle(): T;
|
|
64
|
-
}
|
|
65
|
-
export interface ObservableObjectFns<T> extends ObservableBaseFns<T> {
|
|
66
|
-
set(value: Nullable<T> | CallbackSetter<T> | Promise<T> | Observable<T>): ObservableChild<T>;
|
|
67
|
-
assign(value: T | Partial<T>): ObservableChild<T>;
|
|
68
|
-
delete(): ObservableChild<T>;
|
|
69
|
-
}
|
|
70
|
-
export type ObservablePrimitive<T> = [T] extends [boolean] ? ObservablePrimitiveBaseFns<T> & ObservablePrimitiveBooleanFns<T> : ObservablePrimitiveBaseFns<T>;
|
|
71
|
-
export interface ObservablePrimitiveChildFns<T> extends ObservablePrimitiveBaseFns<T> {
|
|
72
|
-
delete(): ObservablePrimitiveChild<T>;
|
|
73
|
-
}
|
|
74
|
-
type CallbackSetter<T> = {
|
|
75
|
-
bivarianceHack(prev: T): T;
|
|
76
|
-
}['bivarianceHack'];
|
|
77
|
-
export type OpaqueObject<T> = T & {
|
|
78
|
-
[symbolOpaque]: true;
|
|
79
|
-
};
|
|
80
|
-
type ArrayOverrideFnNames = 'find' | 'every' | 'some' | 'filter' | 'reduce' | 'reduceRight' | 'forEach' | 'map';
|
|
81
|
-
type RemoveIndex<T> = {
|
|
82
|
-
[K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
|
|
83
|
-
};
|
|
84
|
-
export type ObservableArrayOverride<T> = Omit<RemoveIndex<Array<T>>, ArrayOverrideFnNames> & Pick<Array<Observable<T>>, ArrayOverrideFnNames> & {
|
|
85
|
-
[n: number]: Observable<T>;
|
|
86
|
-
};
|
|
87
|
-
export interface ListenerParams<T = any> {
|
|
88
|
-
value: T;
|
|
89
|
-
getPrevious: () => T;
|
|
90
|
-
changes: Change[];
|
|
91
|
-
}
|
|
92
|
-
export type ListenerFn<T = any> = (params: ListenerParams<T>) => void;
|
|
93
|
-
type PrimitiveKeys<T> = Pick<T, {
|
|
94
|
-
[K in keyof T]-?: T[K] extends Primitive ? K : never;
|
|
95
|
-
}[keyof T]>;
|
|
96
|
-
type NonPrimitiveKeys<T> = Pick<T, {
|
|
97
|
-
[K in keyof T]-?: T[K] extends Primitive ? never : K;
|
|
98
|
-
}[keyof T]>;
|
|
99
|
-
type Recurse<T, K extends keyof T, TRecurse> = T[K] extends ObservableReadable ? T[K] : T[K] extends Promise<infer t> ? Observable<t & WithState> : T[K] extends () => infer t ? t extends Observable ? t : Observable<t> & T[K] : T[K] extends (params: ActivateParams) => infer t ? t extends Observable ? t : Observable<t> : T[K] extends (params: ActivateProxyParams<infer t>) => void ? t extends Observable ? Record<string, t> : Observable<Record<string, t>> : T[K] extends Function ? T[K] : T[K] extends ObservableProxyTwoWay<infer t, infer t2> ? ObservableProxyTwoWay<t, t2> : T[K] extends ObservableProxy<infer t> ? ObservableProxy<t> : T[K] extends ObservableProxyLink<infer t> ? ObservableProxyLink<t> : T[K] extends Map<any, any> | WeakMap<any, any> ? ObservableMap<T[K]> : T[K] extends Set<any> | WeakSet<any> ? ObservableSet<T[K]> : T[K] extends Set<any> | WeakSet<any> ? T[K] & ObservablePrimitiveBaseFns<T[K]> : T[K] extends OpaqueObject<T[K]> ? T[K] & ObservablePrimitiveChildFns<T[K]> : T[K] extends Primitive ? ObservablePrimitiveChild<T[K]> : T[K] extends Array<any> ? ObservableObjectFns<T[K]> & ObservableArrayOverride<T[K][number]> : T extends object ? TRecurse : T[K];
|
|
100
|
-
type ObservableFnsRecursiveUnsafe<T> = {
|
|
101
|
-
[K in keyof T]-?: Recurse<T, K, ObservableObject<NonNullable<T[K]>>>;
|
|
102
|
-
};
|
|
103
|
-
type ObservableFnsRecursiveSafe<T> = {
|
|
104
|
-
readonly [K in keyof T]-?: Recurse<T, K, ObservableObject<NonNullable<T[K]>>>;
|
|
105
|
-
};
|
|
106
|
-
type ObservableFnsRecursive<T> = ObservableFnsRecursiveSafe<NonPrimitiveKeys<T>> & ObservableFnsRecursiveUnsafe<PrimitiveKeys<T>>;
|
|
107
|
-
type ObservableComputedFnsRecursive<T> = {
|
|
108
|
-
readonly [K in keyof T]-?: Recurse<T, K, ObservableBaseFns<NonNullable<T[K]>>>;
|
|
109
|
-
};
|
|
110
|
-
export interface ObservableEvent {
|
|
111
|
-
fire(): void;
|
|
112
|
-
on(cb?: () => void): ObservableListenerDispose;
|
|
113
|
-
get(): void;
|
|
114
|
-
}
|
|
115
|
-
export type QueryByModified<T> = boolean | {
|
|
116
|
-
[K in keyof T]?: QueryByModified<T[K]>;
|
|
117
|
-
} | {
|
|
118
|
-
'*'?: boolean;
|
|
119
|
-
};
|
|
120
|
-
export type TypeAtPath = 'object' | 'array';
|
|
121
|
-
export interface Change {
|
|
122
|
-
path: string[];
|
|
123
|
-
pathTypes: TypeAtPath[];
|
|
124
|
-
valueAtPath: any;
|
|
125
|
-
prevAtPath: any;
|
|
126
|
-
}
|
|
127
|
-
export interface PersistTransform<T = any> {
|
|
128
|
-
in?: (value: T) => T | Promise<T>;
|
|
129
|
-
out?: (value: T) => T | Promise<T>;
|
|
130
|
-
}
|
|
131
|
-
export interface PersistOptionsLocal<T = any> {
|
|
132
|
-
name: string;
|
|
133
|
-
transform?: PersistTransform<T>;
|
|
134
|
-
fieldTransforms?: FieldTransforms<T>;
|
|
135
|
-
readonly?: boolean;
|
|
136
|
-
mmkv?: MMKVConfiguration;
|
|
137
|
-
indexedDB?: {
|
|
138
|
-
prefixID?: string;
|
|
139
|
-
itemID?: string;
|
|
140
|
-
};
|
|
141
|
-
options?: any;
|
|
142
|
-
}
|
|
143
|
-
export type PersistOptionsRemote<T = any> = ObservablePersistenceConfigRemoteGlobalOptions & {
|
|
144
|
-
readonly?: boolean;
|
|
145
|
-
waitForGet?: Promise<any> | ObservableReadable<any>;
|
|
146
|
-
waitForSet?: Promise<any> | ObservableReadable<any>;
|
|
147
|
-
manual?: boolean;
|
|
148
|
-
fieldTransforms?: FieldTransforms<T>;
|
|
149
|
-
allowSetIfError?: boolean;
|
|
150
|
-
transform?: PersistTransform<T>;
|
|
151
|
-
firebase?: {
|
|
152
|
-
refPath: (uid: string | undefined) => string;
|
|
153
|
-
query?: (ref: DatabaseReference) => DatabaseReference | Query;
|
|
154
|
-
queryByModified?: QueryByModified<T>;
|
|
155
|
-
ignoreKeys?: string[];
|
|
156
|
-
requireAuth?: boolean;
|
|
157
|
-
mode?: 'once' | 'realtime';
|
|
158
|
-
};
|
|
159
|
-
offlineBehavior?: false | 'retry';
|
|
160
|
-
changeTimeout?: number;
|
|
161
|
-
metadataTimeout?: number;
|
|
162
|
-
retry?: RetryOptions;
|
|
163
|
-
onGetError?: (error: Error) => void;
|
|
164
|
-
onSetError?: (error: Error) => void;
|
|
165
|
-
log?: (message?: any, ...optionalParams: any[]) => void;
|
|
166
|
-
onBeforeSet?: () => void;
|
|
167
|
-
onSet?: () => void;
|
|
168
|
-
};
|
|
169
|
-
export interface ObservablePersistenceConfigLocalGlobalOptions {
|
|
170
|
-
onGetError?: (error: Error) => void;
|
|
171
|
-
onSetError?: (error: Error) => void;
|
|
172
|
-
indexedDB?: {
|
|
173
|
-
databaseName: string;
|
|
174
|
-
version: number;
|
|
175
|
-
tableNames: string[];
|
|
176
|
-
};
|
|
177
|
-
asyncStorage?: {
|
|
178
|
-
AsyncStorage: AsyncStorageStatic;
|
|
179
|
-
preload?: boolean | string[];
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
export interface ObservablePersistenceConfigRemoteGlobalOptions {
|
|
183
|
-
saveTimeout?: number;
|
|
184
|
-
dateModifiedKey?: string;
|
|
185
|
-
offlineBehavior?: false | 'retry';
|
|
186
|
-
onGetError?: (error: Error) => void;
|
|
187
|
-
onSetError?: (error: Error) => void;
|
|
188
|
-
log?: (logLevel: 'verbose' | 'warning' | 'error', message: any, ...optionalParams: any[]) => void;
|
|
189
|
-
onBeforeSet?: () => void;
|
|
190
|
-
onSet?: () => void;
|
|
191
|
-
}
|
|
192
|
-
export interface ObservablePersistenceConfig {
|
|
193
|
-
pluginLocal?: ClassConstructor<ObservablePersistLocal>;
|
|
194
|
-
pluginRemote?: ClassConstructor<ObservablePersistRemoteClass> | ObservablePersistRemoteFunctions;
|
|
195
|
-
localOptions?: ObservablePersistenceConfigLocalGlobalOptions;
|
|
196
|
-
remoteOptions?: ObservablePersistenceConfigRemoteGlobalOptions;
|
|
197
|
-
}
|
|
198
|
-
export interface PersistOptions<T = any> {
|
|
199
|
-
local?: string | PersistOptionsLocal<T>;
|
|
200
|
-
remote?: PersistOptionsRemote<T>;
|
|
201
|
-
pluginLocal?: ClassConstructor<ObservablePersistLocal>;
|
|
202
|
-
pluginRemote?: ClassConstructor<ObservablePersistRemoteClass> | ObservablePersistRemoteFunctions<T>;
|
|
203
|
-
}
|
|
204
|
-
export interface PersistMetadata {
|
|
205
|
-
id?: '__legend_metadata';
|
|
206
|
-
modified?: number;
|
|
207
|
-
pending?: any;
|
|
208
|
-
}
|
|
209
|
-
export interface ObservablePersistLocal {
|
|
210
|
-
initialize?(config: ObservablePersistenceConfigLocalGlobalOptions): void | Promise<void>;
|
|
211
|
-
loadTable?(table: string, config: PersistOptionsLocal): Promise<any> | void;
|
|
212
|
-
getTable<T = any>(table: string, config: PersistOptionsLocal): T;
|
|
213
|
-
set(table: string, changes: Change[], config: PersistOptionsLocal): Promise<any> | void;
|
|
214
|
-
deleteTable(table: string, config: PersistOptionsLocal): Promise<any> | void;
|
|
215
|
-
getMetadata(table: string, config: PersistOptionsLocal): PersistMetadata;
|
|
216
|
-
setMetadata(table: string, metadata: PersistMetadata, config: PersistOptionsLocal): Promise<any> | void;
|
|
217
|
-
deleteMetadata(table: string, config: PersistOptionsLocal): Promise<any> | void;
|
|
218
|
-
}
|
|
219
|
-
export interface ObservableOnChangeParams {
|
|
220
|
-
value: unknown;
|
|
221
|
-
path?: string[];
|
|
222
|
-
pathTypes?: TypeAtPath[];
|
|
223
|
-
mode?: 'assign' | 'set' | 'dateModified';
|
|
224
|
-
dateModified?: number | undefined;
|
|
225
|
-
}
|
|
226
|
-
export interface ObservablePersistRemoteSetParams<T> {
|
|
227
|
-
syncState: Observable<ObservablePersistState>;
|
|
228
|
-
obs: Observable<T>;
|
|
229
|
-
options: PersistOptions<T>;
|
|
230
|
-
changes: Change[];
|
|
231
|
-
value: T;
|
|
232
|
-
}
|
|
233
|
-
export interface ObservablePersistRemoteGetParams<T> {
|
|
234
|
-
state: Observable<ObservablePersistState>;
|
|
235
|
-
obs: ObservableReadable<T>;
|
|
236
|
-
options: PersistOptions<T>;
|
|
237
|
-
dateModified?: number;
|
|
238
|
-
onGet: () => void;
|
|
239
|
-
onError: (error: Error) => void;
|
|
240
|
-
onChange: (params: ObservableOnChangeParams) => void | Promise<void>;
|
|
241
|
-
}
|
|
242
|
-
export type ObservablePersistRemoteGetFnParams<T> = Omit<ObservablePersistRemoteGetParams<T>, 'onGet'>;
|
|
243
|
-
export interface ObservablePersistRemoteClass {
|
|
244
|
-
get?<T>(params: ObservablePersistRemoteGetParams<T>): void;
|
|
245
|
-
set?<T>(params: ObservablePersistRemoteSetParams<T>): void | Promise<void | {
|
|
246
|
-
changes?: object;
|
|
247
|
-
dateModified?: number;
|
|
248
|
-
pathStrs?: string[];
|
|
249
|
-
}>;
|
|
250
|
-
}
|
|
251
|
-
export interface ObservablePersistRemoteFunctions<T = any> {
|
|
252
|
-
get?(params: ObservablePersistRemoteGetFnParams<T>): T | Promise<T>;
|
|
253
|
-
set?(params: ObservablePersistRemoteSetParams<T>): void | Promise<void | {
|
|
254
|
-
changes?: object | undefined;
|
|
255
|
-
dateModified?: number;
|
|
256
|
-
}>;
|
|
257
|
-
}
|
|
258
|
-
export interface ObservableState {
|
|
259
|
-
isLoaded: boolean;
|
|
260
|
-
error?: Error;
|
|
261
|
-
}
|
|
262
|
-
export interface WithState {
|
|
263
|
-
state?: ObservableState;
|
|
264
|
-
_state?: ObservableState;
|
|
265
|
-
}
|
|
266
|
-
export interface ObservablePersistStateBase {
|
|
267
|
-
isLoadedLocal: boolean;
|
|
268
|
-
isEnabledLocal: boolean;
|
|
269
|
-
isEnabledRemote: boolean;
|
|
270
|
-
dateModified?: number;
|
|
271
|
-
syncCount?: number;
|
|
272
|
-
clearLocal: () => Promise<void>;
|
|
273
|
-
sync: () => Promise<void>;
|
|
274
|
-
getPendingChanges: () => Record<string, {
|
|
275
|
-
p: any;
|
|
276
|
-
v?: any;
|
|
277
|
-
}> | undefined;
|
|
278
|
-
}
|
|
279
|
-
export type ObservablePersistState = ObservableState & ObservablePersistStateBase;
|
|
280
|
-
export type ObservablePersistStateInternal = ObservablePersistState & {
|
|
281
|
-
refreshNum: number;
|
|
282
|
-
};
|
|
283
|
-
export interface WithPersistState {
|
|
284
|
-
state?: ObservablePersistState;
|
|
285
|
-
_state?: ObservablePersistState;
|
|
286
|
-
}
|
|
287
|
-
export type RecordValue<T> = T extends Record<string, infer t> ? t : never;
|
|
288
|
-
export type ArrayValue<T> = T extends Array<infer t> ? t : never;
|
|
289
|
-
export type ObservableValue<T> = T extends Observable<infer t> ? t : never;
|
|
290
|
-
declare type ObjectKeys<T> = Pick<T, {
|
|
291
|
-
[K in keyof T]-?: K extends string ? T[K] extends Record<string, any> ? T[K] extends any[] ? never : K : never : never;
|
|
292
|
-
}[keyof T]>;
|
|
293
|
-
declare type DictKeys<T> = Pick<T, {
|
|
294
|
-
[K in keyof T]-?: K extends string ? (T[K] extends Record<string, Record<string, any>> ? K : never) : never;
|
|
295
|
-
}[keyof T]>;
|
|
296
|
-
declare type ArrayKeys<T> = Pick<T, {
|
|
297
|
-
[K in keyof T]-?: K extends string | number ? (T[K] extends any[] ? K : never) : never;
|
|
298
|
-
}[keyof T]>;
|
|
299
|
-
export declare type FieldTransforms<T> = (T extends Record<string, Record<string, any>> ? {
|
|
300
|
-
_dict: FieldTransformsInner<RecordValue<T>>;
|
|
301
|
-
} : never) | FieldTransformsInner<T>;
|
|
302
|
-
export declare type FieldTransformsInner<T> = {
|
|
303
|
-
[K in keyof T]: string;
|
|
304
|
-
} & ({
|
|
305
|
-
[K in keyof ObjectKeys<T> as `${K}_obj`]?: FieldTransforms<T[K]>;
|
|
306
|
-
} | {
|
|
307
|
-
[K in keyof DictKeys<T> as `${K}_dict`]?: FieldTransforms<RecordValue<T[K]>>;
|
|
308
|
-
}) & {
|
|
309
|
-
[K in keyof ArrayKeys<T> as `${K}_arr`]?: FieldTransforms<ArrayValue<T[K]>>;
|
|
310
|
-
} & {
|
|
311
|
-
[K in keyof ArrayKeys<T> as `${K}_val`]?: FieldTransforms<ArrayValue<T[K]>>;
|
|
312
|
-
};
|
|
313
|
-
export type Selector<T> = ObservableReadable<T> | ObservableEvent | (() => T) | T;
|
|
314
|
-
export type ClassConstructor<I, Args extends any[] = any[]> = new (...args: Args) => I;
|
|
315
|
-
export type ObservableListenerDispose = () => void;
|
|
316
|
-
export interface ObservableRoot {
|
|
317
|
-
_: any;
|
|
318
|
-
locked?: boolean;
|
|
319
|
-
toActivate?: NodeValue[];
|
|
320
|
-
set?: (value: any) => void;
|
|
321
|
-
activate?: () => void;
|
|
322
|
-
}
|
|
323
|
-
export type Primitive = boolean | string | number | Date;
|
|
324
|
-
export type NotPrimitive<T> = T extends Primitive ? never : T;
|
|
325
|
-
export type ObservableMap<T extends Map<any, any> | WeakMap<any, any>> = Omit<T, 'get' | 'size'> & Omit<ObservablePrimitiveBaseFns<T>, 'get' | 'size'> & MapGet<T>;
|
|
326
|
-
export type ObservableSet<T extends Set<any> | WeakSet<any>> = Omit<T, 'size'> & Omit<ObservablePrimitiveBaseFns<T>, 'size'> & {
|
|
327
|
-
size: ObservablePrimitiveChild<number>;
|
|
328
|
-
};
|
|
329
|
-
export type ObservableMapIfMap<T> = T extends Map<any, any> | WeakMap<any, any> ? ObservableMap<T> : never;
|
|
330
|
-
export type ObservableArray<T extends any[]> = ObservableObjectFns<T> & ObservableArrayOverride<T[number]>;
|
|
331
|
-
export type ObservableObject<T = any> = ObservableFnsRecursive<T> & ObservableObjectFns<T>;
|
|
332
|
-
export type ObservableChild<T = any> = [T] extends [Primitive] ? ObservablePrimitiveChild<T> : ObservableObject<T>;
|
|
333
|
-
export type ObservablePrimitiveChild<T = any> = [T] extends [boolean] ? ObservablePrimitiveChildFns<T> & ObservablePrimitiveBooleanFns<T> : ObservablePrimitiveChildFns<T>;
|
|
334
|
-
export type ObservableObjectOrArray<T> = T extends Map<any, any> | WeakMap<any, any> ? ObservableMap<T> : T extends Set<any> | WeakSet<any> ? ObservableSet<T> : T extends any[] ? ObservableArray<T> : ObservableObject<T>;
|
|
335
|
-
export type ObservableComputed<T = any> = ObservableBaseFns<T> & ObservableComputedFnsRecursive<T>;
|
|
336
|
-
export type ObservableComputedTwoWay<T = any, T2 = T> = ObservableComputed<T> & ObservablePrimitiveBaseFns<T2>;
|
|
337
|
-
type Equals<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false;
|
|
338
|
-
export type Observable<T = any> = Equals<T, any> extends true ? ObservableObject<any> : [T] extends [object] ? ObservableObjectOrArray<T> : ObservablePrimitive<T>;
|
|
339
|
-
export type ObservableReadable<T = any> = ObservableBaseFns<T> | ObservablePrimitiveBaseFns<T> | ObservablePrimitiveChildFns<T> | ObservableObjectFns<T> | ObservableMapIfMap<T>;
|
|
340
|
-
export type ObservableWriteable<T = any> = ObservableReadable<T> & {
|
|
341
|
-
set(value: Nullable<T> | CallbackSetter<T> | Promise<T>): any;
|
|
342
|
-
delete?: () => any;
|
|
343
|
-
};
|
|
344
|
-
export interface NodeValueListener {
|
|
345
|
-
track: TrackingType;
|
|
346
|
-
noArgs?: boolean;
|
|
347
|
-
listener: ListenerFn;
|
|
348
|
-
}
|
|
349
|
-
interface BaseNodeValue {
|
|
350
|
-
children?: Map<string, ChildNodeValue>;
|
|
351
|
-
proxy?: object;
|
|
352
|
-
isActivatedPrimitive?: boolean;
|
|
353
|
-
root: ObservableRoot;
|
|
354
|
-
listeners?: Set<NodeValueListener>;
|
|
355
|
-
listenersImmediate?: Set<NodeValueListener>;
|
|
356
|
-
isComputed?: boolean;
|
|
357
|
-
proxyFn?: (key: string) => ObservableReadable;
|
|
358
|
-
isEvent?: boolean;
|
|
359
|
-
linkedToNode?: NodeValue;
|
|
360
|
-
linkedFromNodes?: Set<NodeValue>;
|
|
361
|
-
isSetting?: number;
|
|
362
|
-
isAssigning?: number;
|
|
363
|
-
parentOther?: NodeValue;
|
|
364
|
-
functions?: Map<string, Function | ObservableComputed<any>>;
|
|
365
|
-
lazy?: boolean | Function;
|
|
366
|
-
state?: Observable<ObservablePersistState>;
|
|
367
|
-
activated?: boolean;
|
|
368
|
-
proxyFn2?: (key: string, params: ActivateParams) => any;
|
|
369
|
-
activationState?: {
|
|
370
|
-
onSetFn?: (value: ListenerParams<any>, extra: OnSetExtra) => void | Promise<any>;
|
|
371
|
-
update?: UpdateFn;
|
|
372
|
-
subscriber?: (params: SubscribeOptions) => void;
|
|
373
|
-
retryOptions?: RetryOptions;
|
|
374
|
-
lastSync: {
|
|
375
|
-
value?: number;
|
|
376
|
-
};
|
|
377
|
-
cacheOptions?: CacheOptions;
|
|
378
|
-
};
|
|
379
|
-
}
|
|
380
|
-
export interface RootNodeValue extends BaseNodeValue {
|
|
381
|
-
parent?: undefined;
|
|
382
|
-
key?: undefined;
|
|
383
|
-
}
|
|
384
|
-
export interface ChildNodeValue extends BaseNodeValue {
|
|
385
|
-
parent: NodeValue;
|
|
386
|
-
key: string;
|
|
387
|
-
}
|
|
388
|
-
export type NodeValue = RootNodeValue | ChildNodeValue;
|
|
389
|
-
export interface ObserveEvent<T> {
|
|
390
|
-
num: number;
|
|
391
|
-
previous?: T | undefined;
|
|
392
|
-
cancel?: boolean;
|
|
393
|
-
onCleanup?: () => void;
|
|
394
|
-
}
|
|
395
|
-
export interface ObserveEventCallback<T> {
|
|
396
|
-
num: number;
|
|
397
|
-
previous?: T | undefined;
|
|
398
|
-
value?: T;
|
|
399
|
-
cancel?: boolean;
|
|
400
|
-
onCleanup?: () => void;
|
|
401
|
-
onCleanupReaction?: () => void;
|
|
402
|
-
}
|
|
403
|
-
export type ObservableProxy<T extends Record<string, any>> = {
|
|
404
|
-
[K in keyof T]: ObservableComputed<T[K]>;
|
|
405
|
-
} & ObservableBaseFns<T> & {
|
|
406
|
-
[symbolGetNode]: NodeValue;
|
|
407
|
-
};
|
|
408
|
-
export type ObservableProxyLink<T extends Record<string, any>> = {
|
|
409
|
-
[K in keyof T]: Observable<T[K]>;
|
|
410
|
-
} & ObservableBaseFns<T> & {
|
|
411
|
-
[symbolGetNode]: NodeValue;
|
|
412
|
-
};
|
|
413
|
-
export type ObservableProxyTwoWay<T extends Record<string, any>, T2> = {
|
|
414
|
-
[K in keyof T]: ObservableComputedTwoWay<T[K], T2>;
|
|
415
|
-
} & ObservableBaseFns<T> & {
|
|
416
|
-
[symbolGetNode]: NodeValue;
|
|
417
|
-
};
|
|
418
|
-
export interface CacheOptions<T = any> {
|
|
419
|
-
local: string | PersistOptionsLocal<T>;
|
|
420
|
-
pluginLocal?: ClassConstructor<ObservablePersistLocal, T[]>;
|
|
421
|
-
}
|
|
422
|
-
export interface ActivateParams<T = any> {
|
|
423
|
-
obs$: Observable<T>;
|
|
424
|
-
onSet: (fn: (params: ListenerParams<T>, extra: OnSetExtra) => void | Promise<any>) => void;
|
|
425
|
-
subscribe: (fn: (params: {
|
|
426
|
-
update: UpdateFn;
|
|
427
|
-
refresh: () => void;
|
|
428
|
-
}) => void) => void;
|
|
429
|
-
}
|
|
430
|
-
export interface ActivateProxyParams<T = any> extends ActivateParams {
|
|
431
|
-
proxy: (fn: (key: string, params: ActivateParams<T>) => T | Promise<T>) => void;
|
|
432
|
-
}
|
|
433
|
-
export type UpdateFn = (params: {
|
|
434
|
-
value: unknown;
|
|
435
|
-
mode?: 'assign' | 'set' | 'dateModified';
|
|
436
|
-
dateModified?: number | undefined;
|
|
437
|
-
}) => void;
|
|
438
|
-
export interface RetryOptions {
|
|
439
|
-
infinite?: boolean;
|
|
440
|
-
times?: number;
|
|
441
|
-
delay?: number;
|
|
442
|
-
backoff?: 'constant' | 'exponential';
|
|
443
|
-
maxDelay?: number;
|
|
444
|
-
}
|
|
445
|
-
export interface OnSetExtra {
|
|
446
|
-
update: UpdateFn;
|
|
447
|
-
}
|
|
448
|
-
export interface SubscribeOptions {
|
|
449
|
-
update: UpdateFn;
|
|
450
|
-
refresh: () => void;
|
|
451
|
-
}
|
|
452
|
-
export interface CacheReturnValue {
|
|
453
|
-
dateModified: number;
|
|
454
|
-
value: any;
|
|
455
|
-
}
|
|
456
|
-
export {};
|
package/src/observe.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ObserveEvent, ObserveEventCallback, Selector } from './observableInterfaces';
|
|
2
|
-
export interface ObserveOptions {
|
|
3
|
-
immediate?: boolean;
|
|
4
|
-
}
|
|
5
|
-
export declare function observe<T>(run: (e: ObserveEvent<T>) => T | void, options?: ObserveOptions): () => void;
|
|
6
|
-
export declare function observe<T>(selector: Selector<T> | ((e: ObserveEvent<T>) => any), reaction?: (e: ObserveEventCallback<T>) => any, options?: ObserveOptions): () => void;
|
package/src/onChange.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ListenerFn, NodeValue, TrackingType } from './observableInterfaces';
|
|
2
|
-
export declare function onChange(node: NodeValue, callback: ListenerFn, options?: {
|
|
3
|
-
trackingType?: TrackingType;
|
|
4
|
-
initial?: boolean;
|
|
5
|
-
immediate?: boolean;
|
|
6
|
-
noArgs?: boolean;
|
|
7
|
-
}): () => void;
|