@legendapp/state 3.0.0-alpha.8 → 3.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.DS_Store +0 -0
- package/config/configureLegendState.d.mts +13 -0
- package/config/configureLegendState.d.ts +13 -0
- package/config/configureLegendState.js +45 -0
- package/config/configureLegendState.mjs +43 -0
- 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/helpers/trackHistory.js +2 -2
- package/helpers/trackHistory.mjs +2 -2
- package/index.d.mts +104 -80
- package/index.d.ts +104 -80
- package/index.js +328 -318
- package/index.mjs +325 -316
- package/package.json +36 -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 +8 -4
- package/persist-plugins/async-storage.mjs +8 -5
- package/persist-plugins/indexeddb.d.mts +6 -4
- package/persist-plugins/indexeddb.d.ts +6 -4
- package/persist-plugins/indexeddb.js +35 -15
- package/persist-plugins/indexeddb.mjs +35 -16
- package/persist-plugins/mmkv.d.mts +5 -1
- package/persist-plugins/mmkv.d.ts +5 -1
- package/persist-plugins/mmkv.js +10 -5
- package/persist-plugins/mmkv.mjs +10 -6
- package/react-reactive/enableReactComponents.d.mts +9 -0
- package/react-reactive/enableReactComponents.d.ts +9 -0
- package/react-reactive/enableReactComponents.js +19 -0
- package/react-reactive/enableReactComponents.mjs +17 -0
- package/react-reactive/enableReactNativeComponents.d.mts +22 -0
- package/react-reactive/enableReactNativeComponents.d.ts +22 -0
- package/react-reactive/enableReactNativeComponents.js +53 -0
- package/react-reactive/enableReactNativeComponents.mjs +51 -0
- package/react-reactive/enableReactive.d.mts +5 -0
- package/react-reactive/enableReactive.d.ts +5 -0
- package/react-reactive/enableReactive.js +24 -0
- package/react-reactive/enableReactive.mjs +22 -0
- package/react-reactive/enableReactive.native.d.mts +5 -0
- package/react-reactive/enableReactive.native.d.ts +5 -0
- package/react-reactive/enableReactive.native.js +58 -0
- package/react-reactive/enableReactive.native.mjs +56 -0
- package/react-reactive/enableReactive.web.d.mts +5 -0
- package/react-reactive/enableReactive.web.d.ts +5 -0
- package/react-reactive/enableReactive.web.js +58 -0
- package/react-reactive/enableReactive.web.mjs +56 -0
- package/react.d.mts +39 -34
- package/react.d.ts +39 -34
- package/react.js +39 -17
- package/react.mjs +39 -17
- package/sync-plugins/crud.d.mts +21 -24
- package/sync-plugins/crud.d.ts +21 -24
- package/sync-plugins/crud.js +241 -140
- package/sync-plugins/crud.mjs +243 -142
- 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 +43 -26
- package/sync-plugins/keel.d.ts +43 -26
- package/sync-plugins/keel.js +145 -100
- package/sync-plugins/keel.mjs +147 -100
- package/sync-plugins/supabase.d.mts +19 -9
- package/sync-plugins/supabase.d.ts +19 -9
- package/sync-plugins/supabase.js +52 -22
- package/sync-plugins/supabase.mjs +53 -23
- package/sync-plugins/tanstack-query.d.mts +2 -2
- package/sync-plugins/tanstack-query.d.ts +2 -2
- package/sync-plugins/tanstack-query.js +22 -5
- package/sync-plugins/tanstack-query.mjs +22 -5
- package/sync-plugins/tanstack-react-query.d.mts +1 -1
- package/sync-plugins/tanstack-react-query.d.ts +1 -1
- package/sync-plugins/tanstack-react-query.js +8 -1
- package/sync-plugins/tanstack-react-query.mjs +8 -1
- package/sync.d.mts +74 -200
- package/sync.d.ts +74 -200
- package/sync.js +492 -293
- package/sync.mjs +498 -299
package/index.d.mts
CHANGED
|
@@ -5,9 +5,9 @@ type RemoveIndex<T> = {
|
|
|
5
5
|
};
|
|
6
6
|
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any>;
|
|
7
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 : IsUserDefinedObject<T> extends true ? {
|
|
8
|
+
type RemoveObservables<T> = T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
9
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: string) => infer TRet ? Record<
|
|
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
11
|
interface ObservableArray<T, U> extends ObservablePrimitive<T>, Pick<Array<Observable<U>>, ArrayOverrideFnNames>, Omit<RemoveIndex<Array<U>>, ArrayOverrideFnNames> {
|
|
12
12
|
}
|
|
13
13
|
interface ObservableObjectFns<T> {
|
|
@@ -16,15 +16,18 @@ interface ObservableObjectFns<T> {
|
|
|
16
16
|
interface ObservableObjectFunctions<T = Record<string, any>> extends ObservablePrimitive<T>, ObservableObjectFns<T> {
|
|
17
17
|
}
|
|
18
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>> =
|
|
20
|
-
type ObservableMap<T extends Map<any, any> | WeakMap<any, any>> = Omit<T, 'get' | 'size'> & Omit<ObservablePrimitive<T>, 'get' | 'size'> & {
|
|
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'> & Record<MapKey<T>, Observable<MapValue<T>>> & {
|
|
21
21
|
get(key: Parameters<T['get']>[0]): Observable<Parameters<T['set']>[1]>;
|
|
22
22
|
get(): T;
|
|
23
|
-
size:
|
|
23
|
+
size: number;
|
|
24
|
+
set(key: MapKey<T>, value: MapValue<T>): Observable<T>;
|
|
24
25
|
assign(value: Record<MapKey<T>, MapValue<T>> | Map<MapKey<T>, MapValue<T>> | WeakMap<MapKey<T>, MapValue<T>>): Observable<T>;
|
|
25
26
|
};
|
|
26
|
-
type
|
|
27
|
-
|
|
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>;
|
|
28
31
|
};
|
|
29
32
|
interface ObservableBoolean extends ObservablePrimitive<boolean> {
|
|
30
33
|
toggle(): void;
|
|
@@ -35,7 +38,7 @@ type ObservableAny = Partial<ObservableObjectFns<any>> & ObservablePrimitive<any
|
|
|
35
38
|
interface ImmutableObservableSimple<T> {
|
|
36
39
|
peek(): T;
|
|
37
40
|
get(trackingType?: any): any;
|
|
38
|
-
onChange(cb: ListenerFn<
|
|
41
|
+
onChange(cb: ListenerFn<T>, options?: any): () => void;
|
|
39
42
|
}
|
|
40
43
|
interface ImmutableObservableBase<T> extends ImmutableObservableSimple<T> {
|
|
41
44
|
peek(): RemoveObservables<T>;
|
|
@@ -54,10 +57,10 @@ interface MutableObservableSimple {
|
|
|
54
57
|
}
|
|
55
58
|
interface MutableObservableBase<T> extends MutableObservableSimple {
|
|
56
59
|
set(value: (prev: RemoveObservables<T>) => RemoveObservables<T>): void;
|
|
60
|
+
set(value: Observable<RemoveObservables<T>>): void;
|
|
57
61
|
set(value: RecursiveValueOrFunction<T>): void;
|
|
58
62
|
set(value: Promise<RemoveObservables<T>>): void;
|
|
59
63
|
set(value: RemoveObservables<T>): void;
|
|
60
|
-
set(value: Observable<RemoveObservables<T>>): void;
|
|
61
64
|
delete(): void;
|
|
62
65
|
}
|
|
63
66
|
type UndefinedIf<T, U> = U extends true ? T | undefined : T;
|
|
@@ -76,15 +79,15 @@ type ObservableChildren<T, Nullable = IsNullable<T>> = {
|
|
|
76
79
|
[K in keyof T]-?: Observable<UndefinedIf<T[K], Nullable>>;
|
|
77
80
|
};
|
|
78
81
|
type ObservableFunctionChildren<T> = {
|
|
79
|
-
[K in keyof T]-?: T[K] extends Observable ? T[K] : T[K] extends (key: infer Key extends string) => Promise<infer t> | infer 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]>;
|
|
80
83
|
};
|
|
81
84
|
type IsStrictAny<T> = 0 extends 1 & T ? true : false;
|
|
82
85
|
type ObservableObject<T> = ObservableObjectFunctions<ObservableProps<T> & NonObservableProps<T>> & ObservableChildren<ObservableProps<T>> & ObservableFunctionChildren<NonObservableProps<T>>;
|
|
83
86
|
type ObservableFunction<T> = T extends () => infer t ? t | (() => t) : T;
|
|
84
|
-
type
|
|
87
|
+
type IsLookupFunction<T> = T extends (...args: infer P) => any ? P extends {
|
|
85
88
|
length: 1;
|
|
86
|
-
} ? P[0] extends string | ObservablePrimitive<string> ? true : false : false : false;
|
|
87
|
-
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>] ?
|
|
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> & {};
|
|
88
91
|
type Observable<T = any> = ObservableNode<T> & {};
|
|
89
92
|
type ObservableParam<T = any> = ImmutableObservableSimple<T> & MutableObservableSimple;
|
|
90
93
|
type FixExpanded<T> = [T] extends [boolean] ? boolean : T;
|
|
@@ -95,19 +98,20 @@ type ValueOrFunctionKeys<T> = {
|
|
|
95
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>;
|
|
96
99
|
|
|
97
100
|
declare const symbolOpaque: unique symbol;
|
|
101
|
+
declare const symbolPlain: unique symbol;
|
|
98
102
|
declare function getPathType(value: any): TypeAtPath;
|
|
99
|
-
declare function safeStringify(value: any):
|
|
103
|
+
declare function safeStringify(value: any): any;
|
|
100
104
|
declare function safeParse(value: any): any;
|
|
101
105
|
declare function clone<T>(value: T): any;
|
|
102
106
|
declare function isObservable(value$: any): value$ is Observable;
|
|
103
|
-
declare function getNode(value$: ObservableParam):
|
|
104
|
-
declare function setNodeValue(node:
|
|
107
|
+
declare function getNode(value$: ObservableParam): NodeInfo;
|
|
108
|
+
declare function setNodeValue(node: NodeInfo, newValue: any): {
|
|
105
109
|
prevValue: any;
|
|
106
110
|
newValue: any;
|
|
107
111
|
};
|
|
108
|
-
declare function getNodeValue(node:
|
|
109
|
-
declare function ensureNodeValue(node:
|
|
110
|
-
declare function findIDKey(obj: unknown | undefined, node:
|
|
112
|
+
declare function getNodeValue(node: NodeInfo): any;
|
|
113
|
+
declare function ensureNodeValue(node: NodeInfo): any;
|
|
114
|
+
declare function findIDKey(obj: unknown | undefined, node: NodeInfo): string | ((value: any) => string) | undefined;
|
|
111
115
|
|
|
112
116
|
type TrackingType = undefined | true | symbol;
|
|
113
117
|
interface GetOptions {
|
|
@@ -116,11 +120,15 @@ interface GetOptions {
|
|
|
116
120
|
type OpaqueObject<T> = T & {
|
|
117
121
|
[symbolOpaque]: true;
|
|
118
122
|
};
|
|
123
|
+
type PlainObject<T> = T & {
|
|
124
|
+
[symbolPlain]: true;
|
|
125
|
+
};
|
|
119
126
|
interface ListenerParams<T = any> {
|
|
120
127
|
value: T;
|
|
121
128
|
getPrevious: () => T;
|
|
122
129
|
changes: Change[];
|
|
123
|
-
|
|
130
|
+
isFromSync: boolean;
|
|
131
|
+
isFromPersist: boolean;
|
|
124
132
|
}
|
|
125
133
|
type ListenerFn<T = any> = (params: ListenerParams<T>) => void;
|
|
126
134
|
interface ObservableEvent {
|
|
@@ -147,31 +155,31 @@ interface ObservableRoot {
|
|
|
147
155
|
}
|
|
148
156
|
type Primitive = boolean | string | number | Date;
|
|
149
157
|
type NotPrimitive<T> = T extends Primitive ? never : T;
|
|
150
|
-
interface
|
|
158
|
+
interface NodeListener {
|
|
151
159
|
track: TrackingType;
|
|
152
160
|
noArgs?: boolean;
|
|
153
161
|
listener: ListenerFn;
|
|
154
162
|
}
|
|
155
163
|
interface TrackingState {
|
|
156
|
-
nodes?: Map<
|
|
157
|
-
traceListeners?: (nodes: Map<
|
|
164
|
+
nodes?: Map<NodeInfo, TrackingNode>;
|
|
165
|
+
traceListeners?: (nodes: Map<NodeInfo, TrackingNode>) => void;
|
|
158
166
|
traceUpdates?: (fn: Function) => Function;
|
|
159
167
|
}
|
|
160
|
-
interface
|
|
161
|
-
children?: Map<string,
|
|
168
|
+
interface BaseNodeInfo {
|
|
169
|
+
children?: Map<string, ChildNodeInfo>;
|
|
162
170
|
proxy?: object;
|
|
163
171
|
root: ObservableRoot;
|
|
164
|
-
listeners?: Set<
|
|
165
|
-
listenersImmediate?: Set<
|
|
172
|
+
listeners?: Set<NodeListener>;
|
|
173
|
+
listenersImmediate?: Set<NodeListener>;
|
|
166
174
|
isEvent?: boolean;
|
|
167
|
-
linkedToNode?:
|
|
175
|
+
linkedToNode?: NodeInfo;
|
|
168
176
|
linkedToNodeDispose?: () => void;
|
|
169
177
|
activatedObserveDispose?: () => void;
|
|
170
|
-
linkedFromNodes?: Set<
|
|
178
|
+
linkedFromNodes?: Set<NodeInfo>;
|
|
171
179
|
isSetting?: number;
|
|
172
180
|
isAssigning?: number;
|
|
173
181
|
isComputing?: boolean;
|
|
174
|
-
parentOther?:
|
|
182
|
+
parentOther?: NodeInfo;
|
|
175
183
|
functions?: Map<string, Function | Observable<any>>;
|
|
176
184
|
lazy?: boolean;
|
|
177
185
|
lazyFn?: Function;
|
|
@@ -179,24 +187,27 @@ interface BaseNodeValue {
|
|
|
179
187
|
numListenersRecursive: number;
|
|
180
188
|
state?: Observable<ObservableSyncState>;
|
|
181
189
|
activated?: boolean;
|
|
190
|
+
recursivelyAutoActivated?: boolean;
|
|
182
191
|
activationState?: LinkedOptions & {
|
|
183
192
|
onError?: () => void;
|
|
184
|
-
|
|
193
|
+
onChange: (params: UpdateFnParams) => void | Promise<void>;
|
|
185
194
|
};
|
|
186
195
|
dirtyFn?: () => void;
|
|
187
|
-
dirtyChildren?: Set<
|
|
196
|
+
dirtyChildren?: Set<NodeInfo>;
|
|
197
|
+
numGets?: number;
|
|
198
|
+
getNumResolved?: number;
|
|
188
199
|
}
|
|
189
|
-
interface
|
|
200
|
+
interface RootNodeInfo extends BaseNodeInfo {
|
|
190
201
|
parent?: undefined;
|
|
191
202
|
key?: undefined;
|
|
192
203
|
}
|
|
193
|
-
interface
|
|
194
|
-
parent:
|
|
204
|
+
interface ChildNodeInfo extends BaseNodeInfo {
|
|
205
|
+
parent: NodeInfo;
|
|
195
206
|
key: string;
|
|
196
207
|
}
|
|
197
|
-
type
|
|
208
|
+
type NodeInfo = RootNodeInfo | ChildNodeInfo;
|
|
198
209
|
interface TrackingNode {
|
|
199
|
-
node:
|
|
210
|
+
node: NodeInfo;
|
|
200
211
|
track: TrackingType;
|
|
201
212
|
num: number;
|
|
202
213
|
}
|
|
@@ -211,17 +222,18 @@ interface ObserveEventCallback<T> {
|
|
|
211
222
|
previous?: T | undefined;
|
|
212
223
|
value?: T;
|
|
213
224
|
cancel: boolean;
|
|
214
|
-
nodes: Map<
|
|
225
|
+
nodes: Map<NodeInfo, TrackingNode> | undefined;
|
|
215
226
|
refresh: () => void;
|
|
216
227
|
onCleanup?: () => void;
|
|
217
228
|
onCleanupReaction?: () => void;
|
|
218
229
|
}
|
|
219
230
|
type SetParams<T> = ListenerParams<T extends Promise<infer t> ? t : T>;
|
|
231
|
+
type WaitForSet<T> = ((params: WaitForSetFnParams<T>) => any) | Promise<any> | ObservableParam<any> | ObservableEvent | ObservableParam<any>[] | ObservableEvent[];
|
|
220
232
|
interface LinkedOptions<T = any> {
|
|
221
233
|
get?: () => Promise<T> | T;
|
|
222
234
|
set?: (params: SetParams<T>) => void | Promise<any>;
|
|
223
|
-
waitFor?: Selector<
|
|
224
|
-
waitForSet?:
|
|
235
|
+
waitFor?: Selector<unknown>;
|
|
236
|
+
waitForSet?: WaitForSet<T>;
|
|
225
237
|
initial?: (() => T) | T;
|
|
226
238
|
activate?: 'auto' | 'lazy';
|
|
227
239
|
}
|
|
@@ -230,12 +242,12 @@ interface WaitForSetFnParams<T = any> {
|
|
|
230
242
|
changes: Change[];
|
|
231
243
|
}
|
|
232
244
|
type GetMode = 'set' | 'assign' | 'merge' | 'append' | 'prepend';
|
|
233
|
-
interface UpdateFnParams {
|
|
234
|
-
value:
|
|
245
|
+
interface UpdateFnParams<T = any> {
|
|
246
|
+
value: T;
|
|
235
247
|
mode?: GetMode;
|
|
236
248
|
lastSync?: number | undefined;
|
|
237
249
|
}
|
|
238
|
-
type UpdateFn = (params: UpdateFnParams) => void;
|
|
250
|
+
type UpdateFn<T = any> = (params: UpdateFnParams<T>) => void;
|
|
239
251
|
type Linked<T> = T;
|
|
240
252
|
interface ObserveOptions {
|
|
241
253
|
immediate?: boolean;
|
|
@@ -246,12 +258,19 @@ interface ObservableSyncStateBase {
|
|
|
246
258
|
isSyncEnabled: boolean;
|
|
247
259
|
lastSync?: number;
|
|
248
260
|
syncCount?: number;
|
|
249
|
-
|
|
261
|
+
isGetting?: boolean;
|
|
262
|
+
isSetting?: boolean;
|
|
263
|
+
numPendingGets?: number;
|
|
264
|
+
numPendingSets?: number;
|
|
250
265
|
sync: () => Promise<void>;
|
|
251
266
|
getPendingChanges: () => Record<string, {
|
|
252
267
|
p: any;
|
|
253
268
|
v?: any;
|
|
254
269
|
}> | undefined;
|
|
270
|
+
resetPersistence: () => Promise<void>;
|
|
271
|
+
reset: () => Promise<void>;
|
|
272
|
+
numPendingRemoteLoads?: number;
|
|
273
|
+
clearPersist: () => Promise<void>;
|
|
255
274
|
}
|
|
256
275
|
interface ObservableState {
|
|
257
276
|
isLoaded: boolean;
|
|
@@ -266,6 +285,18 @@ interface RetryOptions {
|
|
|
266
285
|
maxDelay?: number;
|
|
267
286
|
}
|
|
268
287
|
|
|
288
|
+
declare const ObservableHint: {
|
|
289
|
+
opaque: <T extends object>(value: T) => OpaqueObject<T>;
|
|
290
|
+
plain: <T extends object>(value: T) => PlainObject<T>;
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
declare function getProxy(node: NodeInfo, p?: string, asFunction?: Function): Observable;
|
|
294
|
+
declare function set(node: NodeInfo, newValue?: any): void;
|
|
295
|
+
declare function get(node: NodeInfo, options?: TrackingType | GetOptions): any;
|
|
296
|
+
declare function peek(node: NodeInfo): any;
|
|
297
|
+
declare function isObserved(node: NodeInfo): boolean;
|
|
298
|
+
declare function shouldIgnoreUnobserved(node: NodeInfo, refreshFn: () => void): true | undefined;
|
|
299
|
+
|
|
269
300
|
declare function createPreviousHandler(value: any, changes: Change[]): () => any;
|
|
270
301
|
declare function batch(fn: () => void): void;
|
|
271
302
|
declare function beginBatch(): void;
|
|
@@ -274,18 +305,6 @@ declare function endBatch(force?: boolean): void;
|
|
|
274
305
|
declare function computed<T>(get: () => RecursiveValueOrFunction<T>): Observable<T>;
|
|
275
306
|
declare function computed<T, T2 = T>(get: (() => RecursiveValueOrFunction<T>) | RecursiveValueOrFunction<T>, set: (value: T2) => void): Observable<T>;
|
|
276
307
|
|
|
277
|
-
declare function linked<T>(params: LinkedOptions<T> | (() => T), options?: LinkedOptions<T>): Linked<T>;
|
|
278
|
-
|
|
279
|
-
declare function configureLegendState({ observableFunctions, observableProperties, jsonReplacer, jsonReviver, }: {
|
|
280
|
-
observableFunctions?: Record<string, (node: NodeValue, ...args: any[]) => any>;
|
|
281
|
-
observableProperties?: Record<string, {
|
|
282
|
-
get: (node: NodeValue) => any;
|
|
283
|
-
set: (node: NodeValue, value: any) => any;
|
|
284
|
-
}>;
|
|
285
|
-
jsonReplacer?: (this: any, key: string, value: any) => any;
|
|
286
|
-
jsonReviver?: (this: any, key: string, value: any) => any;
|
|
287
|
-
}): void;
|
|
288
|
-
|
|
289
308
|
declare function event(): ObservableEvent;
|
|
290
309
|
|
|
291
310
|
declare function computeSelector<T>(selector: Selector<T>, e?: ObserveEvent<T>, retainObservable?: boolean): T;
|
|
@@ -293,8 +312,7 @@ declare function getObservableIndex(value$: ObservableParam): number;
|
|
|
293
312
|
declare function opaqueObject<T extends object>(value: T): OpaqueObject<T>;
|
|
294
313
|
declare function getValueAtPath(obj: Record<string, any>, path: string[]): any;
|
|
295
314
|
declare function setAtPath<T extends object>(obj: T, path: string[], pathTypes: TypeAtPath[], value: any, mode?: 'set' | 'merge', fullObj?: T, restore?: (path: string[], value: any) => void): T;
|
|
296
|
-
declare function
|
|
297
|
-
declare function mergeIntoObservable<T extends ObservableParam<Record<string, any>> | object>(target: T, ...sources: any[]): T;
|
|
315
|
+
declare function mergeIntoObservable<T extends ObservableParam<any>>(target: T, ...sources: any[]): T;
|
|
298
316
|
declare function constructObjectWithPath(path: string[], pathTypes: TypeAtPath[], value: any): object;
|
|
299
317
|
declare function deconstructObjectWithPath(path: string[], pathTypes: TypeAtPath[], value: any): object;
|
|
300
318
|
declare function isObservableValueReady(value: any): boolean;
|
|
@@ -302,11 +320,13 @@ declare function setSilently(value$: ObservableParam, newValue: any): any;
|
|
|
302
320
|
declare function initializePathType(pathType: TypeAtPath): any;
|
|
303
321
|
declare function applyChange<T extends object>(value: T, change: Change, applyPrevious?: boolean): T;
|
|
304
322
|
declare function applyChanges<T extends object>(value: T, changes: Change[], applyPrevious?: boolean): T;
|
|
323
|
+
declare function deepMerge<T>(target: T, ...sources: any[]): T;
|
|
305
324
|
|
|
306
325
|
declare const hasOwnProperty: (v: PropertyKey) => boolean;
|
|
307
326
|
declare function isArray(obj: unknown): obj is Array<any>;
|
|
308
327
|
declare function isString(obj: unknown): obj is string;
|
|
309
328
|
declare function isObject(obj: unknown): obj is Record<any, any>;
|
|
329
|
+
declare function isPlainObject(obj: unknown): obj is Record<any, any>;
|
|
310
330
|
declare function isFunction(obj: unknown): obj is Function;
|
|
311
331
|
declare function isPrimitive(arg: unknown): arg is string | number | bigint | boolean | symbol;
|
|
312
332
|
declare function isDate(obj: unknown): obj is Date;
|
|
@@ -314,16 +334,18 @@ declare function isSymbol(obj: unknown): obj is symbol;
|
|
|
314
334
|
declare function isBoolean(obj: unknown): obj is boolean;
|
|
315
335
|
declare function isPromise<T>(obj: unknown): obj is Promise<T>;
|
|
316
336
|
declare function isMap(obj: unknown): obj is Map<any, any>;
|
|
337
|
+
declare function isSet(obj: unknown): obj is Set<any>;
|
|
317
338
|
declare function isNumber(obj: unknown): obj is number;
|
|
318
339
|
declare function isEmpty(obj: object): boolean;
|
|
319
340
|
declare function isNullOrUndefined(value: any): value is undefined | null;
|
|
320
341
|
|
|
342
|
+
declare function linked<T>(params: LinkedOptions<T> | (() => T), options?: LinkedOptions<T>): Linked<T>;
|
|
343
|
+
|
|
321
344
|
declare function observable<T>(): Observable<T | undefined>;
|
|
322
345
|
declare function observable<T>(value: Promise<RecursiveValueOrFunction<T>> | (() => RecursiveValueOrFunction<T>) | RecursiveValueOrFunction<T>): Observable<T>;
|
|
323
346
|
declare function observable<T>(value: T): Observable<T>;
|
|
324
347
|
declare function observablePrimitive<T>(value: Promise<T>): ObservablePrimitive<T>;
|
|
325
348
|
declare function observablePrimitive<T>(value?: T): ObservablePrimitive<T>;
|
|
326
|
-
declare function syncState(obs: ObservableParam): Observable<ObservableSyncState>;
|
|
327
349
|
|
|
328
350
|
declare function observe<T>(run: (e: ObserveEvent<T>) => T | void, options?: ObserveOptions): () => void;
|
|
329
351
|
declare function observe<T>(selector: Selector<T> | ((e: ObserveEvent<T>) => any), reaction?: (e: ObserveEventCallback<T>) => any, options?: ObserveOptions): () => void;
|
|
@@ -333,37 +355,36 @@ declare function proxy<T extends Record<string, any>>(get: <K extends keyof T>(k
|
|
|
333
355
|
declare function proxy<T>(get: (key: string) => ObservableParam<T>): Observable<Record<string, T>>;
|
|
334
356
|
declare function proxy<T>(get: (key: string) => T): Observable<Record<string, T>>;
|
|
335
357
|
|
|
358
|
+
declare function syncState(obs: ObservableParam): Observable<ObservableSyncState>;
|
|
359
|
+
|
|
336
360
|
declare function trackSelector<T>(selector: Selector<T>, update: (params: ListenerParams) => void, observeEvent?: ObserveEvent<T>, observeOptions?: ObserveOptions, createResubscribe?: boolean): {
|
|
337
|
-
nodes: Map<
|
|
361
|
+
nodes: Map<NodeInfo, TrackingNode> | undefined;
|
|
338
362
|
value: T;
|
|
339
363
|
dispose: (() => void) | undefined;
|
|
340
364
|
resubscribe: (() => () => void) | undefined;
|
|
341
365
|
};
|
|
342
366
|
|
|
343
367
|
declare function when<T, T2>(predicate: Promise<T>, effect: (value: T) => T2): Promise<T2>;
|
|
368
|
+
declare function when<T, T2>(predicate: Selector<T>[], effect: (value: T[]) => T2): Promise<T2>;
|
|
344
369
|
declare function when<T, T2>(predicate: Selector<T>, effect: (value: T) => T2): Promise<T2>;
|
|
370
|
+
declare function when<T>(predicate: Selector<T>[]): Promise<T[]>;
|
|
345
371
|
declare function when<T>(predicate: Selector<T>): Promise<T>;
|
|
346
372
|
declare function whenReady<T, T2>(predicate: Promise<T>, effect: (value: T) => T2): Promise<T2>;
|
|
373
|
+
declare function whenReady<T, T2>(predicate: Selector<T>[], effect: (value: T[]) => T2): Promise<T2[]>;
|
|
347
374
|
declare function whenReady<T, T2>(predicate: Selector<T>, effect: (value: T) => T2): Promise<T2>;
|
|
375
|
+
declare function whenReady<T>(predicate: Selector<T>[]): Promise<T[]>;
|
|
348
376
|
declare function whenReady<T>(predicate: Selector<T>): Promise<T>;
|
|
349
377
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
declare function
|
|
355
|
-
declare function shouldIgnoreUnobserved(node: NodeValue, refreshFn: () => void): true | undefined;
|
|
356
|
-
|
|
357
|
-
declare function runWithRetry<T>(node: NodeValue, state: {
|
|
358
|
-
attemptNum: number;
|
|
359
|
-
retry: RetryOptions | undefined;
|
|
360
|
-
}, fn: (e: {
|
|
361
|
-
cancel?: boolean;
|
|
362
|
-
}) => T | Promise<T>): T | Promise<T>;
|
|
378
|
+
interface ObservablePrimitiveState {
|
|
379
|
+
_node: NodeInfo;
|
|
380
|
+
toggle: () => void;
|
|
381
|
+
}
|
|
382
|
+
declare function ObservablePrimitiveClass<T>(this: ObservablePrimitive<T> & ObservablePrimitiveState, node: NodeInfo): void;
|
|
363
383
|
|
|
364
384
|
declare const internal: {
|
|
365
385
|
createPreviousHandler: typeof createPreviousHandler;
|
|
366
386
|
clone: typeof clone;
|
|
387
|
+
deepMerge: typeof deepMerge;
|
|
367
388
|
ensureNodeValue: typeof ensureNodeValue;
|
|
368
389
|
findIDKey: typeof findIDKey;
|
|
369
390
|
get: typeof get;
|
|
@@ -374,22 +395,25 @@ declare const internal: {
|
|
|
374
395
|
getValueAtPath: typeof getValueAtPath;
|
|
375
396
|
globalState: {
|
|
376
397
|
isLoadingLocal: boolean;
|
|
377
|
-
isMerging: boolean;
|
|
378
398
|
isLoadingRemote: boolean;
|
|
379
|
-
activateSyncedNode: (node:
|
|
399
|
+
activateSyncedNode: (node: NodeInfo, newValue: any) => {
|
|
380
400
|
update: UpdateFn;
|
|
381
401
|
value: any;
|
|
382
402
|
};
|
|
383
|
-
pendingNodes: Map<
|
|
384
|
-
dirtyNodes: Set<
|
|
403
|
+
pendingNodes: Map<NodeInfo, () => void>;
|
|
404
|
+
dirtyNodes: Set<NodeInfo>;
|
|
385
405
|
replacer: ((this: any, key: string, value: any) => any) | undefined;
|
|
386
406
|
reviver: ((this: any, key: string, value: any) => any) | undefined;
|
|
387
407
|
};
|
|
388
408
|
initializePathType: typeof initializePathType;
|
|
389
|
-
|
|
409
|
+
ObservablePrimitiveClass: typeof ObservablePrimitiveClass;
|
|
410
|
+
observableProperties: Map<string, {
|
|
411
|
+
get: (node: NodeInfo, ...args: any[]) => any;
|
|
412
|
+
set: (node: NodeInfo, value: any) => any;
|
|
413
|
+
}>;
|
|
414
|
+
observableFns: Map<string, (node: NodeInfo, ...args: any[]) => any>;
|
|
390
415
|
optimized: symbol;
|
|
391
416
|
peek: typeof peek;
|
|
392
|
-
runWithRetry: typeof runWithRetry;
|
|
393
417
|
safeParse: typeof safeParse;
|
|
394
418
|
safeStringify: typeof safeStringify;
|
|
395
419
|
set: typeof set;
|
|
@@ -402,4 +426,4 @@ declare const internal: {
|
|
|
402
426
|
};
|
|
403
427
|
};
|
|
404
428
|
|
|
405
|
-
export { type ArrayValue, type Change, type
|
|
429
|
+
export { type ArrayValue, type Change, type ChildNodeInfo, type ClassConstructor, type GetMode, type GetOptions, type ImmutableObservableBase, type Linked, type LinkedOptions, type ListenerFn, type ListenerParams, type NodeInfo, type NodeListener, type NotPrimitive, type Observable, type ObservableBoolean, type ObservableEvent, ObservableHint, type ObservableListenerDispose, type ObservableMap, type ObservableObject, type ObservableObjectFns, type ObservableParam, type ObservablePrimitive, type ObservableRoot, type ObservableState, type ObservableSyncState, type ObservableSyncStateBase, type ObservableValue, type ObserveEvent, type ObserveEventCallback, type ObserveOptions, type OpaqueObject, type PlainObject, type Primitive, type RecordValue, type RecursiveValueOrFunction, type RemoveObservables, type RetryOptions, type RootNodeInfo, type Selector, type SetParams, type TrackingNode, type TrackingState, type TrackingType, type TypeAtPath, type UpdateFn, type UpdateFnParams, type WaitForSet, type WaitForSetFnParams, applyChange, applyChanges, batch, beginBatch, computeSelector, computed, constructObjectWithPath, deconstructObjectWithPath, endBatch, event, getObservableIndex, hasOwnProperty, internal, isArray, isBoolean, isDate, isEmpty, isFunction, isMap, isNullOrUndefined, isNumber, isObject, isObservable, isObservableValueReady, isObserved, isPlainObject, isPrimitive, isPromise, isSet, isString, isSymbol, linked, mergeIntoObservable, observable, observablePrimitive, observe, opaqueObject, proxy, setAtPath, setSilently, shouldIgnoreUnobserved, syncState, trackSelector, when, whenReady };
|