@legendapp/state 2.0.0 → 2.0.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/CHANGELOG.md +38 -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 +67 -33
- package/index.js.map +1 -1
- package/index.mjs +66 -34
- package/index.mjs.map +1 -1
- package/package.json +19 -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 +27 -20
- package/persist.js.map +1 -1
- package/persist.mjs +28 -21
- 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 +3 -2
- package/react-hooks/usePersistedObservable.js.map +1 -1
- package/react-hooks/usePersistedObservable.mjs.map +1 -1
- package/react.js +57 -24
- package/react.js.map +1 -1
- package/react.mjs +58 -25
- 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 +29 -18
- package/src/observe.d.ts +0 -1
- package/src/persist/observablePersistRemoteFunctionsAdapter.d.ts +1 -1
- package/src/persist/persistObservable.d.ts +6 -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 +3 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { NodeValue, TrackingType } from './observableInterfaces';
|
|
1
|
+
import type { GetOptions, NodeValue, ObservableObject, TrackingType } from './observableInterfaces';
|
|
2
2
|
export declare const observableProperties: Map<string, {
|
|
3
3
|
get: (node: NodeValue, ...args: any[]) => any;
|
|
4
4
|
set: (node: NodeValue, value: any) => any;
|
|
5
5
|
}>;
|
|
6
6
|
export declare const observableFns: Map<string, (node: NodeValue, ...args: any[]) => any>;
|
|
7
|
-
export declare function getProxy(node: NodeValue, p?: string):
|
|
7
|
+
export declare function getProxy(node: NodeValue, p?: string): ObservableObject;
|
|
8
8
|
export declare function set(node: NodeValue, newValue?: any): any;
|
|
9
9
|
export declare function extractPromise(node: NodeValue, value: Promise<any>): void;
|
|
10
10
|
export declare function extractFunctionOrComputed(node: NodeValue, obj: Record<string, any>, k: string, v: any): true | undefined;
|
|
11
|
-
export declare function get(node: NodeValue,
|
|
11
|
+
export declare function get(node: NodeValue, options?: TrackingType | GetOptions): any;
|
|
12
12
|
export declare function peek(node: NodeValue): any;
|
|
@@ -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,2 @@
|
|
|
1
|
+
import type { ObservableObjectOrArray, ObservablePrimitive } from './observableInterfaces';
|
|
2
|
+
export declare function createObservable<T>(value: T | undefined, makePrimitive: boolean, createObject: Function, createPrimitive?: Function): ObservablePrimitive<T> | ObservableObjectOrArray<T>;
|
package/src/globals.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export declare const symbolGetNode: unique symbol;
|
|
|
4
4
|
export declare const symbolDelete: unique symbol;
|
|
5
5
|
export declare const symbolOpaque: unique symbol;
|
|
6
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>;
|
|
7
9
|
export declare const globalState: {
|
|
8
10
|
isLoadingLocal: boolean;
|
|
9
11
|
isLoadingRemote: boolean;
|
package/src/helpers.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ export declare function getObservableIndex(obs: ObservableReadable): number;
|
|
|
7
7
|
export declare function opaqueObject<T extends object>(value: T): OpaqueObject<T>;
|
|
8
8
|
export declare function lockObservable(obs: ObservableReadable, value: boolean): void;
|
|
9
9
|
export declare function setAtPath<T extends object>(obj: T, path: string[], pathTypes: TypeAtPath[], value: any, fullObj?: T, restore?: (path: string[], value: any) => void): T;
|
|
10
|
-
export declare function setInObservableAtPath(obs: ObservableWriteable, path: string[], value: any, mode: 'assign' | 'set'): void;
|
|
10
|
+
export declare function setInObservableAtPath(obs: ObservableWriteable, path: string[], pathTypes: string[], value: any, mode: 'assign' | 'set'): void;
|
|
11
11
|
export declare function mergeIntoObservable<T extends ObservableObject | object>(target: T, ...sources: any[]): T;
|
|
12
|
-
export declare function constructObjectWithPath(path: string[],
|
|
13
|
-
export declare function deconstructObjectWithPath(path: string[], value: any): object;
|
|
12
|
+
export declare function constructObjectWithPath(path: string[], pathTypes: TypeAtPath[], value: any): object;
|
|
13
|
+
export declare function deconstructObjectWithPath(path: string[], pathTypes: TypeAtPath[], value: any): object;
|
|
14
14
|
export declare function isObservableValueReady(value: any): boolean;
|
|
15
15
|
export declare function setSilently(obs: ObservableReadable, newValue: any): any;
|
package/src/observable.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Observable, ObservablePrimitive,
|
|
2
|
-
export declare function observable<T>(value: Promise<T>): Observable<T &
|
|
1
|
+
import type { Observable, ObservablePrimitive, WithState } from './observableInterfaces';
|
|
2
|
+
export declare function observable<T>(value: Promise<T>): Observable<T & WithState>;
|
|
3
3
|
export declare function observable<T>(value?: T): Observable<T>;
|
|
4
|
-
export declare function observablePrimitive<T>(value: Promise<T>): ObservablePrimitive<T &
|
|
4
|
+
export declare function observablePrimitive<T>(value: Promise<T>): ObservablePrimitive<T & WithState>;
|
|
5
5
|
export declare function observablePrimitive<T>(value?: T): ObservablePrimitive<T>;
|
|
@@ -42,9 +42,12 @@ export interface MapGet<T extends Map<any, any> | WeakMap<any, any>> {
|
|
|
42
42
|
get(): T;
|
|
43
43
|
size: ObservableChild<number>;
|
|
44
44
|
}
|
|
45
|
+
export interface GetOptions {
|
|
46
|
+
shallow: boolean;
|
|
47
|
+
}
|
|
45
48
|
export interface ObservableBaseFns<T> {
|
|
46
49
|
peek(): T;
|
|
47
|
-
get(
|
|
50
|
+
get(options?: TrackingType | GetOptions): T;
|
|
48
51
|
onChange(cb: ListenerFn<T>, options?: {
|
|
49
52
|
trackingType?: TrackingType;
|
|
50
53
|
initial?: boolean;
|
|
@@ -93,7 +96,7 @@ type PrimitiveKeys<T> = Pick<T, {
|
|
|
93
96
|
type NonPrimitiveKeys<T> = Pick<T, {
|
|
94
97
|
[K in keyof T]-?: T[K] extends Primitive ? never : K;
|
|
95
98
|
}[keyof T]>;
|
|
96
|
-
type Recurse<T, K extends keyof T, TRecurse> = T[K] extends ObservableReadable ? T[K] : T[K] extends Promise<infer t> ? Observable<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 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];
|
|
97
100
|
type ObservableFnsRecursiveUnsafe<T> = {
|
|
98
101
|
[K in keyof T]-?: Recurse<T, K, ObservableObject<NonNullable<T[K]>>>;
|
|
99
102
|
};
|
|
@@ -190,11 +193,11 @@ export interface ObservablePersistenceConfig {
|
|
|
190
193
|
localOptions?: ObservablePersistenceConfigLocalGlobalOptions;
|
|
191
194
|
remoteOptions?: ObservablePersistenceConfigRemoteGlobalOptions;
|
|
192
195
|
}
|
|
193
|
-
export interface PersistOptions<T = any
|
|
196
|
+
export interface PersistOptions<T = any> {
|
|
194
197
|
local?: string | PersistOptionsLocal<T>;
|
|
195
198
|
remote?: PersistOptionsRemote<T>;
|
|
196
199
|
pluginLocal?: ClassConstructor<ObservablePersistLocal>;
|
|
197
|
-
pluginRemote?: ClassConstructor<ObservablePersistRemoteClass> | ObservablePersistRemoteFunctions<T
|
|
200
|
+
pluginRemote?: ClassConstructor<ObservablePersistRemoteClass> | ObservablePersistRemoteFunctions<T>;
|
|
198
201
|
}
|
|
199
202
|
export interface PersistMetadata {
|
|
200
203
|
id?: '__legend_metadata';
|
|
@@ -218,10 +221,10 @@ export interface ObservablePersistRemoteSetParams<T> {
|
|
|
218
221
|
changes: Change[];
|
|
219
222
|
value: T;
|
|
220
223
|
}
|
|
221
|
-
export interface ObservablePersistRemoteGetParams<T
|
|
222
|
-
state: Observable<ObservablePersistState
|
|
224
|
+
export interface ObservablePersistRemoteGetParams<T> {
|
|
225
|
+
state: Observable<ObservablePersistState>;
|
|
223
226
|
obs: ObservableReadable<T>;
|
|
224
|
-
options: PersistOptions<T
|
|
227
|
+
options: PersistOptions<T>;
|
|
225
228
|
dateModified?: number;
|
|
226
229
|
onGet: () => void;
|
|
227
230
|
onChange: (params: {
|
|
@@ -232,27 +235,33 @@ export interface ObservablePersistRemoteGetParams<T, TState = {}> {
|
|
|
232
235
|
dateModified?: number | undefined;
|
|
233
236
|
}) => void | Promise<void>;
|
|
234
237
|
}
|
|
235
|
-
export interface ObservablePersistRemoteClass
|
|
236
|
-
get<T>(params: ObservablePersistRemoteGetParams<T
|
|
238
|
+
export interface ObservablePersistRemoteClass {
|
|
239
|
+
get<T>(params: ObservablePersistRemoteGetParams<T>): void;
|
|
237
240
|
set?<T>(params: ObservablePersistRemoteSetParams<T>): Promise<void | {
|
|
238
241
|
changes?: object;
|
|
239
242
|
dateModified?: number;
|
|
240
243
|
pathStrs?: string[];
|
|
241
244
|
}>;
|
|
242
245
|
}
|
|
243
|
-
export interface ObservablePersistRemoteFunctions<T = any
|
|
244
|
-
get(params: ObservablePersistRemoteGetParams<T
|
|
246
|
+
export interface ObservablePersistRemoteFunctions<T = any> {
|
|
247
|
+
get(params: ObservablePersistRemoteGetParams<T>): T | Promise<T>;
|
|
245
248
|
set?(params: ObservablePersistRemoteSetParams<T>): Promise<void | {
|
|
246
249
|
changes?: object | undefined;
|
|
247
250
|
dateModified?: number;
|
|
248
251
|
}>;
|
|
249
252
|
}
|
|
250
|
-
export interface
|
|
253
|
+
export interface ObservableState {
|
|
254
|
+
isLoaded: boolean;
|
|
255
|
+
error?: Error;
|
|
256
|
+
}
|
|
257
|
+
export interface WithState {
|
|
258
|
+
state?: ObservableState;
|
|
259
|
+
_state?: ObservableState;
|
|
260
|
+
}
|
|
261
|
+
export interface ObservablePersistState extends ObservableState {
|
|
251
262
|
isLoadedLocal: boolean;
|
|
252
|
-
isLoadedRemote: boolean;
|
|
253
263
|
isEnabledLocal: boolean;
|
|
254
264
|
isEnabledRemote: boolean;
|
|
255
|
-
remoteError?: Error;
|
|
256
265
|
dateModified?: number;
|
|
257
266
|
clearLocal: () => Promise<void>;
|
|
258
267
|
sync: () => Promise<void>;
|
|
@@ -261,6 +270,10 @@ export interface ObservablePersistState {
|
|
|
261
270
|
v?: any;
|
|
262
271
|
}> | undefined;
|
|
263
272
|
}
|
|
273
|
+
export interface WithPersistState {
|
|
274
|
+
state?: ObservablePersistState;
|
|
275
|
+
_state?: ObservablePersistState;
|
|
276
|
+
}
|
|
264
277
|
export type RecordValue<T> = T extends Record<string, infer t> ? t : never;
|
|
265
278
|
export type ArrayValue<T> = T extends Array<infer t> ? t : never;
|
|
266
279
|
export type ObservableValue<T> = T extends Observable<infer t> ? t : never;
|
|
@@ -326,6 +339,7 @@ export interface NodeValueListener {
|
|
|
326
339
|
interface BaseNodeValue {
|
|
327
340
|
children?: Map<string, ChildNodeValue>;
|
|
328
341
|
proxy?: object;
|
|
342
|
+
isActivatedPrimitive?: boolean;
|
|
329
343
|
root: ObservableRoot;
|
|
330
344
|
listeners?: Set<NodeValueListener>;
|
|
331
345
|
listenersImmediate?: Set<NodeValueListener>;
|
|
@@ -339,6 +353,7 @@ interface BaseNodeValue {
|
|
|
339
353
|
parentOther?: NodeValue;
|
|
340
354
|
functions?: Map<string, Function | ObservableComputed<any>>;
|
|
341
355
|
lazy?: boolean;
|
|
356
|
+
state?: Observable<ObservableState>;
|
|
342
357
|
}
|
|
343
358
|
export interface RootNodeValue extends BaseNodeValue {
|
|
344
359
|
parent?: undefined;
|
|
@@ -378,8 +393,4 @@ export type ObservableProxyTwoWay<T extends Record<string, any>, T2> = {
|
|
|
378
393
|
} & ObservableBaseFns<T> & {
|
|
379
394
|
[symbolGetNode]: NodeValue;
|
|
380
395
|
};
|
|
381
|
-
export type PromiseInfo = {
|
|
382
|
-
error?: any;
|
|
383
|
-
status?: 'pending' | 'rejected';
|
|
384
|
-
};
|
|
385
396
|
export {};
|
package/src/observe.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ObserveEvent, ObserveEventCallback, Selector } from './observableInterfaces';
|
|
2
2
|
export interface ObserveOptions {
|
|
3
3
|
immediate?: boolean;
|
|
4
|
-
retainObservable?: boolean;
|
|
5
4
|
}
|
|
6
5
|
export declare function observe<T>(run: (e: ObserveEvent<T>) => T | void, options?: ObserveOptions): () => void;
|
|
7
6
|
export declare function observe<T>(selector: Selector<T> | ((e: ObserveEvent<T>) => any), reaction?: (e: ObserveEventCallback<T>) => any, options?: ObserveOptions): () => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { ObservablePersistRemoteClass, ObservablePersistRemoteFunctions } from '@legendapp/state';
|
|
2
|
-
export declare function observablePersistRemoteFunctionsAdapter<T = {}
|
|
2
|
+
export declare function observablePersistRemoteFunctionsAdapter<T = {}>({ get, set, }: ObservablePersistRemoteFunctions<T>): ObservablePersistRemoteClass;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClassConstructor, FieldTransforms, Observable, ObservableObject, ObservablePersistLocal, ObservablePersistRemoteClass,
|
|
1
|
+
import type { ClassConstructor, FieldTransforms, Observable, ObservableObject, ObservablePersistLocal, ObservablePersistRemoteClass, ObservableWriteable, PersistOptions, PersistTransform, Primitive, TypeAtPath, WithPersistState } from '@legendapp/state';
|
|
2
2
|
export declare const mapPersistences: WeakMap<ClassConstructor<ObservablePersistLocal | ObservablePersistRemoteClass>, {
|
|
3
3
|
persist: ObservablePersistLocal | ObservablePersistRemoteClass;
|
|
4
4
|
initialized?: Observable<boolean>;
|
|
@@ -21,5 +21,8 @@ export declare function transformLoadData(value: any, { transform, fieldTransfor
|
|
|
21
21
|
transform?: PersistTransform;
|
|
22
22
|
}, doUserTransform: boolean): Promise<any> | any;
|
|
23
23
|
export declare function onChangeRemote(cb: () => void): void;
|
|
24
|
-
export
|
|
25
|
-
|
|
24
|
+
export type WithoutState = any[] | Primitive | (Record<string, any> & {
|
|
25
|
+
_state?: never;
|
|
26
|
+
});
|
|
27
|
+
export declare function persistObservable<T extends WithoutState>(observable: ObservableWriteable<T>, persistOptions: PersistOptions<T>): Observable<WithPersistState & T>;
|
|
28
|
+
export declare function persistObservable<T extends WithoutState>(initial: T | (() => T) | (() => Promise<T>), persistOptions: PersistOptions<T>): Observable<WithPersistState & T>;
|
|
@@ -14,7 +14,5 @@ type Params<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>
|
|
|
14
14
|
queryClient?: QueryClient;
|
|
15
15
|
useContext?: true;
|
|
16
16
|
});
|
|
17
|
-
export declare function persistPluginQuery<TObs, TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>({ query: options, mutation: mutationOptions, type, queryClient, useContext, }: Params<TQueryFnData, TError, TData, TQueryData, TQueryKey>): ObservablePersistRemoteFunctions<TObs
|
|
18
|
-
query: UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>;
|
|
19
|
-
}>;
|
|
17
|
+
export declare function persistPluginQuery<TObs, TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>({ query: options, mutation: mutationOptions, type, queryClient, useContext, }: Params<TQueryFnData, TError, TData, TQueryData, TQueryKey>): ObservablePersistRemoteFunctions<TObs>;
|
|
20
18
|
export {};
|
package/src/react/For.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { Observable, ObservableReadable } from '@legendapp/state';
|
|
2
2
|
import { FC, ReactElement } from 'react';
|
|
3
|
+
type ForItemProps<T, TProps = {}> = {
|
|
4
|
+
item$: Observable<T>;
|
|
5
|
+
id?: string;
|
|
6
|
+
} & TProps;
|
|
3
7
|
export declare function For<T, TProps>({ each, optimized: isOptimized, item, itemProps, sortValues, children, }: {
|
|
4
8
|
each?: ObservableReadable<T[] | Record<any, T> | Map<any, T>>;
|
|
5
9
|
optimized?: boolean;
|
|
6
|
-
item?: FC<
|
|
7
|
-
item: Observable<T>;
|
|
8
|
-
id?: string;
|
|
9
|
-
} & TProps>;
|
|
10
|
+
item?: FC<ForItemProps<T, TProps>>;
|
|
10
11
|
itemProps?: TProps;
|
|
11
12
|
sortValues?: (A: T, B: T, AKey: string, BKey: string) => number;
|
|
12
|
-
children?: (value: Observable<T
|
|
13
|
+
children?: (value: Observable<T>, id: string | undefined) => ReactElement;
|
|
13
14
|
}): ReactElement | null;
|
|
15
|
+
export {};
|
package/src/react/useMount.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function useMount(fn: EffectCallback): void;
|
|
1
|
+
export declare function useMount(fn: () => (void | (() => void)) | Promise<void>): void;
|
|
3
2
|
export declare const useMountOnce: (effect: () => void | (() => void)) => void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Observable,
|
|
1
|
+
import { Observable, PersistOptions, WithPersistState } from '@legendapp/state';
|
|
2
|
+
import type { WithoutState } from '../persist/persistObservable';
|
|
2
3
|
/**
|
|
3
4
|
* A React hook that creates a new observable and can optionally listen or persist its state.
|
|
4
5
|
*
|
|
@@ -7,4 +8,4 @@ import { Observable, ObservableObject, ObservablePersistState, PersistOptions }
|
|
|
7
8
|
*
|
|
8
9
|
* @see https://www.legendapp.com/dev/state/react/#useObservable
|
|
9
10
|
*/
|
|
10
|
-
export declare function usePersistedObservable<T>(initialValue: T | (() => T) | (() => Promise<T>), options: PersistOptions<T>):
|
|
11
|
+
export declare function usePersistedObservable<T extends WithoutState>(initialValue: T | (() => T) | (() => Promise<T>), options: PersistOptions<T>): Observable<WithPersistState & T>;
|