@legendapp/state 3.0.0-alpha.4 → 3.0.0-alpha.41

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.
Files changed (94) hide show
  1. package/.DS_Store +0 -0
  2. package/CHANGELOG.md +831 -1
  3. package/LICENSE +21 -1
  4. package/README.md +141 -1
  5. package/babel.js +0 -2
  6. package/babel.mjs +0 -2
  7. package/config/configureLegendState.d.mts +13 -0
  8. package/config/configureLegendState.d.ts +13 -0
  9. package/config/configureLegendState.js +45 -0
  10. package/config/configureLegendState.mjs +43 -0
  11. package/config/enable$GetSet.js +2 -1
  12. package/config/enable$GetSet.mjs +2 -1
  13. package/config/enableReactTracking.js +2 -1
  14. package/config/enableReactTracking.mjs +2 -1
  15. package/config/enableReactUse.js +2 -1
  16. package/config/enableReactUse.mjs +2 -1
  17. package/config/enable_PeekAssign.js +2 -1
  18. package/config/enable_PeekAssign.mjs +2 -1
  19. package/helpers/trackHistory.js +2 -2
  20. package/helpers/trackHistory.mjs +2 -2
  21. package/index.d.mts +106 -81
  22. package/index.d.ts +106 -81
  23. package/index.js +347 -335
  24. package/index.mjs +344 -333
  25. package/package.json +36 -1
  26. package/persist-plugins/async-storage.d.mts +6 -3
  27. package/persist-plugins/async-storage.d.ts +6 -3
  28. package/persist-plugins/async-storage.js +8 -4
  29. package/persist-plugins/async-storage.mjs +8 -5
  30. package/persist-plugins/indexeddb.d.mts +6 -4
  31. package/persist-plugins/indexeddb.d.ts +6 -4
  32. package/persist-plugins/indexeddb.js +35 -15
  33. package/persist-plugins/indexeddb.mjs +35 -16
  34. package/persist-plugins/mmkv.d.mts +5 -1
  35. package/persist-plugins/mmkv.d.ts +5 -1
  36. package/persist-plugins/mmkv.js +10 -5
  37. package/persist-plugins/mmkv.mjs +10 -6
  38. package/react-reactive/enableReactComponents.d.mts +9 -0
  39. package/react-reactive/enableReactComponents.d.ts +9 -0
  40. package/react-reactive/enableReactComponents.js +19 -0
  41. package/react-reactive/enableReactComponents.mjs +17 -0
  42. package/react-reactive/enableReactNativeComponents.d.mts +22 -0
  43. package/react-reactive/enableReactNativeComponents.d.ts +22 -0
  44. package/react-reactive/enableReactNativeComponents.js +53 -0
  45. package/react-reactive/enableReactNativeComponents.mjs +51 -0
  46. package/react-reactive/enableReactive.d.mts +5 -0
  47. package/react-reactive/enableReactive.d.ts +5 -0
  48. package/react-reactive/enableReactive.js +24 -0
  49. package/react-reactive/enableReactive.mjs +22 -0
  50. package/react-reactive/enableReactive.native.d.mts +5 -0
  51. package/react-reactive/enableReactive.native.d.ts +5 -0
  52. package/react-reactive/enableReactive.native.js +58 -0
  53. package/react-reactive/enableReactive.native.mjs +56 -0
  54. package/react-reactive/enableReactive.web.d.mts +5 -0
  55. package/react-reactive/enableReactive.web.d.ts +5 -0
  56. package/react-reactive/enableReactive.web.js +58 -0
  57. package/react-reactive/enableReactive.web.mjs +56 -0
  58. package/react.d.mts +39 -34
  59. package/react.d.ts +39 -34
  60. package/react.js +54 -27
  61. package/react.mjs +55 -28
  62. package/sync-plugins/crud.d.mts +21 -24
  63. package/sync-plugins/crud.d.ts +21 -24
  64. package/sync-plugins/crud.js +241 -140
  65. package/sync-plugins/crud.mjs +243 -142
  66. package/sync-plugins/fetch.js +12 -8
  67. package/sync-plugins/fetch.mjs +13 -9
  68. package/sync-plugins/firebase.d.mts +27 -0
  69. package/sync-plugins/firebase.d.ts +27 -0
  70. package/sync-plugins/firebase.js +373 -0
  71. package/sync-plugins/firebase.mjs +368 -0
  72. package/sync-plugins/keel.d.mts +43 -26
  73. package/sync-plugins/keel.d.ts +43 -26
  74. package/sync-plugins/keel.js +145 -100
  75. package/sync-plugins/keel.mjs +147 -100
  76. package/sync-plugins/supabase.d.mts +19 -9
  77. package/sync-plugins/supabase.d.ts +19 -9
  78. package/sync-plugins/supabase.js +52 -22
  79. package/sync-plugins/supabase.mjs +53 -23
  80. package/sync-plugins/tanstack-query.d.mts +2 -2
  81. package/sync-plugins/tanstack-query.d.ts +2 -2
  82. package/sync-plugins/tanstack-query.js +22 -5
  83. package/sync-plugins/tanstack-query.mjs +22 -5
  84. package/sync-plugins/tanstack-react-query.d.mts +1 -1
  85. package/sync-plugins/tanstack-react-query.d.ts +1 -1
  86. package/sync-plugins/tanstack-react-query.js +8 -1
  87. package/sync-plugins/tanstack-react-query.mjs +8 -1
  88. package/sync.d.mts +74 -200
  89. package/sync.d.ts +74 -200
  90. package/sync.js +510 -307
  91. package/sync.mjs +516 -313
  92. package/types/babel.d.ts +12 -1
  93. /package/config/{enable_GetSet.d.mts → enable$GetSet.d.mts} +0 -0
  94. /package/config/{enable_GetSet.d.ts → enable$GetSet.d.ts} +0 -0
package/sync.d.ts CHANGED
@@ -1,12 +1,11 @@
1
1
  import { MMKVConfiguration } from 'react-native-mmkv';
2
2
  import { AsyncStorageStatic } from '@react-native-async-storage/async-storage';
3
- import { ClassConstructor, GetMode, SetParams, NodeValue, UpdateFn, ObservableParam, LinkedOptions, RetryOptions, Change, Observable, ObservableSyncState, UpdateFnParams, Selector, TypeAtPath, ObservableState, RecordValue, ArrayValue } from '@legendapp/state';
3
+ import { ClassConstructor, NodeInfo, ObservableParam, GetMode, SetParams, UpdateFn, LinkedOptions, RetryOptions, Change, Observable, ObservableSyncState, TypeAtPath, RecordValue, ArrayValue, WaitForSet } from '@legendapp/state';
4
4
  import { SyncedOptionsGlobal as SyncedOptionsGlobal$1 } from '@legendapp/state/sync';
5
- import { DatabaseReference, Query } from 'firebase/database';
6
5
 
7
6
  interface PersistOptions<T = any> {
8
- name: string;
9
- plugin?: ClassConstructor<ObservablePersistPlugin, T[]>;
7
+ name?: string;
8
+ plugin?: ClassConstructor<ObservablePersistPlugin, T[]> | ObservablePersistPlugin;
10
9
  retrySync?: boolean;
11
10
  transform?: SyncTransform<T>;
12
11
  readonly?: boolean;
@@ -17,30 +16,44 @@ interface PersistOptions<T = any> {
17
16
  };
18
17
  options?: any;
19
18
  }
20
- interface SyncedGetParams {
19
+ interface SyncedGetSetSubscribeBaseParams<T = any> {
20
+ node: NodeInfo;
21
+ value$: ObservableParam<T>;
22
+ refresh: () => void;
23
+ }
24
+ interface SyncedGetSetBaseParams<T = any> extends SyncedGetSetSubscribeBaseParams<T>, OnErrorRetryParams {
25
+ }
26
+ interface OnErrorRetryParams {
27
+ retryNum: number;
28
+ cancelRetry: boolean;
29
+ }
30
+ interface SyncedGetParams<T> extends SyncedGetSetBaseParams<T> {
21
31
  value: any;
22
32
  lastSync: number | undefined;
23
33
  updateLastSync: (lastSync: number) => void;
24
34
  mode: GetMode;
25
- refresh: () => void;
35
+ onError: (error: Error) => void;
36
+ options: SyncedOptions;
26
37
  }
27
- interface SyncedSetParams<T> extends SetParams<T> {
28
- node: NodeValue;
29
- valuePrevious: T;
30
- update: UpdateFn;
31
- refresh: () => void;
32
- cancelRetry: () => void;
33
- retryNum: number;
34
- fromSubscribe: boolean | undefined;
38
+ interface SyncedSetParams<T> extends Pick<SetParams<T>, 'changes' | 'value'>, SyncedGetSetBaseParams<T> {
39
+ update: UpdateFn<T>;
40
+ onError: (error: Error, retryParams: OnErrorRetryParams) => void;
35
41
  }
36
- interface SyncedSubscribeParams<T = any> {
37
- node: NodeValue;
38
- value$: ObservableParam<T>;
39
- update: UpdateFn;
40
- refresh: () => void;
42
+ interface SyncedSubscribeParams<T = any> extends SyncedGetSetSubscribeBaseParams<T> {
43
+ lastSync: number | undefined;
44
+ update: UpdateFn<T>;
45
+ onError: (error: Error) => void;
46
+ }
47
+ interface SyncedErrorParams {
48
+ getParams?: SyncedGetParams<any>;
49
+ setParams?: SyncedSetParams<any>;
50
+ subscribeParams?: SyncedSubscribeParams<any>;
51
+ source: 'get' | 'set' | 'subscribe';
52
+ value$: ObservableParam<any>;
53
+ retryParams?: OnErrorRetryParams;
41
54
  }
42
55
  interface SyncedOptions<TRemote = any, TLocal = TRemote> extends Omit<LinkedOptions<TRemote>, 'get' | 'set'> {
43
- get?: (params: SyncedGetParams) => Promise<TRemote> | TRemote;
56
+ get?: (params: SyncedGetParams<TRemote>) => Promise<TRemote> | TRemote;
44
57
  set?: (params: SyncedSetParams<TRemote>) => void | Promise<any>;
45
58
  subscribe?: (params: SyncedSubscribeParams<TRemote>) => (() => void) | void;
46
59
  retry?: RetryOptions;
@@ -49,29 +62,39 @@ interface SyncedOptions<TRemote = any, TLocal = TRemote> extends Omit<LinkedOpti
49
62
  syncMode?: 'auto' | 'manual';
50
63
  mode?: GetMode;
51
64
  transform?: SyncTransform<TLocal, TRemote>;
52
- enableSync?: boolean;
53
- onGetError?: (error: Error) => void;
54
- onSetError?: (error: Error) => void;
55
- log?: (message?: any, ...optionalParams: any[]) => void;
56
- onBeforeSet?: () => void;
65
+ onBeforeGet?: (params: {
66
+ value: TRemote;
67
+ lastSync: number | undefined;
68
+ pendingChanges: PendingChanges | undefined;
69
+ cancel: boolean;
70
+ clearPendingChanges: () => Promise<void>;
71
+ resetCache: () => Promise<void>;
72
+ }) => void;
73
+ onBeforeSet?: (params: {
74
+ cancel: boolean;
75
+ }) => void;
57
76
  onAfterSet?: () => void;
58
- allowSetIfGetError?: boolean;
77
+ onError?: (error: Error, params: SyncedErrorParams) => void;
59
78
  }
60
79
  interface SyncedOptionsGlobal<T = any> extends Omit<SyncedOptions<T>, 'get' | 'set' | 'persist' | 'initial' | 'waitForSet' | 'waitFor' | 'transform' | 'subscribe'> {
61
80
  persist?: ObservablePersistPluginOptions & Omit<PersistOptions, 'name' | 'transform' | 'options'>;
62
81
  }
82
+ interface ObservablePersistIndexedDBPluginOptions {
83
+ databaseName: string;
84
+ version: number;
85
+ tableNames: string[];
86
+ deleteTableNames?: string[];
87
+ onUpgradeNeeded?: (event: IDBVersionChangeEvent) => void;
88
+ }
89
+ interface ObservablePersistAsyncStoragePluginOptions {
90
+ AsyncStorage: AsyncStorageStatic;
91
+ preload?: boolean | string[];
92
+ }
63
93
  interface ObservablePersistPluginOptions {
64
94
  onGetError?: (error: Error) => void;
65
95
  onSetError?: (error: Error) => void;
66
- indexedDB?: {
67
- databaseName: string;
68
- version: number;
69
- tableNames: string[];
70
- };
71
- asyncStorage?: {
72
- AsyncStorage: AsyncStorageStatic;
73
- preload?: boolean | string[];
74
- };
96
+ indexedDB?: ObservablePersistIndexedDBPluginOptions;
97
+ asyncStorage?: ObservablePersistAsyncStoragePluginOptions;
75
98
  }
76
99
  interface ObservablePersistPlugin {
77
100
  initialize?(config: ObservablePersistPluginOptions): void | Promise<void>;
@@ -99,31 +122,9 @@ interface ObservableSyncSetParams<T> {
99
122
  options: SyncedOptions<T>;
100
123
  changes: Change[];
101
124
  value: T;
102
- valuePrevious: T;
103
- }
104
- interface ObservableSyncGetParams<T> {
105
- state: Observable<ObservableSyncState>;
106
- value$: ObservableParam<T>;
107
- options: SyncedOptions<T>;
108
- dateModified?: number;
109
- lastSync?: number;
110
- mode?: GetMode;
111
- onGet: () => void;
112
- onError: (error: Error) => void;
113
- onChange: (params: UpdateFnParams) => void | Promise<void>;
114
- }
115
- type ObservableSyncRemoteGetFnParams<T> = Omit<ObservableSyncGetParams<T>, 'onGet'>;
116
- interface ObservableSyncClass {
117
- get?<T>(params: ObservableSyncGetParams<T>): void;
118
- set?<T>(params: ObservableSyncSetParams<T>): void | Promise<void | {
119
- changes?: object;
120
- dateModified?: number;
121
- lastSync?: number;
122
- pathStrs?: string[];
123
- }>;
124
125
  }
125
126
  interface ObservableSyncFunctions<T = any> {
126
- get?(params: ObservableSyncRemoteGetFnParams<T>): T | Promise<T>;
127
+ get?(params: SyncedGetParams<T>): T | Promise<T>;
127
128
  set?(params: ObservableSyncSetParams<T>): void | Promise<void | {
128
129
  changes?: object | undefined;
129
130
  dateModified?: number;
@@ -131,151 +132,19 @@ interface ObservableSyncFunctions<T = any> {
131
132
  }>;
132
133
  }
133
134
  interface SubscribeOptions {
134
- node: NodeValue;
135
+ node: NodeInfo;
135
136
  update: UpdateFn;
136
137
  refresh: () => void;
137
138
  }
138
139
  type Synced<T> = T;
140
+ type PendingChanges = Record<string, {
141
+ p: any;
142
+ v?: any;
143
+ t: TypeAtPath[];
144
+ }>;
139
145
 
140
146
  declare function configureObservableSync(options?: SyncedOptionsGlobal$1): void;
141
147
 
142
- interface PersistTransform<TOrig = any, TSaved = TOrig> {
143
- load?: (value: TSaved) => TOrig | Promise<TOrig>;
144
- save?: (value: TOrig) => TSaved | Promise<TSaved>;
145
- }
146
- interface LegacyPersistOptionsLocal<T = any> {
147
- name: string;
148
- transform?: PersistTransform<T>;
149
- fieldTransforms?: FieldTransforms<T>;
150
- readonly?: boolean;
151
- mmkv?: MMKVConfiguration;
152
- indexedDB?: {
153
- prefixID?: string;
154
- itemID?: string;
155
- };
156
- options?: any;
157
- }
158
- type LegacyPersistOptionsRemote<T = any> = ObservablePersistenceConfigRemoteGlobalOptions & {
159
- readonly?: boolean;
160
- waitForGet?: Selector<any>;
161
- waitForSet?: LinkedOptions['waitForSet'];
162
- manual?: boolean;
163
- fieldTransforms?: FieldTransforms<T>;
164
- allowSetIfError?: boolean;
165
- transform?: PersistTransform<T>;
166
- firebase?: {
167
- refPath: (uid: string | undefined) => string;
168
- query?: (ref: DatabaseReference) => DatabaseReference | Query;
169
- queryByModified?: QueryByModified<T>;
170
- ignoreKeys?: string[];
171
- requireAuth?: boolean;
172
- mode?: 'once' | 'realtime';
173
- };
174
- offlineBehavior?: false | 'retry';
175
- changeTimeout?: number;
176
- metadataTimeout?: number;
177
- retry?: RetryOptions;
178
- onGetError?: (error: Error) => void;
179
- onSetError?: (error: Error) => void;
180
- log?: (message?: any, ...optionalParams: any[]) => void;
181
- onBeforeSet?: () => void;
182
- onSet?: () => void;
183
- };
184
- interface ObservablePersistenceConfigLocalGlobalOptions {
185
- onGetError?: (error: Error) => void;
186
- onSetError?: (error: Error) => void;
187
- indexedDB?: {
188
- databaseName: string;
189
- version: number;
190
- tableNames: string[];
191
- };
192
- asyncStorage?: {
193
- AsyncStorage: AsyncStorageStatic;
194
- preload?: boolean | string[];
195
- };
196
- }
197
- interface ObservablePersistenceConfigRemoteGlobalOptions {
198
- debounceSet?: number;
199
- dateModifiedKey?: string;
200
- offlineBehavior?: false | 'retry';
201
- retry?: RetryOptions;
202
- onGetError?: (error: Error) => void;
203
- onSetError?: (error: Error) => void;
204
- log?: (logLevel: 'verbose' | 'warning' | 'error', message: any, ...optionalParams: any[]) => void;
205
- onBeforeSet?: () => void;
206
- onAfterSet?: () => void;
207
- }
208
- interface ObservablePersistenceConfig {
209
- pluginLocal?: ClassConstructor<ObservablePersistPlugin>;
210
- pluginRemote?: ClassConstructor<ObservablePersistRemoteClass> | ObservablePersistRemoteFunctions;
211
- localOptions?: ObservablePersistenceConfigLocalGlobalOptions;
212
- remoteOptions?: ObservablePersistenceConfigRemoteGlobalOptions;
213
- }
214
- interface LegacyPersistOptions<T = any> {
215
- local?: string | LegacyPersistOptionsLocal<T>;
216
- remote?: LegacyPersistOptionsRemote<T>;
217
- pluginLocal?: ClassConstructor<ObservablePersistPlugin>;
218
- pluginRemote?: ClassConstructor<ObservablePersistRemoteClass> | ObservablePersistRemoteFunctions<T>;
219
- }
220
- interface ObservableOnChangeParams {
221
- value: unknown;
222
- path?: string[];
223
- pathTypes?: TypeAtPath[];
224
- mode?: GetMode;
225
- dateModified?: number | undefined;
226
- lastSync?: number | undefined;
227
- }
228
- interface ObservablePersistRemoteSetParams<T> {
229
- syncState: Observable<ObservablePersistState>;
230
- obs: ObservableParam<T>;
231
- options: LegacyPersistOptions<T>;
232
- changes: Change[];
233
- value: T;
234
- }
235
- interface ObservablePersistRemoteGetParams<T> {
236
- state: Observable<ObservablePersistState>;
237
- obs: ObservableParam<T>;
238
- options: LegacyPersistOptions<T>;
239
- dateModified?: number;
240
- lastSync?: number;
241
- mode?: GetMode;
242
- onGet: () => void;
243
- onError: (error: Error) => void;
244
- onChange: (params: ObservableOnChangeParams) => void | Promise<void>;
245
- }
246
- type ObservablePersistRemoteGetFnParams<T> = Omit<ObservablePersistRemoteGetParams<T>, 'onGet'>;
247
- interface ObservablePersistRemoteClass {
248
- get?<T>(params: ObservablePersistRemoteGetParams<T>): void;
249
- set?<T>(params: ObservablePersistRemoteSetParams<T>): void | Promise<void | {
250
- changes?: object;
251
- dateModified?: number;
252
- lastSync?: number;
253
- pathStrs?: string[];
254
- }>;
255
- }
256
- interface ObservablePersistRemoteFunctions<T = any> {
257
- get?(params: ObservablePersistRemoteGetFnParams<T>): T | Promise<T>;
258
- set?(params: ObservablePersistRemoteSetParams<T>): void | Promise<void | {
259
- changes?: object | undefined;
260
- dateModified?: number;
261
- lastSync?: number;
262
- }>;
263
- }
264
- interface ObservablePersistStateBase {
265
- isLoadedLocal: boolean;
266
- isEnabledLocal: boolean;
267
- isEnabledRemote: boolean;
268
- dateModified?: number;
269
- lastSync?: number;
270
- syncCount?: number;
271
- clearLocal: () => Promise<void>;
272
- sync: () => Promise<void>;
273
- getPendingChanges: () => Record<string, {
274
- p: any;
275
- v?: any;
276
- }> | undefined;
277
- }
278
- type ObservablePersistState = ObservableState & ObservablePersistStateBase;
279
148
  declare type ObjectKeys<T> = Pick<T, {
280
149
  [K in keyof T]-?: K extends string ? T[K] extends Record<string, any> ? T[K] extends any[] ? never : K : never : never;
281
150
  }[keyof T]>;
@@ -333,8 +202,8 @@ declare function transformStringifyDates<TRemote extends Record<string, any>, TL
333
202
  declare function transformStringifyDates<TRemote extends Record<string, any>, Keys extends keyof TRemote = keyof TRemote>(...args: Keys[]): SyncTransform<TransformStringsToDates<TRemote, Keys>, TRemote>;
334
203
  declare function transformStringifyDates<TRemote extends Record<string, any>, TLocal extends Record<string, any> = TRemote>(...args: (keyof TRemote)[]): SyncTransform<TRemote, TLocal>;
335
204
 
336
- declare const mapSyncPlugins: WeakMap<ClassConstructor<ObservablePersistPlugin | ObservableSyncClass>, {
337
- plugin: ObservablePersistPlugin | ObservableSyncClass;
205
+ declare const mapSyncPlugins: WeakMap<ClassConstructor<ObservablePersistPlugin> | ObservablePersistPlugin, {
206
+ plugin: ObservablePersistPlugin;
338
207
  initialized: Observable<boolean>;
339
208
  }>;
340
209
  declare function onChangeRemote(cb: () => void): void;
@@ -343,9 +212,14 @@ declare function syncObservable<T>(obs$: ObservableParam<T>, syncOptions: Synced
343
212
 
344
213
  declare function synced<TRemote, TLocal = TRemote>(params: SyncedOptions<TRemote, TLocal> | (() => TRemote)): Synced<TLocal>;
345
214
 
346
- declare function isInRemoteChange(): boolean;
215
+ declare function configureSynced<T extends (...args: any[]) => any>(fn: T, origOptions: Partial<Parameters<T>[0]>): T;
216
+ declare function configureSynced(origOptions: SyncedOptions): typeof synced;
217
+
218
+ declare function waitForSet(waitForSet: WaitForSet<any>, changes: Change[], value: any, params?: Record<string, any>): Promise<void>;
219
+
347
220
  declare const internal: {
348
221
  observableSyncConfiguration: SyncedOptionsGlobal;
222
+ waitForSet: typeof waitForSet;
349
223
  };
350
224
 
351
- export { type FieldTransforms, type FieldTransformsInner, type LegacyPersistOptions, type LegacyPersistOptionsLocal, type LegacyPersistOptionsRemote, type ObservableOnChangeParams, type ObservablePersistPlugin, type ObservablePersistPluginOptions, type ObservablePersistRemoteClass, type ObservablePersistRemoteFunctions, type ObservablePersistRemoteGetFnParams, type ObservablePersistRemoteGetParams, type ObservablePersistRemoteSetParams, type ObservablePersistState, type ObservablePersistStateBase, type ObservablePersistenceConfig, type ObservablePersistenceConfigLocalGlobalOptions, type ObservablePersistenceConfigRemoteGlobalOptions, type ObservableSyncClass, type ObservableSyncFunctions, type ObservableSyncGetParams, type ObservableSyncRemoteGetFnParams, type ObservableSyncSetParams, type PersistMetadata, type PersistOptions, type PersistTransform, type QueryByModified, type StringToDate, type SubscribeOptions, type SyncTransform, type SyncTransformMethod, type Synced, type SyncedGetParams, type SyncedOptions, type SyncedOptionsGlobal, type SyncedSetParams, type SyncedSubscribeParams, type TransformStringifyKeys, type TransformStringifyOptions, type TransformStringsToDates, combineTransforms, configureObservableSync, deepEqual, diffObjects, internal, isInRemoteChange, mapSyncPlugins, onChangeRemote, removeNullUndefined, syncObservable, synced, transformStringifyDates, transformStringifyKeys };
225
+ export { type FieldTransforms, type FieldTransformsInner, type ObservablePersistAsyncStoragePluginOptions, type ObservablePersistIndexedDBPluginOptions, type ObservablePersistPlugin, type ObservablePersistPluginOptions, type ObservableSyncFunctions, type ObservableSyncSetParams, type OnErrorRetryParams, type PendingChanges, type PersistMetadata, type PersistOptions, type QueryByModified, type StringToDate, type SubscribeOptions, type SyncTransform, type SyncTransformMethod, type Synced, type SyncedErrorParams, type SyncedGetParams, type SyncedGetSetBaseParams, type SyncedGetSetSubscribeBaseParams, type SyncedOptions, type SyncedOptionsGlobal, type SyncedSetParams, type SyncedSubscribeParams, type TransformStringifyKeys, type TransformStringifyOptions, type TransformStringsToDates, combineTransforms, configureObservableSync, configureSynced, deepEqual, diffObjects, internal, mapSyncPlugins, onChangeRemote, removeNullUndefined, syncObservable, synced, transformStringifyDates, transformStringifyKeys };