@legendapp/state 3.0.0-alpha.3 → 3.0.0-alpha.31
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 +831 -1
- package/LICENSE +21 -1
- package/README.md +141 -1
- package/babel.js +0 -2
- package/babel.mjs +0 -2
- package/config/enable$GetSet.js +2 -1
- package/config/enable$GetSet.mjs +2 -1
- package/config/enableReactTracking.js +2 -1
- package/config/enableReactTracking.mjs +2 -1
- package/config/enableReactUse.js +2 -1
- package/config/enableReactUse.mjs +2 -1
- package/config/enable_PeekAssign.js +2 -1
- package/config/enable_PeekAssign.mjs +2 -1
- package/config.d.mts +13 -0
- package/config.d.ts +13 -0
- package/config.js +2066 -0
- package/config.mjs +2064 -0
- package/helpers/trackHistory.js +2 -2
- package/helpers/trackHistory.mjs +2 -2
- package/index.d.mts +25 -302
- package/index.d.ts +25 -302
- package/index.js +293 -322
- package/index.mjs +294 -321
- package/observableInterfaces-CZR3_8mM.d.mts +283 -0
- package/observableInterfaces-CZR3_8mM.d.ts +283 -0
- package/package.json +11 -1
- package/persist-plugins/async-storage.d.mts +6 -3
- package/persist-plugins/async-storage.d.ts +6 -3
- package/persist-plugins/async-storage.js +12 -4
- package/persist-plugins/async-storage.mjs +12 -5
- package/persist-plugins/indexeddb.d.mts +6 -4
- package/persist-plugins/indexeddb.d.ts +6 -4
- package/persist-plugins/indexeddb.js +16 -6
- package/persist-plugins/indexeddb.mjs +16 -7
- package/persist-plugins/mmkv.d.mts +5 -1
- package/persist-plugins/mmkv.d.ts +5 -1
- package/persist-plugins/mmkv.js +14 -5
- package/persist-plugins/mmkv.mjs +14 -6
- package/react.d.mts +18 -14
- package/react.d.ts +18 -14
- package/react.js +57 -32
- package/react.mjs +58 -33
- package/sync-plugins/crud.d.mts +21 -24
- package/sync-plugins/crud.d.ts +21 -24
- package/sync-plugins/crud.js +240 -139
- package/sync-plugins/crud.mjs +242 -141
- package/sync-plugins/fetch.js +12 -8
- package/sync-plugins/fetch.mjs +13 -9
- package/sync-plugins/firebase.d.mts +27 -0
- package/sync-plugins/firebase.d.ts +27 -0
- package/sync-plugins/firebase.js +373 -0
- package/sync-plugins/firebase.mjs +368 -0
- package/sync-plugins/keel.d.mts +27 -10
- package/sync-plugins/keel.d.ts +27 -10
- package/sync-plugins/keel.js +51 -32
- package/sync-plugins/keel.mjs +52 -33
- package/sync-plugins/supabase.d.mts +12 -7
- package/sync-plugins/supabase.d.ts +12 -7
- package/sync-plugins/supabase.js +24 -13
- package/sync-plugins/supabase.mjs +25 -14
- package/sync-plugins/tanstack-query.d.mts +2 -2
- package/sync-plugins/tanstack-query.d.ts +2 -2
- package/sync-plugins/tanstack-query.js +3 -2
- package/sync-plugins/tanstack-query.mjs +3 -2
- package/sync-plugins/tanstack-react-query.d.mts +1 -1
- package/sync-plugins/tanstack-react-query.d.ts +1 -1
- package/sync.d.mts +71 -197
- package/sync.d.ts +71 -197
- package/sync.js +465 -284
- package/sync.mjs +471 -290
- package/types/babel.d.ts +12 -1
- package/.DS_Store +0 -0
- /package/config/{enable_GetSet.d.mts → enable$GetSet.d.mts} +0 -0
- /package/config/{enable_GetSet.d.ts → enable$GetSet.d.ts} +0 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
type Primitive$1 = string | number | boolean | symbol | bigint | undefined | null | Date;
|
|
2
|
+
type ArrayOverrideFnNames = 'find' | 'findIndex' | 'every' | 'some' | 'filter' | 'reduce' | 'reduceRight' | 'forEach' | 'map' | 'sort';
|
|
3
|
+
type RemoveIndex<T> = {
|
|
4
|
+
[K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
|
|
5
|
+
};
|
|
6
|
+
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any>;
|
|
7
|
+
type IsUserDefinedObject<T> = T extends Function | BuiltIns | any[] ? false : T extends object ? true : false;
|
|
8
|
+
type RemoveObservables<T> = T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
9
|
+
[K in keyof T]: RemoveObservables<T[K]>;
|
|
10
|
+
} : T extends ImmutableObservableBase<infer TObs> ? TObs : T extends () => infer TRet ? RemoveObservables<TRet> & T : T extends (key: infer TKey extends string | number) => infer TRet ? Record<TKey, RemoveObservables<TRet>> & T : T;
|
|
11
|
+
interface ObservableArray<T, U> extends ObservablePrimitive<T>, Pick<Array<Observable<U>>, ArrayOverrideFnNames>, Omit<RemoveIndex<Array<U>>, ArrayOverrideFnNames> {
|
|
12
|
+
}
|
|
13
|
+
interface ObservableObjectFns<T> {
|
|
14
|
+
assign(value: Partial<T>): Observable<T>;
|
|
15
|
+
}
|
|
16
|
+
interface ObservableObjectFunctions<T = Record<string, any>> extends ObservablePrimitive<T>, ObservableObjectFns<T> {
|
|
17
|
+
}
|
|
18
|
+
type MapKey<T extends Map<any, any> | WeakMap<any, any>> = Parameters<T['has']>[0];
|
|
19
|
+
type MapValue<T extends Map<any, any> | WeakMap<any, any>> = ReturnType<T['get']>;
|
|
20
|
+
type ObservableMap<T extends Map<any, any> | WeakMap<any, any>> = Omit<T, 'get' | 'size' | 'set'> & Omit<ObservablePrimitive<T>, 'get' | 'size'> & {
|
|
21
|
+
get(key: Parameters<T['get']>[0]): Observable<Parameters<T['set']>[1]>;
|
|
22
|
+
get(): T;
|
|
23
|
+
size: number;
|
|
24
|
+
set(key: MapKey<T>, value: MapValue<T>): Observable<T>;
|
|
25
|
+
assign(value: Record<MapKey<T>, MapValue<T>> | Map<MapKey<T>, MapValue<T>> | WeakMap<MapKey<T>, MapValue<T>>): Observable<T>;
|
|
26
|
+
};
|
|
27
|
+
type SetValue<T extends Set<any> | WeakSet<any>> = Parameters<T['has']>[0];
|
|
28
|
+
type ObservableSet<T extends Set<any> | WeakSet<any>> = Omit<T, 'size' | 'add'> & Omit<ObservablePrimitive<T>, 'size'> & {
|
|
29
|
+
size: number;
|
|
30
|
+
add: (value: SetValue<T>) => Observable<T>;
|
|
31
|
+
};
|
|
32
|
+
interface ObservableBoolean extends ObservablePrimitive<boolean> {
|
|
33
|
+
toggle(): void;
|
|
34
|
+
}
|
|
35
|
+
interface ObservablePrimitive<T> extends ImmutableObservableBase<T>, MutableObservableBase<T> {
|
|
36
|
+
}
|
|
37
|
+
type ObservableAny = Partial<ObservableObjectFns<any>> & ObservablePrimitive<any> & Record<string, any>;
|
|
38
|
+
interface ImmutableObservableSimple<T> {
|
|
39
|
+
peek(): T;
|
|
40
|
+
get(trackingType?: any): any;
|
|
41
|
+
onChange(cb: ListenerFn<T>, options?: any): () => void;
|
|
42
|
+
}
|
|
43
|
+
interface ImmutableObservableBase<T> extends ImmutableObservableSimple<T> {
|
|
44
|
+
peek(): RemoveObservables<T>;
|
|
45
|
+
peek(): T;
|
|
46
|
+
get(trackingType?: TrackingType | GetOptions): RemoveObservables<T>;
|
|
47
|
+
onChange(cb: ListenerFn<T>, options?: {
|
|
48
|
+
trackingType?: TrackingType;
|
|
49
|
+
initial?: boolean;
|
|
50
|
+
immediate?: boolean;
|
|
51
|
+
noArgs?: boolean;
|
|
52
|
+
}): () => void;
|
|
53
|
+
}
|
|
54
|
+
interface MutableObservableSimple {
|
|
55
|
+
set(value: any): void;
|
|
56
|
+
delete(): void;
|
|
57
|
+
}
|
|
58
|
+
interface MutableObservableBase<T> extends MutableObservableSimple {
|
|
59
|
+
set(value: (prev: RemoveObservables<T>) => RemoveObservables<T>): void;
|
|
60
|
+
set(value: RecursiveValueOrFunction<T>): void;
|
|
61
|
+
set(value: Promise<RemoveObservables<T>>): void;
|
|
62
|
+
set(value: RemoveObservables<T>): void;
|
|
63
|
+
set(value: Observable<RemoveObservables<T>>): void;
|
|
64
|
+
delete(): void;
|
|
65
|
+
}
|
|
66
|
+
type UndefinedIf<T, U> = U extends true ? T | undefined : T;
|
|
67
|
+
type IsNullable<T> = undefined extends T ? true : null extends T ? true : false;
|
|
68
|
+
type NonObservable = Function | Observable;
|
|
69
|
+
type NonObservableKeys<T> = {
|
|
70
|
+
[K in keyof T]-?: IsStrictAny<T[K]> extends true ? never : T[K] extends undefined | null ? never : NonNullable<T[K]> extends NonObservable ? K : never;
|
|
71
|
+
}[keyof T];
|
|
72
|
+
type ObservableProps<T> = NonObservableKeys<NonNullable<T>> extends never ? T : RestoreNullability<T, Omit<NonNullable<T>, NonObservableKeys<NonNullable<T>>>>;
|
|
73
|
+
type NonObservableProps<T> = RestoreNullability<T, NullablePropsIf<Pick<NonNullable<T>, NonObservableKeys<NonNullable<T>>>, IsNullable<T>>>;
|
|
74
|
+
type NullablePropsIf<T, U> = {
|
|
75
|
+
[K in keyof T]: UndefinedIf<T[K], U>;
|
|
76
|
+
};
|
|
77
|
+
type RestoreNullability<Source, Target> = IsNullable<Source> extends true ? Target | Extract<Source, null | undefined> : Target;
|
|
78
|
+
type ObservableChildren<T, Nullable = IsNullable<T>> = {
|
|
79
|
+
[K in keyof T]-?: Observable<UndefinedIf<T[K], Nullable>>;
|
|
80
|
+
};
|
|
81
|
+
type ObservableFunctionChildren<T> = {
|
|
82
|
+
[K in keyof T]-?: T[K] extends Observable ? T[K] : T[K] extends (key: infer Key extends string | number) => Promise<infer t> | infer t ? IsLookupFunction<T[K]> extends true ? Observable<Record<Key, t>> & T[K] : t extends void ? T[K] : t extends Observable ? t : Observable<t> & (() => t) : T[K] & Observable<T[K]>;
|
|
83
|
+
};
|
|
84
|
+
type IsStrictAny<T> = 0 extends 1 & T ? true : false;
|
|
85
|
+
type ObservableObject<T> = ObservableObjectFunctions<ObservableProps<T> & NonObservableProps<T>> & ObservableChildren<ObservableProps<T>> & ObservableFunctionChildren<NonObservableProps<T>>;
|
|
86
|
+
type ObservableFunction<T> = T extends () => infer t ? t | (() => t) : T;
|
|
87
|
+
type IsLookupFunction<T> = T extends (...args: infer P) => any ? P extends {
|
|
88
|
+
length: 1;
|
|
89
|
+
} ? P[0] extends string | ObservablePrimitive<string> | number | ObservablePrimitive<number> ? true : false : false : false;
|
|
90
|
+
type ObservableNode<T, NT = NonNullable<T>> = [NT] extends [never] ? ObservablePrimitive<T> : IsStrictAny<T> extends true ? ObservableAny : [T] extends [Promise<infer t>] ? ObservableNode<t> : [T] extends [(key: infer K extends string) => infer t] ? [t] extends [ImmutableObservableBase<any>] ? IsLookupFunction<T> extends true ? Observable<Record<K, t>> : t : IsLookupFunction<T> extends true ? Observable<Record<K, t>> & T : Observable<ObservableFunction<t>> : [NT] extends [ImmutableObservableBase<any>] ? NT : [NT] extends [Primitive$1] ? [NT] extends [boolean] ? ObservableBoolean : ObservablePrimitive<T> : NT extends Map<any, any> | WeakMap<any, any> ? ObservableMap<NT> : NT extends Set<infer U> ? ObservableSet<Set<UndefinedIf<U, IsNullable<T>>>> : NT extends WeakSet<any> ? ObservableSet<NT> : NT extends Array<infer U> ? ObservableArray<T, U> & ObservableChildren<T> : ObservableObject<T> & {};
|
|
91
|
+
type Observable<T = any> = ObservableNode<T> & {};
|
|
92
|
+
type ObservableParam<T = any> = ImmutableObservableSimple<T> & MutableObservableSimple;
|
|
93
|
+
type FixExpanded<T> = [T] extends [boolean] ? boolean : T;
|
|
94
|
+
type ValueOrFunction<T> = [T] extends [Function] ? T : T | ImmutableObservableBase<FixExpanded<T> | T> | Promise<FixExpanded<T> | T> | (() => FixExpanded<T> | T | Promise<FixExpanded<T> | T> | ImmutableObservableBase<FixExpanded<T> | T>);
|
|
95
|
+
type ValueOrFunctionKeys<T> = {
|
|
96
|
+
[K in keyof T]: RecursiveValueOrFunction<T[K]>;
|
|
97
|
+
};
|
|
98
|
+
type RecursiveValueOrFunction<T> = T extends Function ? T : T extends object ? ((key: string) => any) | Promise<ValueOrFunctionKeys<T>> | ValueOrFunctionKeys<T> | ImmutableObservableBase<T> | (() => T | Promise<T> | ValueOrFunctionKeys<T> | Promise<ValueOrFunctionKeys<T>> | Observable<T>) : ValueOrFunction<T>;
|
|
99
|
+
|
|
100
|
+
declare const symbolOpaque: unique symbol;
|
|
101
|
+
declare function getPathType(value: any): TypeAtPath;
|
|
102
|
+
declare function safeStringify(value: any): any;
|
|
103
|
+
declare function safeParse(value: any): any;
|
|
104
|
+
declare function clone<T>(value: T): any;
|
|
105
|
+
declare function isObservable(value$: any): value$ is Observable;
|
|
106
|
+
declare function getNode(value$: ObservableParam): NodeInfo;
|
|
107
|
+
declare function setNodeValue(node: NodeInfo, newValue: any): {
|
|
108
|
+
prevValue: any;
|
|
109
|
+
newValue: any;
|
|
110
|
+
};
|
|
111
|
+
declare function getNodeValue(node: NodeInfo): any;
|
|
112
|
+
declare function ensureNodeValue(node: NodeInfo): any;
|
|
113
|
+
declare function findIDKey(obj: unknown | undefined, node: NodeInfo): string | ((value: any) => string) | undefined;
|
|
114
|
+
|
|
115
|
+
type TrackingType = undefined | true | symbol;
|
|
116
|
+
interface GetOptions {
|
|
117
|
+
shallow: boolean;
|
|
118
|
+
}
|
|
119
|
+
type OpaqueObject<T> = T & {
|
|
120
|
+
[symbolOpaque]: true;
|
|
121
|
+
};
|
|
122
|
+
interface ListenerParams<T = any> {
|
|
123
|
+
value: T;
|
|
124
|
+
getPrevious: () => T;
|
|
125
|
+
changes: Change[];
|
|
126
|
+
isFromSync: boolean;
|
|
127
|
+
isFromPersist: boolean;
|
|
128
|
+
}
|
|
129
|
+
type ListenerFn<T = any> = (params: ListenerParams<T>) => void;
|
|
130
|
+
interface ObservableEvent {
|
|
131
|
+
fire(): void;
|
|
132
|
+
on(cb?: () => void): ObservableListenerDispose;
|
|
133
|
+
get(): void;
|
|
134
|
+
}
|
|
135
|
+
type TypeAtPath = 'object' | 'array' | 'map' | 'set';
|
|
136
|
+
interface Change {
|
|
137
|
+
path: string[];
|
|
138
|
+
pathTypes: TypeAtPath[];
|
|
139
|
+
valueAtPath: any;
|
|
140
|
+
prevAtPath: any;
|
|
141
|
+
}
|
|
142
|
+
type RecordValue<T> = T extends Record<string, infer t> ? t : never;
|
|
143
|
+
type ArrayValue<T> = T extends Array<infer t> ? t : never;
|
|
144
|
+
type ObservableValue<T> = T extends Observable<infer t> ? t : never;
|
|
145
|
+
type Selector<T> = ObservableParam<T> | ObservableEvent | (() => T) | T;
|
|
146
|
+
type ClassConstructor<I, Args extends any[] = any[]> = new (...args: Args) => I;
|
|
147
|
+
type ObservableListenerDispose = () => void;
|
|
148
|
+
interface ObservableRoot {
|
|
149
|
+
_: any;
|
|
150
|
+
set?: (value: any) => void;
|
|
151
|
+
}
|
|
152
|
+
type Primitive = boolean | string | number | Date;
|
|
153
|
+
type NotPrimitive<T> = T extends Primitive ? never : T;
|
|
154
|
+
interface NodeListener {
|
|
155
|
+
track: TrackingType;
|
|
156
|
+
noArgs?: boolean;
|
|
157
|
+
listener: ListenerFn;
|
|
158
|
+
}
|
|
159
|
+
interface TrackingState {
|
|
160
|
+
nodes?: Map<NodeInfo, TrackingNode>;
|
|
161
|
+
traceListeners?: (nodes: Map<NodeInfo, TrackingNode>) => void;
|
|
162
|
+
traceUpdates?: (fn: Function) => Function;
|
|
163
|
+
}
|
|
164
|
+
interface BaseNodeInfo {
|
|
165
|
+
children?: Map<string, ChildNodeInfo>;
|
|
166
|
+
proxy?: object;
|
|
167
|
+
root: ObservableRoot;
|
|
168
|
+
listeners?: Set<NodeListener>;
|
|
169
|
+
listenersImmediate?: Set<NodeListener>;
|
|
170
|
+
isEvent?: boolean;
|
|
171
|
+
linkedToNode?: NodeInfo;
|
|
172
|
+
linkedToNodeDispose?: () => void;
|
|
173
|
+
activatedObserveDispose?: () => void;
|
|
174
|
+
linkedFromNodes?: Set<NodeInfo>;
|
|
175
|
+
isSetting?: number;
|
|
176
|
+
isAssigning?: number;
|
|
177
|
+
isComputing?: boolean;
|
|
178
|
+
parentOther?: NodeInfo;
|
|
179
|
+
functions?: Map<string, Function | Observable<any>>;
|
|
180
|
+
lazy?: boolean;
|
|
181
|
+
lazyFn?: Function;
|
|
182
|
+
needsExtract?: boolean;
|
|
183
|
+
numListenersRecursive: number;
|
|
184
|
+
state?: Observable<ObservableSyncState>;
|
|
185
|
+
activated?: boolean;
|
|
186
|
+
recursivelyAutoActivated?: boolean;
|
|
187
|
+
activationState?: LinkedOptions & {
|
|
188
|
+
onError?: () => void;
|
|
189
|
+
onChange: (params: UpdateFnParams) => void | Promise<void>;
|
|
190
|
+
};
|
|
191
|
+
dirtyFn?: () => void;
|
|
192
|
+
dirtyChildren?: Set<NodeInfo>;
|
|
193
|
+
numGets?: number;
|
|
194
|
+
getNumResolved?: number;
|
|
195
|
+
}
|
|
196
|
+
interface RootNodeInfo extends BaseNodeInfo {
|
|
197
|
+
parent?: undefined;
|
|
198
|
+
key?: undefined;
|
|
199
|
+
}
|
|
200
|
+
interface ChildNodeInfo extends BaseNodeInfo {
|
|
201
|
+
parent: NodeInfo;
|
|
202
|
+
key: string;
|
|
203
|
+
}
|
|
204
|
+
type NodeInfo = RootNodeInfo | ChildNodeInfo;
|
|
205
|
+
interface TrackingNode {
|
|
206
|
+
node: NodeInfo;
|
|
207
|
+
track: TrackingType;
|
|
208
|
+
num: number;
|
|
209
|
+
}
|
|
210
|
+
interface ObserveEvent<T> {
|
|
211
|
+
num: number;
|
|
212
|
+
previous?: T | undefined;
|
|
213
|
+
cancel?: boolean;
|
|
214
|
+
onCleanup?: () => void;
|
|
215
|
+
}
|
|
216
|
+
interface ObserveEventCallback<T> {
|
|
217
|
+
num: number;
|
|
218
|
+
previous?: T | undefined;
|
|
219
|
+
value?: T;
|
|
220
|
+
cancel: boolean;
|
|
221
|
+
nodes: Map<NodeInfo, TrackingNode> | undefined;
|
|
222
|
+
refresh: () => void;
|
|
223
|
+
onCleanup?: () => void;
|
|
224
|
+
onCleanupReaction?: () => void;
|
|
225
|
+
}
|
|
226
|
+
type SetParams<T> = ListenerParams<T extends Promise<infer t> ? t : T>;
|
|
227
|
+
type WaitForSet<T> = ((params: WaitForSetFnParams<T>) => any) | Promise<any> | ObservableParam<any> | ObservableEvent | ObservableParam<any>[] | ObservableEvent[];
|
|
228
|
+
interface LinkedOptions<T = any> {
|
|
229
|
+
get?: () => Promise<T> | T;
|
|
230
|
+
set?: (params: SetParams<T>) => void | Promise<any>;
|
|
231
|
+
waitFor?: Selector<any>;
|
|
232
|
+
waitForSet?: WaitForSet<T>;
|
|
233
|
+
initial?: (() => T) | T;
|
|
234
|
+
activate?: 'auto' | 'lazy';
|
|
235
|
+
}
|
|
236
|
+
interface WaitForSetFnParams<T = any> {
|
|
237
|
+
value: T;
|
|
238
|
+
changes: Change[];
|
|
239
|
+
}
|
|
240
|
+
type GetMode = 'set' | 'assign' | 'merge' | 'append' | 'prepend';
|
|
241
|
+
interface UpdateFnParams<T = any> {
|
|
242
|
+
value: T;
|
|
243
|
+
mode?: GetMode;
|
|
244
|
+
lastSync?: number | undefined;
|
|
245
|
+
}
|
|
246
|
+
type UpdateFn<T = any> = (params: UpdateFnParams<T>) => void;
|
|
247
|
+
type Linked<T> = T;
|
|
248
|
+
interface ObserveOptions {
|
|
249
|
+
immediate?: boolean;
|
|
250
|
+
}
|
|
251
|
+
interface ObservableSyncStateBase {
|
|
252
|
+
isPersistLoaded: boolean;
|
|
253
|
+
isPersistEnabled: boolean;
|
|
254
|
+
isSyncEnabled: boolean;
|
|
255
|
+
lastSync?: number;
|
|
256
|
+
syncCount?: number;
|
|
257
|
+
isGetting?: boolean;
|
|
258
|
+
isSetting?: boolean;
|
|
259
|
+
numPendingGets?: number;
|
|
260
|
+
numPendingSets?: number;
|
|
261
|
+
clearPersist: () => Promise<void>;
|
|
262
|
+
sync: () => Promise<void>;
|
|
263
|
+
getPendingChanges: () => Record<string, {
|
|
264
|
+
p: any;
|
|
265
|
+
v?: any;
|
|
266
|
+
}> | undefined;
|
|
267
|
+
reset: () => Promise<void>;
|
|
268
|
+
numPendingRemoteLoads?: number;
|
|
269
|
+
}
|
|
270
|
+
interface ObservableState {
|
|
271
|
+
isLoaded: boolean;
|
|
272
|
+
error?: Error;
|
|
273
|
+
}
|
|
274
|
+
type ObservableSyncState = ObservableState & ObservableSyncStateBase;
|
|
275
|
+
interface RetryOptions {
|
|
276
|
+
infinite?: boolean;
|
|
277
|
+
times?: number;
|
|
278
|
+
delay?: number;
|
|
279
|
+
backoff?: 'constant' | 'exponential';
|
|
280
|
+
maxDelay?: number;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export { type ObservableObjectFns as $, type ArrayValue as A, type ClassConstructor as B, type Change as C, type ObservableListenerDispose as D, type ObservableRoot as E, type NotPrimitive as F, type GetOptions as G, type NodeListener as H, type RootNodeInfo as I, type ChildNodeInfo as J, type SetParams as K, type LinkedOptions as L, type WaitForSetFnParams as M, type NodeInfo as N, type Observable as O, type Primitive as P, type GetMode as Q, type RecursiveValueOrFunction as R, type Selector as S, type TrackingType as T, type UpdateFn as U, type UpdateFnParams as V, type WaitForSet as W, type ObservableSyncStateBase as X, type ObservableState as Y, type RetryOptions as Z, type RemoveObservables as _, type ObservableEvent as a, type ObservableBoolean as a0, type ImmutableObservableBase as a1, type ObservableObject as a2, type ObserveEvent as b, type ObservableParam as c, type OpaqueObject as d, type TypeAtPath as e, type Linked as f, type ObservablePrimitive as g, type ObserveOptions as h, type ObserveEventCallback as i, type ObservableSyncState as j, type ListenerParams as k, type TrackingNode as l, clone as m, ensureNodeValue as n, findIDKey as o, getNode as p, getNodeValue as q, getPathType as r, safeParse as s, safeStringify as t, setNodeValue as u, type TrackingState as v, isObservable as w, type ListenerFn as x, type RecordValue as y, type ObservableValue as z };
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
type Primitive$1 = string | number | boolean | symbol | bigint | undefined | null | Date;
|
|
2
|
+
type ArrayOverrideFnNames = 'find' | 'findIndex' | 'every' | 'some' | 'filter' | 'reduce' | 'reduceRight' | 'forEach' | 'map' | 'sort';
|
|
3
|
+
type RemoveIndex<T> = {
|
|
4
|
+
[K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
|
|
5
|
+
};
|
|
6
|
+
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any>;
|
|
7
|
+
type IsUserDefinedObject<T> = T extends Function | BuiltIns | any[] ? false : T extends object ? true : false;
|
|
8
|
+
type RemoveObservables<T> = T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
9
|
+
[K in keyof T]: RemoveObservables<T[K]>;
|
|
10
|
+
} : T extends ImmutableObservableBase<infer TObs> ? TObs : T extends () => infer TRet ? RemoveObservables<TRet> & T : T extends (key: infer TKey extends string | number) => infer TRet ? Record<TKey, RemoveObservables<TRet>> & T : T;
|
|
11
|
+
interface ObservableArray<T, U> extends ObservablePrimitive<T>, Pick<Array<Observable<U>>, ArrayOverrideFnNames>, Omit<RemoveIndex<Array<U>>, ArrayOverrideFnNames> {
|
|
12
|
+
}
|
|
13
|
+
interface ObservableObjectFns<T> {
|
|
14
|
+
assign(value: Partial<T>): Observable<T>;
|
|
15
|
+
}
|
|
16
|
+
interface ObservableObjectFunctions<T = Record<string, any>> extends ObservablePrimitive<T>, ObservableObjectFns<T> {
|
|
17
|
+
}
|
|
18
|
+
type MapKey<T extends Map<any, any> | WeakMap<any, any>> = Parameters<T['has']>[0];
|
|
19
|
+
type MapValue<T extends Map<any, any> | WeakMap<any, any>> = ReturnType<T['get']>;
|
|
20
|
+
type ObservableMap<T extends Map<any, any> | WeakMap<any, any>> = Omit<T, 'get' | 'size' | 'set'> & Omit<ObservablePrimitive<T>, 'get' | 'size'> & {
|
|
21
|
+
get(key: Parameters<T['get']>[0]): Observable<Parameters<T['set']>[1]>;
|
|
22
|
+
get(): T;
|
|
23
|
+
size: number;
|
|
24
|
+
set(key: MapKey<T>, value: MapValue<T>): Observable<T>;
|
|
25
|
+
assign(value: Record<MapKey<T>, MapValue<T>> | Map<MapKey<T>, MapValue<T>> | WeakMap<MapKey<T>, MapValue<T>>): Observable<T>;
|
|
26
|
+
};
|
|
27
|
+
type SetValue<T extends Set<any> | WeakSet<any>> = Parameters<T['has']>[0];
|
|
28
|
+
type ObservableSet<T extends Set<any> | WeakSet<any>> = Omit<T, 'size' | 'add'> & Omit<ObservablePrimitive<T>, 'size'> & {
|
|
29
|
+
size: number;
|
|
30
|
+
add: (value: SetValue<T>) => Observable<T>;
|
|
31
|
+
};
|
|
32
|
+
interface ObservableBoolean extends ObservablePrimitive<boolean> {
|
|
33
|
+
toggle(): void;
|
|
34
|
+
}
|
|
35
|
+
interface ObservablePrimitive<T> extends ImmutableObservableBase<T>, MutableObservableBase<T> {
|
|
36
|
+
}
|
|
37
|
+
type ObservableAny = Partial<ObservableObjectFns<any>> & ObservablePrimitive<any> & Record<string, any>;
|
|
38
|
+
interface ImmutableObservableSimple<T> {
|
|
39
|
+
peek(): T;
|
|
40
|
+
get(trackingType?: any): any;
|
|
41
|
+
onChange(cb: ListenerFn<T>, options?: any): () => void;
|
|
42
|
+
}
|
|
43
|
+
interface ImmutableObservableBase<T> extends ImmutableObservableSimple<T> {
|
|
44
|
+
peek(): RemoveObservables<T>;
|
|
45
|
+
peek(): T;
|
|
46
|
+
get(trackingType?: TrackingType | GetOptions): RemoveObservables<T>;
|
|
47
|
+
onChange(cb: ListenerFn<T>, options?: {
|
|
48
|
+
trackingType?: TrackingType;
|
|
49
|
+
initial?: boolean;
|
|
50
|
+
immediate?: boolean;
|
|
51
|
+
noArgs?: boolean;
|
|
52
|
+
}): () => void;
|
|
53
|
+
}
|
|
54
|
+
interface MutableObservableSimple {
|
|
55
|
+
set(value: any): void;
|
|
56
|
+
delete(): void;
|
|
57
|
+
}
|
|
58
|
+
interface MutableObservableBase<T> extends MutableObservableSimple {
|
|
59
|
+
set(value: (prev: RemoveObservables<T>) => RemoveObservables<T>): void;
|
|
60
|
+
set(value: RecursiveValueOrFunction<T>): void;
|
|
61
|
+
set(value: Promise<RemoveObservables<T>>): void;
|
|
62
|
+
set(value: RemoveObservables<T>): void;
|
|
63
|
+
set(value: Observable<RemoveObservables<T>>): void;
|
|
64
|
+
delete(): void;
|
|
65
|
+
}
|
|
66
|
+
type UndefinedIf<T, U> = U extends true ? T | undefined : T;
|
|
67
|
+
type IsNullable<T> = undefined extends T ? true : null extends T ? true : false;
|
|
68
|
+
type NonObservable = Function | Observable;
|
|
69
|
+
type NonObservableKeys<T> = {
|
|
70
|
+
[K in keyof T]-?: IsStrictAny<T[K]> extends true ? never : T[K] extends undefined | null ? never : NonNullable<T[K]> extends NonObservable ? K : never;
|
|
71
|
+
}[keyof T];
|
|
72
|
+
type ObservableProps<T> = NonObservableKeys<NonNullable<T>> extends never ? T : RestoreNullability<T, Omit<NonNullable<T>, NonObservableKeys<NonNullable<T>>>>;
|
|
73
|
+
type NonObservableProps<T> = RestoreNullability<T, NullablePropsIf<Pick<NonNullable<T>, NonObservableKeys<NonNullable<T>>>, IsNullable<T>>>;
|
|
74
|
+
type NullablePropsIf<T, U> = {
|
|
75
|
+
[K in keyof T]: UndefinedIf<T[K], U>;
|
|
76
|
+
};
|
|
77
|
+
type RestoreNullability<Source, Target> = IsNullable<Source> extends true ? Target | Extract<Source, null | undefined> : Target;
|
|
78
|
+
type ObservableChildren<T, Nullable = IsNullable<T>> = {
|
|
79
|
+
[K in keyof T]-?: Observable<UndefinedIf<T[K], Nullable>>;
|
|
80
|
+
};
|
|
81
|
+
type ObservableFunctionChildren<T> = {
|
|
82
|
+
[K in keyof T]-?: T[K] extends Observable ? T[K] : T[K] extends (key: infer Key extends string | number) => Promise<infer t> | infer t ? IsLookupFunction<T[K]> extends true ? Observable<Record<Key, t>> & T[K] : t extends void ? T[K] : t extends Observable ? t : Observable<t> & (() => t) : T[K] & Observable<T[K]>;
|
|
83
|
+
};
|
|
84
|
+
type IsStrictAny<T> = 0 extends 1 & T ? true : false;
|
|
85
|
+
type ObservableObject<T> = ObservableObjectFunctions<ObservableProps<T> & NonObservableProps<T>> & ObservableChildren<ObservableProps<T>> & ObservableFunctionChildren<NonObservableProps<T>>;
|
|
86
|
+
type ObservableFunction<T> = T extends () => infer t ? t | (() => t) : T;
|
|
87
|
+
type IsLookupFunction<T> = T extends (...args: infer P) => any ? P extends {
|
|
88
|
+
length: 1;
|
|
89
|
+
} ? P[0] extends string | ObservablePrimitive<string> | number | ObservablePrimitive<number> ? true : false : false : false;
|
|
90
|
+
type ObservableNode<T, NT = NonNullable<T>> = [NT] extends [never] ? ObservablePrimitive<T> : IsStrictAny<T> extends true ? ObservableAny : [T] extends [Promise<infer t>] ? ObservableNode<t> : [T] extends [(key: infer K extends string) => infer t] ? [t] extends [ImmutableObservableBase<any>] ? IsLookupFunction<T> extends true ? Observable<Record<K, t>> : t : IsLookupFunction<T> extends true ? Observable<Record<K, t>> & T : Observable<ObservableFunction<t>> : [NT] extends [ImmutableObservableBase<any>] ? NT : [NT] extends [Primitive$1] ? [NT] extends [boolean] ? ObservableBoolean : ObservablePrimitive<T> : NT extends Map<any, any> | WeakMap<any, any> ? ObservableMap<NT> : NT extends Set<infer U> ? ObservableSet<Set<UndefinedIf<U, IsNullable<T>>>> : NT extends WeakSet<any> ? ObservableSet<NT> : NT extends Array<infer U> ? ObservableArray<T, U> & ObservableChildren<T> : ObservableObject<T> & {};
|
|
91
|
+
type Observable<T = any> = ObservableNode<T> & {};
|
|
92
|
+
type ObservableParam<T = any> = ImmutableObservableSimple<T> & MutableObservableSimple;
|
|
93
|
+
type FixExpanded<T> = [T] extends [boolean] ? boolean : T;
|
|
94
|
+
type ValueOrFunction<T> = [T] extends [Function] ? T : T | ImmutableObservableBase<FixExpanded<T> | T> | Promise<FixExpanded<T> | T> | (() => FixExpanded<T> | T | Promise<FixExpanded<T> | T> | ImmutableObservableBase<FixExpanded<T> | T>);
|
|
95
|
+
type ValueOrFunctionKeys<T> = {
|
|
96
|
+
[K in keyof T]: RecursiveValueOrFunction<T[K]>;
|
|
97
|
+
};
|
|
98
|
+
type RecursiveValueOrFunction<T> = T extends Function ? T : T extends object ? ((key: string) => any) | Promise<ValueOrFunctionKeys<T>> | ValueOrFunctionKeys<T> | ImmutableObservableBase<T> | (() => T | Promise<T> | ValueOrFunctionKeys<T> | Promise<ValueOrFunctionKeys<T>> | Observable<T>) : ValueOrFunction<T>;
|
|
99
|
+
|
|
100
|
+
declare const symbolOpaque: unique symbol;
|
|
101
|
+
declare function getPathType(value: any): TypeAtPath;
|
|
102
|
+
declare function safeStringify(value: any): any;
|
|
103
|
+
declare function safeParse(value: any): any;
|
|
104
|
+
declare function clone<T>(value: T): any;
|
|
105
|
+
declare function isObservable(value$: any): value$ is Observable;
|
|
106
|
+
declare function getNode(value$: ObservableParam): NodeInfo;
|
|
107
|
+
declare function setNodeValue(node: NodeInfo, newValue: any): {
|
|
108
|
+
prevValue: any;
|
|
109
|
+
newValue: any;
|
|
110
|
+
};
|
|
111
|
+
declare function getNodeValue(node: NodeInfo): any;
|
|
112
|
+
declare function ensureNodeValue(node: NodeInfo): any;
|
|
113
|
+
declare function findIDKey(obj: unknown | undefined, node: NodeInfo): string | ((value: any) => string) | undefined;
|
|
114
|
+
|
|
115
|
+
type TrackingType = undefined | true | symbol;
|
|
116
|
+
interface GetOptions {
|
|
117
|
+
shallow: boolean;
|
|
118
|
+
}
|
|
119
|
+
type OpaqueObject<T> = T & {
|
|
120
|
+
[symbolOpaque]: true;
|
|
121
|
+
};
|
|
122
|
+
interface ListenerParams<T = any> {
|
|
123
|
+
value: T;
|
|
124
|
+
getPrevious: () => T;
|
|
125
|
+
changes: Change[];
|
|
126
|
+
isFromSync: boolean;
|
|
127
|
+
isFromPersist: boolean;
|
|
128
|
+
}
|
|
129
|
+
type ListenerFn<T = any> = (params: ListenerParams<T>) => void;
|
|
130
|
+
interface ObservableEvent {
|
|
131
|
+
fire(): void;
|
|
132
|
+
on(cb?: () => void): ObservableListenerDispose;
|
|
133
|
+
get(): void;
|
|
134
|
+
}
|
|
135
|
+
type TypeAtPath = 'object' | 'array' | 'map' | 'set';
|
|
136
|
+
interface Change {
|
|
137
|
+
path: string[];
|
|
138
|
+
pathTypes: TypeAtPath[];
|
|
139
|
+
valueAtPath: any;
|
|
140
|
+
prevAtPath: any;
|
|
141
|
+
}
|
|
142
|
+
type RecordValue<T> = T extends Record<string, infer t> ? t : never;
|
|
143
|
+
type ArrayValue<T> = T extends Array<infer t> ? t : never;
|
|
144
|
+
type ObservableValue<T> = T extends Observable<infer t> ? t : never;
|
|
145
|
+
type Selector<T> = ObservableParam<T> | ObservableEvent | (() => T) | T;
|
|
146
|
+
type ClassConstructor<I, Args extends any[] = any[]> = new (...args: Args) => I;
|
|
147
|
+
type ObservableListenerDispose = () => void;
|
|
148
|
+
interface ObservableRoot {
|
|
149
|
+
_: any;
|
|
150
|
+
set?: (value: any) => void;
|
|
151
|
+
}
|
|
152
|
+
type Primitive = boolean | string | number | Date;
|
|
153
|
+
type NotPrimitive<T> = T extends Primitive ? never : T;
|
|
154
|
+
interface NodeListener {
|
|
155
|
+
track: TrackingType;
|
|
156
|
+
noArgs?: boolean;
|
|
157
|
+
listener: ListenerFn;
|
|
158
|
+
}
|
|
159
|
+
interface TrackingState {
|
|
160
|
+
nodes?: Map<NodeInfo, TrackingNode>;
|
|
161
|
+
traceListeners?: (nodes: Map<NodeInfo, TrackingNode>) => void;
|
|
162
|
+
traceUpdates?: (fn: Function) => Function;
|
|
163
|
+
}
|
|
164
|
+
interface BaseNodeInfo {
|
|
165
|
+
children?: Map<string, ChildNodeInfo>;
|
|
166
|
+
proxy?: object;
|
|
167
|
+
root: ObservableRoot;
|
|
168
|
+
listeners?: Set<NodeListener>;
|
|
169
|
+
listenersImmediate?: Set<NodeListener>;
|
|
170
|
+
isEvent?: boolean;
|
|
171
|
+
linkedToNode?: NodeInfo;
|
|
172
|
+
linkedToNodeDispose?: () => void;
|
|
173
|
+
activatedObserveDispose?: () => void;
|
|
174
|
+
linkedFromNodes?: Set<NodeInfo>;
|
|
175
|
+
isSetting?: number;
|
|
176
|
+
isAssigning?: number;
|
|
177
|
+
isComputing?: boolean;
|
|
178
|
+
parentOther?: NodeInfo;
|
|
179
|
+
functions?: Map<string, Function | Observable<any>>;
|
|
180
|
+
lazy?: boolean;
|
|
181
|
+
lazyFn?: Function;
|
|
182
|
+
needsExtract?: boolean;
|
|
183
|
+
numListenersRecursive: number;
|
|
184
|
+
state?: Observable<ObservableSyncState>;
|
|
185
|
+
activated?: boolean;
|
|
186
|
+
recursivelyAutoActivated?: boolean;
|
|
187
|
+
activationState?: LinkedOptions & {
|
|
188
|
+
onError?: () => void;
|
|
189
|
+
onChange: (params: UpdateFnParams) => void | Promise<void>;
|
|
190
|
+
};
|
|
191
|
+
dirtyFn?: () => void;
|
|
192
|
+
dirtyChildren?: Set<NodeInfo>;
|
|
193
|
+
numGets?: number;
|
|
194
|
+
getNumResolved?: number;
|
|
195
|
+
}
|
|
196
|
+
interface RootNodeInfo extends BaseNodeInfo {
|
|
197
|
+
parent?: undefined;
|
|
198
|
+
key?: undefined;
|
|
199
|
+
}
|
|
200
|
+
interface ChildNodeInfo extends BaseNodeInfo {
|
|
201
|
+
parent: NodeInfo;
|
|
202
|
+
key: string;
|
|
203
|
+
}
|
|
204
|
+
type NodeInfo = RootNodeInfo | ChildNodeInfo;
|
|
205
|
+
interface TrackingNode {
|
|
206
|
+
node: NodeInfo;
|
|
207
|
+
track: TrackingType;
|
|
208
|
+
num: number;
|
|
209
|
+
}
|
|
210
|
+
interface ObserveEvent<T> {
|
|
211
|
+
num: number;
|
|
212
|
+
previous?: T | undefined;
|
|
213
|
+
cancel?: boolean;
|
|
214
|
+
onCleanup?: () => void;
|
|
215
|
+
}
|
|
216
|
+
interface ObserveEventCallback<T> {
|
|
217
|
+
num: number;
|
|
218
|
+
previous?: T | undefined;
|
|
219
|
+
value?: T;
|
|
220
|
+
cancel: boolean;
|
|
221
|
+
nodes: Map<NodeInfo, TrackingNode> | undefined;
|
|
222
|
+
refresh: () => void;
|
|
223
|
+
onCleanup?: () => void;
|
|
224
|
+
onCleanupReaction?: () => void;
|
|
225
|
+
}
|
|
226
|
+
type SetParams<T> = ListenerParams<T extends Promise<infer t> ? t : T>;
|
|
227
|
+
type WaitForSet<T> = ((params: WaitForSetFnParams<T>) => any) | Promise<any> | ObservableParam<any> | ObservableEvent | ObservableParam<any>[] | ObservableEvent[];
|
|
228
|
+
interface LinkedOptions<T = any> {
|
|
229
|
+
get?: () => Promise<T> | T;
|
|
230
|
+
set?: (params: SetParams<T>) => void | Promise<any>;
|
|
231
|
+
waitFor?: Selector<any>;
|
|
232
|
+
waitForSet?: WaitForSet<T>;
|
|
233
|
+
initial?: (() => T) | T;
|
|
234
|
+
activate?: 'auto' | 'lazy';
|
|
235
|
+
}
|
|
236
|
+
interface WaitForSetFnParams<T = any> {
|
|
237
|
+
value: T;
|
|
238
|
+
changes: Change[];
|
|
239
|
+
}
|
|
240
|
+
type GetMode = 'set' | 'assign' | 'merge' | 'append' | 'prepend';
|
|
241
|
+
interface UpdateFnParams<T = any> {
|
|
242
|
+
value: T;
|
|
243
|
+
mode?: GetMode;
|
|
244
|
+
lastSync?: number | undefined;
|
|
245
|
+
}
|
|
246
|
+
type UpdateFn<T = any> = (params: UpdateFnParams<T>) => void;
|
|
247
|
+
type Linked<T> = T;
|
|
248
|
+
interface ObserveOptions {
|
|
249
|
+
immediate?: boolean;
|
|
250
|
+
}
|
|
251
|
+
interface ObservableSyncStateBase {
|
|
252
|
+
isPersistLoaded: boolean;
|
|
253
|
+
isPersistEnabled: boolean;
|
|
254
|
+
isSyncEnabled: boolean;
|
|
255
|
+
lastSync?: number;
|
|
256
|
+
syncCount?: number;
|
|
257
|
+
isGetting?: boolean;
|
|
258
|
+
isSetting?: boolean;
|
|
259
|
+
numPendingGets?: number;
|
|
260
|
+
numPendingSets?: number;
|
|
261
|
+
clearPersist: () => Promise<void>;
|
|
262
|
+
sync: () => Promise<void>;
|
|
263
|
+
getPendingChanges: () => Record<string, {
|
|
264
|
+
p: any;
|
|
265
|
+
v?: any;
|
|
266
|
+
}> | undefined;
|
|
267
|
+
reset: () => Promise<void>;
|
|
268
|
+
numPendingRemoteLoads?: number;
|
|
269
|
+
}
|
|
270
|
+
interface ObservableState {
|
|
271
|
+
isLoaded: boolean;
|
|
272
|
+
error?: Error;
|
|
273
|
+
}
|
|
274
|
+
type ObservableSyncState = ObservableState & ObservableSyncStateBase;
|
|
275
|
+
interface RetryOptions {
|
|
276
|
+
infinite?: boolean;
|
|
277
|
+
times?: number;
|
|
278
|
+
delay?: number;
|
|
279
|
+
backoff?: 'constant' | 'exponential';
|
|
280
|
+
maxDelay?: number;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export { type ObservableObjectFns as $, type ArrayValue as A, type ClassConstructor as B, type Change as C, type ObservableListenerDispose as D, type ObservableRoot as E, type NotPrimitive as F, type GetOptions as G, type NodeListener as H, type RootNodeInfo as I, type ChildNodeInfo as J, type SetParams as K, type LinkedOptions as L, type WaitForSetFnParams as M, type NodeInfo as N, type Observable as O, type Primitive as P, type GetMode as Q, type RecursiveValueOrFunction as R, type Selector as S, type TrackingType as T, type UpdateFn as U, type UpdateFnParams as V, type WaitForSet as W, type ObservableSyncStateBase as X, type ObservableState as Y, type RetryOptions as Z, type RemoveObservables as _, type ObservableEvent as a, type ObservableBoolean as a0, type ImmutableObservableBase as a1, type ObservableObject as a2, type ObserveEvent as b, type ObservableParam as c, type OpaqueObject as d, type TypeAtPath as e, type Linked as f, type ObservablePrimitive as g, type ObserveOptions as h, type ObserveEventCallback as i, type ObservableSyncState as j, type ListenerParams as k, type TrackingNode as l, clone as m, ensureNodeValue as n, findIDKey as o, getNode as p, getNodeValue as q, getPathType as r, safeParse as s, safeStringify as t, setNodeValue as u, type TrackingState as v, isObservable as w, type ListenerFn as x, type RecordValue as y, type ObservableValue as z };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@legendapp/state",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.31",
|
|
4
4
|
"description": "legend-state",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"private": false,
|
|
@@ -63,6 +63,11 @@
|
|
|
63
63
|
"require": "./react.js",
|
|
64
64
|
"types": "./react.d.ts"
|
|
65
65
|
},
|
|
66
|
+
"./config": {
|
|
67
|
+
"import": "./config.mjs",
|
|
68
|
+
"require": "./config.js",
|
|
69
|
+
"types": "./config.d.ts"
|
|
70
|
+
},
|
|
66
71
|
"./trace": {
|
|
67
72
|
"import": "./trace.mjs",
|
|
68
73
|
"require": "./trace.js",
|
|
@@ -208,6 +213,11 @@
|
|
|
208
213
|
"require": "./sync-plugins/crud.js",
|
|
209
214
|
"types": "./sync-plugins/crud.d.ts"
|
|
210
215
|
},
|
|
216
|
+
"./sync-plugins/firebase": {
|
|
217
|
+
"import": "./sync-plugins/firebase.mjs",
|
|
218
|
+
"require": "./sync-plugins/firebase.js",
|
|
219
|
+
"types": "./sync-plugins/firebase.d.ts"
|
|
220
|
+
},
|
|
211
221
|
"./sync-plugins/tanstack-react-query": {
|
|
212
222
|
"import": "./sync-plugins/tanstack-react-query.mjs",
|
|
213
223
|
"require": "./sync-plugins/tanstack-react-query.js",
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Change } from '@legendapp/state';
|
|
2
|
-
import { ObservablePersistPlugin,
|
|
2
|
+
import { ObservablePersistPlugin, ObservablePersistAsyncStoragePluginOptions, ObservablePersistPluginOptions, PersistMetadata } from '@legendapp/state/sync';
|
|
3
3
|
|
|
4
4
|
declare class ObservablePersistAsyncStorage implements ObservablePersistPlugin {
|
|
5
5
|
private data;
|
|
6
|
-
|
|
6
|
+
private configuration;
|
|
7
|
+
constructor(configuration: ObservablePersistAsyncStoragePluginOptions);
|
|
8
|
+
initialize(configOptions: ObservablePersistPluginOptions): Promise<void>;
|
|
7
9
|
loadTable(table: string): void | Promise<void>;
|
|
8
10
|
getTable(table: string, init: object): any;
|
|
9
11
|
getMetadata(table: string): PersistMetadata;
|
|
@@ -14,5 +16,6 @@ declare class ObservablePersistAsyncStorage implements ObservablePersistPlugin {
|
|
|
14
16
|
private setValue;
|
|
15
17
|
private save;
|
|
16
18
|
}
|
|
19
|
+
declare function configureObservablePersistAsyncStorage(configuration: ObservablePersistAsyncStoragePluginOptions): typeof ObservablePersistAsyncStorage;
|
|
17
20
|
|
|
18
|
-
export { ObservablePersistAsyncStorage };
|
|
21
|
+
export { ObservablePersistAsyncStorage, configureObservablePersistAsyncStorage };
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Change } from '@legendapp/state';
|
|
2
|
-
import { ObservablePersistPlugin,
|
|
2
|
+
import { ObservablePersistPlugin, ObservablePersistAsyncStoragePluginOptions, ObservablePersistPluginOptions, PersistMetadata } from '@legendapp/state/sync';
|
|
3
3
|
|
|
4
4
|
declare class ObservablePersistAsyncStorage implements ObservablePersistPlugin {
|
|
5
5
|
private data;
|
|
6
|
-
|
|
6
|
+
private configuration;
|
|
7
|
+
constructor(configuration: ObservablePersistAsyncStoragePluginOptions);
|
|
8
|
+
initialize(configOptions: ObservablePersistPluginOptions): Promise<void>;
|
|
7
9
|
loadTable(table: string): void | Promise<void>;
|
|
8
10
|
getTable(table: string, init: object): any;
|
|
9
11
|
getMetadata(table: string): PersistMetadata;
|
|
@@ -14,5 +16,6 @@ declare class ObservablePersistAsyncStorage implements ObservablePersistPlugin {
|
|
|
14
16
|
private setValue;
|
|
15
17
|
private save;
|
|
16
18
|
}
|
|
19
|
+
declare function configureObservablePersistAsyncStorage(configuration: ObservablePersistAsyncStoragePluginOptions): typeof ObservablePersistAsyncStorage;
|
|
17
20
|
|
|
18
|
-
export { ObservablePersistAsyncStorage };
|
|
21
|
+
export { ObservablePersistAsyncStorage, configureObservablePersistAsyncStorage };
|