@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
package/index.d.ts
CHANGED
|
@@ -1,269 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 : 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: string) => infer TRet ? Record<string, 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>> = Parameters<T['get']>[0];
|
|
20
|
-
type ObservableMap<T extends Map<any, any> | WeakMap<any, any>> = Omit<T, 'get' | 'size'> & Omit<ObservablePrimitive<T>, 'get' | 'size'> & {
|
|
21
|
-
get(key: Parameters<T['get']>[0]): Observable<Parameters<T['set']>[1]>;
|
|
22
|
-
get(): T;
|
|
23
|
-
size: ImmutableObservableBase<number>;
|
|
24
|
-
assign(value: Record<MapKey<T>, MapValue<T>> | Map<MapKey<T>, MapValue<T>> | WeakMap<MapKey<T>, MapValue<T>>): Observable<T>;
|
|
25
|
-
};
|
|
26
|
-
type ObservableSet<T extends Set<any> | WeakSet<any>> = Omit<T, 'size'> & Omit<ObservablePrimitive<T>, 'size'> & {
|
|
27
|
-
size: ImmutableObservableBase<number>;
|
|
28
|
-
};
|
|
29
|
-
interface ObservableBoolean extends ObservablePrimitive<boolean> {
|
|
30
|
-
toggle(): void;
|
|
31
|
-
}
|
|
32
|
-
interface ObservablePrimitive<T> extends ImmutableObservableBase<T>, MutableObservableBase<T> {
|
|
33
|
-
}
|
|
34
|
-
type ObservableAny = Partial<ObservableObjectFns<any>> & ObservablePrimitive<any> & Record<string, any>;
|
|
35
|
-
interface ImmutableObservableSimple<T> {
|
|
36
|
-
peek(): T;
|
|
37
|
-
get(trackingType?: any): any;
|
|
38
|
-
onChange(cb: ListenerFn<any>, options?: any): () => void;
|
|
39
|
-
}
|
|
40
|
-
interface ImmutableObservableBase<T> extends ImmutableObservableSimple<T> {
|
|
41
|
-
peek(): RemoveObservables<T>;
|
|
42
|
-
peek(): T;
|
|
43
|
-
get(trackingType?: TrackingType | GetOptions): RemoveObservables<T>;
|
|
44
|
-
onChange(cb: ListenerFn<T>, options?: {
|
|
45
|
-
trackingType?: TrackingType;
|
|
46
|
-
initial?: boolean;
|
|
47
|
-
immediate?: boolean;
|
|
48
|
-
noArgs?: boolean;
|
|
49
|
-
}): () => void;
|
|
50
|
-
}
|
|
51
|
-
interface MutableObservableSimple {
|
|
52
|
-
set(value: any): void;
|
|
53
|
-
delete(): void;
|
|
54
|
-
}
|
|
55
|
-
interface MutableObservableBase<T> extends MutableObservableSimple {
|
|
56
|
-
set(value: (prev: RemoveObservables<T>) => RemoveObservables<T>): void;
|
|
57
|
-
set(value: RecursiveValueOrFunction<T>): void;
|
|
58
|
-
set(value: Promise<RemoveObservables<T>>): void;
|
|
59
|
-
set(value: RemoveObservables<T>): void;
|
|
60
|
-
set(value: Observable<RemoveObservables<T>>): void;
|
|
61
|
-
delete(): void;
|
|
62
|
-
}
|
|
63
|
-
type UndefinedIf<T, U> = U extends true ? T | undefined : T;
|
|
64
|
-
type IsNullable<T> = undefined extends T ? true : null extends T ? true : false;
|
|
65
|
-
type NonObservable = Function | Observable;
|
|
66
|
-
type NonObservableKeys<T> = {
|
|
67
|
-
[K in keyof T]-?: IsStrictAny<T[K]> extends true ? never : T[K] extends undefined | null ? never : NonNullable<T[K]> extends NonObservable ? K : never;
|
|
68
|
-
}[keyof T];
|
|
69
|
-
type ObservableProps<T> = NonObservableKeys<NonNullable<T>> extends never ? T : RestoreNullability<T, Omit<NonNullable<T>, NonObservableKeys<NonNullable<T>>>>;
|
|
70
|
-
type NonObservableProps<T> = RestoreNullability<T, NullablePropsIf<Pick<NonNullable<T>, NonObservableKeys<NonNullable<T>>>, IsNullable<T>>>;
|
|
71
|
-
type NullablePropsIf<T, U> = {
|
|
72
|
-
[K in keyof T]: UndefinedIf<T[K], U>;
|
|
73
|
-
};
|
|
74
|
-
type RestoreNullability<Source, Target> = IsNullable<Source> extends true ? Target | Extract<Source, null | undefined> : Target;
|
|
75
|
-
type ObservableChildren<T, Nullable = IsNullable<T>> = {
|
|
76
|
-
[K in keyof T]-?: Observable<UndefinedIf<T[K], Nullable>>;
|
|
77
|
-
};
|
|
78
|
-
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 ? HasOneStringParam<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
|
-
};
|
|
81
|
-
type IsStrictAny<T> = 0 extends 1 & T ? true : false;
|
|
82
|
-
type ObservableObject<T> = ObservableObjectFunctions<ObservableProps<T> & NonObservableProps<T>> & ObservableChildren<ObservableProps<T>> & ObservableFunctionChildren<NonObservableProps<T>>;
|
|
83
|
-
type ObservableFunction<T> = T extends () => infer t ? t | (() => t) : T;
|
|
84
|
-
type HasOneStringParam<T> = T extends (...args: infer P) => any ? P extends {
|
|
85
|
-
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>] ? HasOneStringParam<T> extends true ? Observable<Record<K, t>> : t : HasOneStringParam<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
|
-
type Observable<T = any> = ObservableNode<T> & {};
|
|
89
|
-
type ObservableParam<T = any> = ImmutableObservableSimple<T> & MutableObservableSimple;
|
|
90
|
-
type ValueOrFunction<T> = T extends Function ? T : T | ImmutableObservableBase<T> | Promise<T> | (() => T | Promise<T>);
|
|
91
|
-
type ValueOrFunctionKeys<T> = {
|
|
92
|
-
[K in keyof T]: RecursiveValueOrFunction<T[K]>;
|
|
93
|
-
};
|
|
94
|
-
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>;
|
|
1
|
+
import { N as NodeInfo, O as Observable, T as TrackingType, G as GetOptions, C as Change, R as RecursiveValueOrFunction, a as ObservableEvent, S as Selector, b as ObserveEvent, c as ObservableParam, d as OpaqueObject, e as TypeAtPath, L as LinkedOptions, f as Linked, g as ObservablePrimitive, h as ObserveOptions, i as ObserveEventCallback, j as ObservableSyncState, k as ListenerParams, l as TrackingNode, m as clone, n as ensureNodeValue, o as findIDKey, p as getNode, q as getNodeValue, r as getPathType, U as UpdateFn, s as safeParse, t as safeStringify, u as setNodeValue, v as TrackingState } from './observableInterfaces-CZR3_8mM.js';
|
|
2
|
+
export { A as ArrayValue, J as ChildNodeInfo, B as ClassConstructor, Q as GetMode, a1 as ImmutableObservableBase, x as ListenerFn, H as NodeListener, F as NotPrimitive, a0 as ObservableBoolean, D as ObservableListenerDispose, a2 as ObservableObject, $ as ObservableObjectFns, E as ObservableRoot, Y as ObservableState, X as ObservableSyncStateBase, z as ObservableValue, P as Primitive, y as RecordValue, _ as RemoveObservables, Z as RetryOptions, I as RootNodeInfo, K as SetParams, V as UpdateFnParams, W as WaitForSet, M as WaitForSetFnParams, w as isObservable } from './observableInterfaces-CZR3_8mM.js';
|
|
95
3
|
|
|
96
|
-
declare
|
|
97
|
-
declare function
|
|
98
|
-
declare function
|
|
99
|
-
declare function
|
|
100
|
-
declare function
|
|
101
|
-
declare function
|
|
102
|
-
declare function getNode(value$: ObservableParam): NodeValue;
|
|
103
|
-
declare function setNodeValue(node: NodeValue, newValue: any): {
|
|
104
|
-
prevValue: any;
|
|
105
|
-
newValue: any;
|
|
106
|
-
};
|
|
107
|
-
declare function getNodeValue(node: NodeValue): any;
|
|
108
|
-
declare function ensureNodeValue(node: NodeValue): any;
|
|
109
|
-
declare function findIDKey(obj: unknown | undefined, node: NodeValue): string | ((value: any) => string) | undefined;
|
|
110
|
-
|
|
111
|
-
type TrackingType = undefined | true | symbol;
|
|
112
|
-
interface GetOptions {
|
|
113
|
-
shallow: boolean;
|
|
114
|
-
}
|
|
115
|
-
type OpaqueObject<T> = T & {
|
|
116
|
-
[symbolOpaque]: true;
|
|
117
|
-
};
|
|
118
|
-
interface ListenerParams<T = any> {
|
|
119
|
-
value: T;
|
|
120
|
-
getPrevious: () => T;
|
|
121
|
-
changes: Change[];
|
|
122
|
-
remote: boolean;
|
|
123
|
-
}
|
|
124
|
-
type ListenerFn<T = any> = (params: ListenerParams<T>) => void;
|
|
125
|
-
interface ObservableEvent {
|
|
126
|
-
fire(): void;
|
|
127
|
-
on(cb?: () => void): ObservableListenerDispose;
|
|
128
|
-
get(): void;
|
|
129
|
-
}
|
|
130
|
-
type TypeAtPath = 'object' | 'array' | 'map' | 'set';
|
|
131
|
-
interface Change {
|
|
132
|
-
path: string[];
|
|
133
|
-
pathTypes: TypeAtPath[];
|
|
134
|
-
valueAtPath: any;
|
|
135
|
-
prevAtPath: any;
|
|
136
|
-
}
|
|
137
|
-
type RecordValue<T> = T extends Record<string, infer t> ? t : never;
|
|
138
|
-
type ArrayValue<T> = T extends Array<infer t> ? t : never;
|
|
139
|
-
type ObservableValue<T> = T extends Observable<infer t> ? t : never;
|
|
140
|
-
type Selector<T> = ObservableParam<T> | ObservableEvent | (() => T) | T;
|
|
141
|
-
type ClassConstructor<I, Args extends any[] = any[]> = new (...args: Args) => I;
|
|
142
|
-
type ObservableListenerDispose = () => void;
|
|
143
|
-
interface ObservableRoot {
|
|
144
|
-
_: any;
|
|
145
|
-
set?: (value: any) => void;
|
|
146
|
-
}
|
|
147
|
-
type Primitive = boolean | string | number | Date;
|
|
148
|
-
type NotPrimitive<T> = T extends Primitive ? never : T;
|
|
149
|
-
interface NodeValueListener {
|
|
150
|
-
track: TrackingType;
|
|
151
|
-
noArgs?: boolean;
|
|
152
|
-
listener: ListenerFn;
|
|
153
|
-
}
|
|
154
|
-
interface TrackingState {
|
|
155
|
-
nodes?: Map<NodeValue, TrackingNode>;
|
|
156
|
-
traceListeners?: (nodes: Map<NodeValue, TrackingNode>) => void;
|
|
157
|
-
traceUpdates?: (fn: Function) => Function;
|
|
158
|
-
}
|
|
159
|
-
interface BaseNodeValue {
|
|
160
|
-
children?: Map<string, ChildNodeValue>;
|
|
161
|
-
proxy?: object;
|
|
162
|
-
root: ObservableRoot;
|
|
163
|
-
listeners?: Set<NodeValueListener>;
|
|
164
|
-
listenersImmediate?: Set<NodeValueListener>;
|
|
165
|
-
isEvent?: boolean;
|
|
166
|
-
linkedToNode?: NodeValue;
|
|
167
|
-
linkedToNodeDispose?: () => void;
|
|
168
|
-
activatedObserveDispose?: () => void;
|
|
169
|
-
linkedFromNodes?: Set<NodeValue>;
|
|
170
|
-
isSetting?: number;
|
|
171
|
-
isAssigning?: number;
|
|
172
|
-
isComputing?: boolean;
|
|
173
|
-
parentOther?: NodeValue;
|
|
174
|
-
functions?: Map<string, Function | Observable<any>>;
|
|
175
|
-
lazy?: boolean;
|
|
176
|
-
lazyFn?: Function;
|
|
177
|
-
needsExtract?: boolean;
|
|
178
|
-
numListenersRecursive: number;
|
|
179
|
-
state?: Observable<ObservableSyncState>;
|
|
180
|
-
activated?: boolean;
|
|
181
|
-
activationState?: LinkedOptions & {
|
|
182
|
-
onError?: () => void;
|
|
183
|
-
persistedRetry?: boolean;
|
|
184
|
-
};
|
|
185
|
-
dirtyFn?: () => void;
|
|
186
|
-
dirtyChildren?: Set<NodeValue>;
|
|
187
|
-
}
|
|
188
|
-
interface RootNodeValue extends BaseNodeValue {
|
|
189
|
-
parent?: undefined;
|
|
190
|
-
key?: undefined;
|
|
191
|
-
}
|
|
192
|
-
interface ChildNodeValue extends BaseNodeValue {
|
|
193
|
-
parent: NodeValue;
|
|
194
|
-
key: string;
|
|
195
|
-
}
|
|
196
|
-
type NodeValue = RootNodeValue | ChildNodeValue;
|
|
197
|
-
interface TrackingNode {
|
|
198
|
-
node: NodeValue;
|
|
199
|
-
track: TrackingType;
|
|
200
|
-
num: number;
|
|
201
|
-
}
|
|
202
|
-
interface ObserveEvent<T> {
|
|
203
|
-
num: number;
|
|
204
|
-
previous?: T | undefined;
|
|
205
|
-
cancel?: boolean;
|
|
206
|
-
onCleanup?: () => void;
|
|
207
|
-
}
|
|
208
|
-
interface ObserveEventCallback<T> {
|
|
209
|
-
num: number;
|
|
210
|
-
previous?: T | undefined;
|
|
211
|
-
value?: T;
|
|
212
|
-
cancel: boolean;
|
|
213
|
-
nodes: Map<NodeValue, TrackingNode> | undefined;
|
|
214
|
-
refresh: () => void;
|
|
215
|
-
onCleanup?: () => void;
|
|
216
|
-
onCleanupReaction?: () => void;
|
|
217
|
-
}
|
|
218
|
-
type SetParams<T> = ListenerParams<T extends Promise<infer t> ? t : T>;
|
|
219
|
-
interface LinkedOptions<T = any> {
|
|
220
|
-
get?: () => Promise<T> | T;
|
|
221
|
-
set?: (params: SetParams<T>) => void | Promise<any>;
|
|
222
|
-
waitFor?: Selector<any>;
|
|
223
|
-
waitForSet?: ((params: WaitForSetFnParams<T>) => any) | Promise<any> | ObservableParam<any> | ObservableEvent;
|
|
224
|
-
initial?: (() => T) | T;
|
|
225
|
-
activate?: 'auto' | 'lazy';
|
|
226
|
-
}
|
|
227
|
-
interface WaitForSetFnParams<T = any> {
|
|
228
|
-
value: T;
|
|
229
|
-
changes: Change[];
|
|
230
|
-
}
|
|
231
|
-
type GetMode = 'set' | 'assign' | 'merge' | 'append' | 'prepend';
|
|
232
|
-
interface UpdateFnParams {
|
|
233
|
-
value: unknown;
|
|
234
|
-
mode?: GetMode;
|
|
235
|
-
lastSync?: number | undefined;
|
|
236
|
-
}
|
|
237
|
-
type UpdateFn = (params: UpdateFnParams) => void;
|
|
238
|
-
type Linked<T> = T;
|
|
239
|
-
interface ObserveOptions {
|
|
240
|
-
immediate?: boolean;
|
|
241
|
-
}
|
|
242
|
-
interface ObservableSyncStateBase {
|
|
243
|
-
isPersistLoaded: boolean;
|
|
244
|
-
isPersistEnabled: boolean;
|
|
245
|
-
isSyncEnabled: boolean;
|
|
246
|
-
lastSync?: number;
|
|
247
|
-
syncCount?: number;
|
|
248
|
-
clearPersist: () => Promise<void>;
|
|
249
|
-
sync: () => Promise<void>;
|
|
250
|
-
getPendingChanges: () => Record<string, {
|
|
251
|
-
p: any;
|
|
252
|
-
v?: any;
|
|
253
|
-
}> | undefined;
|
|
254
|
-
}
|
|
255
|
-
interface ObservableState {
|
|
256
|
-
isLoaded: boolean;
|
|
257
|
-
error?: Error;
|
|
258
|
-
}
|
|
259
|
-
type ObservableSyncState = ObservableState & ObservableSyncStateBase;
|
|
260
|
-
interface RetryOptions {
|
|
261
|
-
infinite?: boolean;
|
|
262
|
-
times?: number;
|
|
263
|
-
delay?: number;
|
|
264
|
-
backoff?: 'constant' | 'exponential';
|
|
265
|
-
maxDelay?: number;
|
|
266
|
-
}
|
|
4
|
+
declare function getProxy(node: NodeInfo, p?: string, asFunction?: Function): Observable;
|
|
5
|
+
declare function set(node: NodeInfo, newValue?: any): void;
|
|
6
|
+
declare function get(node: NodeInfo, options?: TrackingType | GetOptions): any;
|
|
7
|
+
declare function peek(node: NodeInfo): any;
|
|
8
|
+
declare function isObserved(node: NodeInfo): boolean;
|
|
9
|
+
declare function shouldIgnoreUnobserved(node: NodeInfo, refreshFn: () => void): true | undefined;
|
|
267
10
|
|
|
268
11
|
declare function createPreviousHandler(value: any, changes: Change[]): () => any;
|
|
269
12
|
declare function batch(fn: () => void): void;
|
|
@@ -273,18 +16,6 @@ declare function endBatch(force?: boolean): void;
|
|
|
273
16
|
declare function computed<T>(get: () => RecursiveValueOrFunction<T>): Observable<T>;
|
|
274
17
|
declare function computed<T, T2 = T>(get: (() => RecursiveValueOrFunction<T>) | RecursiveValueOrFunction<T>, set: (value: T2) => void): Observable<T>;
|
|
275
18
|
|
|
276
|
-
declare function linked<T>(params: LinkedOptions<T> | (() => T), options?: LinkedOptions<T>): Linked<T>;
|
|
277
|
-
|
|
278
|
-
declare function configureLegendState({ observableFunctions, observableProperties, jsonReplacer, jsonReviver, }: {
|
|
279
|
-
observableFunctions?: Record<string, (node: NodeValue, ...args: any[]) => any>;
|
|
280
|
-
observableProperties?: Record<string, {
|
|
281
|
-
get: (node: NodeValue) => any;
|
|
282
|
-
set: (node: NodeValue, value: any) => any;
|
|
283
|
-
}>;
|
|
284
|
-
jsonReplacer?: (this: any, key: string, value: any) => any;
|
|
285
|
-
jsonReviver?: (this: any, key: string, value: any) => any;
|
|
286
|
-
}): void;
|
|
287
|
-
|
|
288
19
|
declare function event(): ObservableEvent;
|
|
289
20
|
|
|
290
21
|
declare function computeSelector<T>(selector: Selector<T>, e?: ObserveEvent<T>, retainObservable?: boolean): T;
|
|
@@ -292,8 +23,7 @@ declare function getObservableIndex(value$: ObservableParam): number;
|
|
|
292
23
|
declare function opaqueObject<T extends object>(value: T): OpaqueObject<T>;
|
|
293
24
|
declare function getValueAtPath(obj: Record<string, any>, path: string[]): any;
|
|
294
25
|
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;
|
|
295
|
-
declare function
|
|
296
|
-
declare function mergeIntoObservable<T extends ObservableParam<Record<string, any>> | object>(target: T, ...sources: any[]): T;
|
|
26
|
+
declare function mergeIntoObservable<T extends ObservableParam<any>>(target: T, ...sources: any[]): T;
|
|
297
27
|
declare function constructObjectWithPath(path: string[], pathTypes: TypeAtPath[], value: any): object;
|
|
298
28
|
declare function deconstructObjectWithPath(path: string[], pathTypes: TypeAtPath[], value: any): object;
|
|
299
29
|
declare function isObservableValueReady(value: any): boolean;
|
|
@@ -301,6 +31,7 @@ declare function setSilently(value$: ObservableParam, newValue: any): any;
|
|
|
301
31
|
declare function initializePathType(pathType: TypeAtPath): any;
|
|
302
32
|
declare function applyChange<T extends object>(value: T, change: Change, applyPrevious?: boolean): T;
|
|
303
33
|
declare function applyChanges<T extends object>(value: T, changes: Change[], applyPrevious?: boolean): T;
|
|
34
|
+
declare function deepMerge<T>(target: T, ...sources: any[]): T;
|
|
304
35
|
|
|
305
36
|
declare const hasOwnProperty: (v: PropertyKey) => boolean;
|
|
306
37
|
declare function isArray(obj: unknown): obj is Array<any>;
|
|
@@ -317,12 +48,13 @@ declare function isNumber(obj: unknown): obj is number;
|
|
|
317
48
|
declare function isEmpty(obj: object): boolean;
|
|
318
49
|
declare function isNullOrUndefined(value: any): value is undefined | null;
|
|
319
50
|
|
|
51
|
+
declare function linked<T>(params: LinkedOptions<T> | (() => T), options?: LinkedOptions<T>): Linked<T>;
|
|
52
|
+
|
|
320
53
|
declare function observable<T>(): Observable<T | undefined>;
|
|
321
54
|
declare function observable<T>(value: Promise<RecursiveValueOrFunction<T>> | (() => RecursiveValueOrFunction<T>) | RecursiveValueOrFunction<T>): Observable<T>;
|
|
322
55
|
declare function observable<T>(value: T): Observable<T>;
|
|
323
56
|
declare function observablePrimitive<T>(value: Promise<T>): ObservablePrimitive<T>;
|
|
324
57
|
declare function observablePrimitive<T>(value?: T): ObservablePrimitive<T>;
|
|
325
|
-
declare function syncState(obs: ObservableParam): Observable<ObservableSyncState>;
|
|
326
58
|
|
|
327
59
|
declare function observe<T>(run: (e: ObserveEvent<T>) => T | void, options?: ObserveOptions): () => void;
|
|
328
60
|
declare function observe<T>(selector: Selector<T> | ((e: ObserveEvent<T>) => any), reaction?: (e: ObserveEventCallback<T>) => any, options?: ObserveOptions): () => void;
|
|
@@ -332,37 +64,30 @@ declare function proxy<T extends Record<string, any>>(get: <K extends keyof T>(k
|
|
|
332
64
|
declare function proxy<T>(get: (key: string) => ObservableParam<T>): Observable<Record<string, T>>;
|
|
333
65
|
declare function proxy<T>(get: (key: string) => T): Observable<Record<string, T>>;
|
|
334
66
|
|
|
67
|
+
declare function syncState(obs: ObservableParam): Observable<ObservableSyncState>;
|
|
68
|
+
|
|
335
69
|
declare function trackSelector<T>(selector: Selector<T>, update: (params: ListenerParams) => void, observeEvent?: ObserveEvent<T>, observeOptions?: ObserveOptions, createResubscribe?: boolean): {
|
|
336
|
-
nodes: Map<
|
|
70
|
+
nodes: Map<NodeInfo, TrackingNode> | undefined;
|
|
337
71
|
value: T;
|
|
338
72
|
dispose: (() => void) | undefined;
|
|
339
73
|
resubscribe: (() => () => void) | undefined;
|
|
340
74
|
};
|
|
341
75
|
|
|
342
76
|
declare function when<T, T2>(predicate: Promise<T>, effect: (value: T) => T2): Promise<T2>;
|
|
77
|
+
declare function when<T, T2>(predicate: Selector<T>[], effect: (value: T[]) => T2): Promise<T2>;
|
|
343
78
|
declare function when<T, T2>(predicate: Selector<T>, effect: (value: T) => T2): Promise<T2>;
|
|
79
|
+
declare function when<T>(predicate: Selector<T>[]): Promise<T[]>;
|
|
344
80
|
declare function when<T>(predicate: Selector<T>): Promise<T>;
|
|
345
81
|
declare function whenReady<T, T2>(predicate: Promise<T>, effect: (value: T) => T2): Promise<T2>;
|
|
82
|
+
declare function whenReady<T, T2>(predicate: Selector<T>[], effect: (value: T[]) => T2): Promise<T2[]>;
|
|
346
83
|
declare function whenReady<T, T2>(predicate: Selector<T>, effect: (value: T) => T2): Promise<T2>;
|
|
84
|
+
declare function whenReady<T>(predicate: Selector<T>[]): Promise<T[]>;
|
|
347
85
|
declare function whenReady<T>(predicate: Selector<T>): Promise<T>;
|
|
348
86
|
|
|
349
|
-
declare function getProxy(node: NodeValue, p?: string, asFunction?: Function): Observable;
|
|
350
|
-
declare function set(node: NodeValue, newValue?: any): void;
|
|
351
|
-
declare function get(node: NodeValue, options?: TrackingType | GetOptions): any;
|
|
352
|
-
declare function peek(node: NodeValue): any;
|
|
353
|
-
declare function isObserved(node: NodeValue): boolean;
|
|
354
|
-
declare function shouldIgnoreUnobserved(node: NodeValue, refreshFn: () => void): true | undefined;
|
|
355
|
-
|
|
356
|
-
declare function runWithRetry<T>(node: NodeValue, state: {
|
|
357
|
-
attemptNum: number;
|
|
358
|
-
retry: RetryOptions | undefined;
|
|
359
|
-
}, fn: (e: {
|
|
360
|
-
cancel?: boolean;
|
|
361
|
-
}) => T | Promise<T>): T | Promise<T>;
|
|
362
|
-
|
|
363
87
|
declare const internal: {
|
|
364
88
|
createPreviousHandler: typeof createPreviousHandler;
|
|
365
89
|
clone: typeof clone;
|
|
90
|
+
deepMerge: typeof deepMerge;
|
|
366
91
|
ensureNodeValue: typeof ensureNodeValue;
|
|
367
92
|
findIDKey: typeof findIDKey;
|
|
368
93
|
get: typeof get;
|
|
@@ -373,22 +98,20 @@ declare const internal: {
|
|
|
373
98
|
getValueAtPath: typeof getValueAtPath;
|
|
374
99
|
globalState: {
|
|
375
100
|
isLoadingLocal: boolean;
|
|
376
|
-
isMerging: boolean;
|
|
377
101
|
isLoadingRemote: boolean;
|
|
378
|
-
activateSyncedNode: (node:
|
|
102
|
+
activateSyncedNode: (node: NodeInfo, newValue: any) => {
|
|
379
103
|
update: UpdateFn;
|
|
380
104
|
value: any;
|
|
381
105
|
};
|
|
382
|
-
pendingNodes: Map<
|
|
383
|
-
dirtyNodes: Set<
|
|
106
|
+
pendingNodes: Map<NodeInfo, () => void>;
|
|
107
|
+
dirtyNodes: Set<NodeInfo>;
|
|
384
108
|
replacer: ((this: any, key: string, value: any) => any) | undefined;
|
|
385
109
|
reviver: ((this: any, key: string, value: any) => any) | undefined;
|
|
386
110
|
};
|
|
387
111
|
initializePathType: typeof initializePathType;
|
|
388
|
-
observableFns: Map<string, (node:
|
|
112
|
+
observableFns: Map<string, (node: NodeInfo, ...args: any[]) => any>;
|
|
389
113
|
optimized: symbol;
|
|
390
114
|
peek: typeof peek;
|
|
391
|
-
runWithRetry: typeof runWithRetry;
|
|
392
115
|
safeParse: typeof safeParse;
|
|
393
116
|
safeStringify: typeof safeStringify;
|
|
394
117
|
set: typeof set;
|
|
@@ -401,4 +124,4 @@ declare const internal: {
|
|
|
401
124
|
};
|
|
402
125
|
};
|
|
403
126
|
|
|
404
|
-
export {
|
|
127
|
+
export { Change, GetOptions, Linked, LinkedOptions, ListenerParams, NodeInfo, Observable, ObservableEvent, ObservableParam, ObservablePrimitive, ObservableSyncState, ObserveEvent, ObserveEventCallback, ObserveOptions, OpaqueObject, RecursiveValueOrFunction, Selector, TrackingNode, TrackingState, TrackingType, TypeAtPath, UpdateFn, applyChange, applyChanges, batch, beginBatch, computeSelector, computed, constructObjectWithPath, deconstructObjectWithPath, endBatch, event, getObservableIndex, hasOwnProperty, internal, isArray, isBoolean, isDate, isEmpty, isFunction, isMap, isNullOrUndefined, isNumber, isObject, isObservableValueReady, isObserved, isPrimitive, isPromise, isString, isSymbol, linked, mergeIntoObservable, observable, observablePrimitive, observe, opaqueObject, proxy, setAtPath, setSilently, shouldIgnoreUnobserved, syncState, trackSelector, when, whenReady };
|