@legendapp/state 2.2.0-next.65 → 2.2.0-next.67
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/index.js +29 -15
- package/index.js.map +1 -1
- package/index.mjs +29 -15
- package/index.mjs.map +1 -1
- package/package.json +21 -21
- package/{cache-plugins → persist-plugins}/async-storage.d.ts +3 -3
- package/{cache-plugins → persist-plugins}/async-storage.js +4 -4
- package/persist-plugins/async-storage.js.map +1 -0
- package/{cache-plugins → persist-plugins}/async-storage.mjs +4 -4
- package/persist-plugins/async-storage.mjs.map +1 -0
- package/persist-plugins/firebase.js.map +1 -1
- package/persist-plugins/firebase.mjs.map +1 -1
- package/persist-plugins/indexeddb.d.ts +25 -0
- package/{cache-plugins → persist-plugins}/indexeddb.js +2 -2
- package/persist-plugins/indexeddb.js.map +1 -0
- package/{cache-plugins → persist-plugins}/indexeddb.mjs +2 -2
- package/persist-plugins/indexeddb.mjs.map +1 -0
- package/persist-plugins/local-storage.d.ts +20 -0
- package/{cache-plugins → persist-plugins}/local-storage.js +10 -10
- package/persist-plugins/local-storage.js.map +1 -0
- package/{cache-plugins → persist-plugins}/local-storage.mjs +8 -8
- package/persist-plugins/local-storage.mjs.map +1 -0
- package/persist-plugins/mmkv.d.ts +14 -0
- package/{cache-plugins → persist-plugins}/mmkv.js +3 -3
- package/persist-plugins/mmkv.js.map +1 -0
- package/{cache-plugins → persist-plugins}/mmkv.mjs +3 -3
- package/persist-plugins/mmkv.mjs.map +1 -0
- package/persist.js +56 -53
- package/persist.js.map +1 -1
- package/persist.mjs +56 -53
- package/persist.mjs.map +1 -1
- package/react-hooks/usePersistedObservable.d.ts +2 -2
- package/src/helpers.ts +28 -14
- package/src/observableInterfaces.ts +2 -3
- package/src/persist/persistObservable.ts +24 -20
- package/src/{cache-plugins → persist-plugins}/async-storage.ts +6 -6
- package/src/persist-plugins/firebase.ts +3 -3
- package/src/{cache-plugins → persist-plugins}/indexeddb.ts +17 -17
- package/src/{cache-plugins → persist-plugins}/local-storage.ts +8 -8
- package/src/{cache-plugins → persist-plugins}/mmkv.ts +13 -13
- package/src/persistTypes.ts +15 -22
- package/src/react-hooks/usePersistedObservable.ts +2 -2
- package/src/sync/syncObservable.ts +93 -84
- package/src/sync/syncObservableAdapter.ts +2 -2
- package/src/sync/synced.ts +2 -2
- package/src/sync-plugins/fetch.ts +3 -3
- package/src/syncTypes.ts +19 -20
- package/sync-plugins/fetch.d.ts +2 -2
- package/sync-plugins/fetch.js.map +1 -1
- package/sync-plugins/fetch.mjs.map +1 -1
- package/sync.js +56 -53
- package/sync.js.map +1 -1
- package/sync.mjs +56 -53
- package/sync.mjs.map +1 -1
- package/cache-plugins/async-storage.js.map +0 -1
- package/cache-plugins/async-storage.mjs.map +0 -1
- package/cache-plugins/indexeddb.d.ts +0 -25
- package/cache-plugins/indexeddb.js.map +0 -1
- package/cache-plugins/indexeddb.mjs.map +0 -1
- package/cache-plugins/local-storage.d.ts +0 -20
- package/cache-plugins/local-storage.js.map +0 -1
- package/cache-plugins/local-storage.mjs.map +0 -1
- package/cache-plugins/mmkv.d.ts +0 -14
- package/cache-plugins/mmkv.js.map +0 -1
- package/cache-plugins/mmkv.mjs.map +0 -1
package/sync.js
CHANGED
|
@@ -48,7 +48,7 @@ function syncObservableAdapter({ get, set }) {
|
|
|
48
48
|
return ret;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
const { globalState: globalState$1, symbolLinked: symbolLinked$2, getNode } = state.internal;
|
|
51
|
+
const { globalState: globalState$1, symbolLinked: symbolLinked$2, getNode, getNodeValue: getNodeValue$1 } = state.internal;
|
|
52
52
|
const mapSyncPlugins = new WeakMap();
|
|
53
53
|
const metadatas = new WeakMap();
|
|
54
54
|
const promisesLocalSaves = new Set();
|
|
@@ -88,8 +88,8 @@ async function updateMetadataImmediate(obs, localState, syncState, syncOptions,
|
|
|
88
88
|
if (saves.length > 0) {
|
|
89
89
|
await Promise.all(saves);
|
|
90
90
|
}
|
|
91
|
-
const {
|
|
92
|
-
const { table, config } = parseLocalConfig(syncOptions === null || syncOptions === void 0 ? void 0 : syncOptions.
|
|
91
|
+
const { pluginPersist } = localState;
|
|
92
|
+
const { table, config } = parseLocalConfig(syncOptions === null || syncOptions === void 0 ? void 0 : syncOptions.persist);
|
|
93
93
|
// Save metadata
|
|
94
94
|
const oldMetadata = metadatas.get(obs);
|
|
95
95
|
const { lastSync, pending } = newMetadata;
|
|
@@ -97,13 +97,12 @@ async function updateMetadataImmediate(obs, localState, syncState, syncOptions,
|
|
|
97
97
|
if (needsUpdate) {
|
|
98
98
|
const metadata = Object.assign({}, oldMetadata, newMetadata);
|
|
99
99
|
metadatas.set(obs, metadata);
|
|
100
|
-
if (
|
|
101
|
-
await
|
|
100
|
+
if (pluginPersist) {
|
|
101
|
+
await pluginPersist.setMetadata(table, metadata, config);
|
|
102
102
|
}
|
|
103
103
|
if (lastSync) {
|
|
104
104
|
syncState.assign({
|
|
105
105
|
lastSync: lastSync,
|
|
106
|
-
dateModified: lastSync,
|
|
107
106
|
});
|
|
108
107
|
}
|
|
109
108
|
}
|
|
@@ -212,18 +211,18 @@ async function processQueuedRemoteChanges(syncOptions) {
|
|
|
212
211
|
}
|
|
213
212
|
async function prepChangeLocal(queuedChange) {
|
|
214
213
|
const { syncState, changes, localState, syncOptions, inRemoteChange, isApplyingPending } = queuedChange;
|
|
215
|
-
const
|
|
214
|
+
const persist = syncOptions.persist;
|
|
216
215
|
const { pluginSync } = localState;
|
|
217
|
-
const { config: configLocal } = parseLocalConfig(
|
|
216
|
+
const { config: configLocal } = parseLocalConfig(persist);
|
|
218
217
|
const configRemote = syncOptions;
|
|
219
|
-
const saveLocal = (
|
|
218
|
+
const saveLocal = (persist === null || persist === void 0 ? void 0 : persist.name) && !configLocal.readonly && !isApplyingPending && syncState.isEnabledLocal.peek();
|
|
220
219
|
const saveRemote = !!(!inRemoteChange &&
|
|
221
220
|
(pluginSync === null || pluginSync === void 0 ? void 0 : pluginSync.set) &&
|
|
222
221
|
(configRemote === null || configRemote === void 0 ? void 0 : configRemote.enableSync) !== false &&
|
|
223
222
|
syncState.isEnabledRemote.peek());
|
|
224
223
|
if (saveLocal || saveRemote) {
|
|
225
224
|
if (saveLocal && !syncState.isLoadedLocal.peek()) {
|
|
226
|
-
console.error('[legend-state] WARNING: An observable was changed before being loaded from
|
|
225
|
+
console.error('[legend-state] WARNING: An observable was changed before being loaded from persist', persist);
|
|
227
226
|
return undefined;
|
|
228
227
|
}
|
|
229
228
|
const changesLocal = [];
|
|
@@ -274,15 +273,15 @@ async function prepChangeLocal(queuedChange) {
|
|
|
274
273
|
}
|
|
275
274
|
async function prepChangeRemote(queuedChange) {
|
|
276
275
|
const { syncState, changes, localState, syncOptions: syncOptions, inRemoteChange, isApplyingPending, } = queuedChange;
|
|
277
|
-
const
|
|
276
|
+
const persist = syncOptions.persist;
|
|
278
277
|
const { pluginSync } = localState;
|
|
279
|
-
const { config: configLocal } = parseLocalConfig(
|
|
278
|
+
const { config: configLocal } = parseLocalConfig(persist);
|
|
280
279
|
const configRemote = syncOptions;
|
|
281
|
-
const saveLocal =
|
|
280
|
+
const saveLocal = persist && !configLocal.readonly && !isApplyingPending && syncState.isEnabledLocal.peek();
|
|
282
281
|
const saveRemote = !inRemoteChange && (pluginSync === null || pluginSync === void 0 ? void 0 : pluginSync.set) && (configRemote === null || configRemote === void 0 ? void 0 : configRemote.enableSync) !== false && syncState.isEnabledRemote.peek();
|
|
283
282
|
if (saveLocal || saveRemote) {
|
|
284
283
|
if (saveLocal && !syncState.isLoadedLocal.peek()) {
|
|
285
|
-
console.error('[legend-state] WARNING: An observable was changed before being loaded from
|
|
284
|
+
console.error('[legend-state] WARNING: An observable was changed before being loaded from persist', persist);
|
|
286
285
|
return undefined;
|
|
287
286
|
}
|
|
288
287
|
const changesRemote = [];
|
|
@@ -370,11 +369,11 @@ async function doChangeLocal(changeInfo) {
|
|
|
370
369
|
return;
|
|
371
370
|
const { queuedChange, changesLocal, saveRemote } = changeInfo;
|
|
372
371
|
const { obs, syncState, localState, syncOptions: syncOptions } = queuedChange;
|
|
373
|
-
const {
|
|
374
|
-
const
|
|
375
|
-
const { table, config: configLocal } = parseLocalConfig(
|
|
372
|
+
const { pluginPersist } = localState;
|
|
373
|
+
const persist = syncOptions.persist;
|
|
374
|
+
const { table, config: configLocal } = parseLocalConfig(persist);
|
|
376
375
|
const configRemote = syncOptions;
|
|
377
|
-
const shouldSaveMetadata =
|
|
376
|
+
const shouldSaveMetadata = persist && (configRemote === null || configRemote === void 0 ? void 0 : configRemote.offlineBehavior) === 'retry';
|
|
378
377
|
if (saveRemote && shouldSaveMetadata) {
|
|
379
378
|
// First save pending changes before saving local or remote
|
|
380
379
|
await updateMetadataImmediate(obs, localState, syncState, syncOptions, {
|
|
@@ -384,7 +383,7 @@ async function doChangeLocal(changeInfo) {
|
|
|
384
383
|
if (changesLocal.length > 0) {
|
|
385
384
|
// Save the changes to local cache before saving to remote. They are already marked as pending so
|
|
386
385
|
// if remote sync fails or the app is closed before remote sync, it will attempt to sync them on the next load.
|
|
387
|
-
let promiseSet =
|
|
386
|
+
let promiseSet = pluginPersist.set(table, changesLocal, configLocal);
|
|
388
387
|
if (promiseSet) {
|
|
389
388
|
promiseSet = promiseSet.then(() => {
|
|
390
389
|
promisesLocalSaves.delete(promiseSet);
|
|
@@ -402,11 +401,11 @@ async function doChangeRemote(changeInfo) {
|
|
|
402
401
|
return;
|
|
403
402
|
const { queuedChange, changesRemote } = changeInfo;
|
|
404
403
|
const { obs, syncState, localState, syncOptions: syncOptions } = queuedChange;
|
|
405
|
-
const {
|
|
406
|
-
const
|
|
407
|
-
const { table, config: configLocal } = parseLocalConfig(
|
|
404
|
+
const { pluginPersist, pluginSync } = localState;
|
|
405
|
+
const persist = syncOptions.persist;
|
|
406
|
+
const { table, config: configLocal } = parseLocalConfig(persist);
|
|
408
407
|
const { offlineBehavior, allowSetIfGetError, onBeforeSet, onSetError, waitForSet, onAfterSet } = syncOptions || {};
|
|
409
|
-
const shouldSaveMetadata =
|
|
408
|
+
const shouldSaveMetadata = persist && offlineBehavior === 'retry';
|
|
410
409
|
if (changesRemote.length > 0) {
|
|
411
410
|
// Wait for remote to be ready before saving
|
|
412
411
|
await state.when(() => syncState.isLoaded.get() || (allowSetIfGetError && syncState.error.get()));
|
|
@@ -444,9 +443,9 @@ async function doChangeRemote(changeInfo) {
|
|
|
444
443
|
const pathStrs = Array.from(new Set(changesRemote.map((change) => change.pathStr)));
|
|
445
444
|
const { changes, lastSync } = saved;
|
|
446
445
|
if (pathStrs.length > 0) {
|
|
447
|
-
if (
|
|
446
|
+
if (persist) {
|
|
448
447
|
const metadata = {};
|
|
449
|
-
const pending = (_b =
|
|
448
|
+
const pending = (_b = pluginPersist.getMetadata(table, configLocal)) === null || _b === void 0 ? void 0 : _b.pending;
|
|
450
449
|
let transformedChanges = undefined;
|
|
451
450
|
for (let i = 0; i < pathStrs.length; i++) {
|
|
452
451
|
const pathStr = pathStrs[i];
|
|
@@ -513,48 +512,49 @@ function onObsChange(obs, syncState, localState, syncOptions, { changes, loading
|
|
|
513
512
|
}
|
|
514
513
|
async function loadLocal(obs, syncOptions, syncState, localState) {
|
|
515
514
|
var _a, _b;
|
|
516
|
-
const {
|
|
517
|
-
if (
|
|
518
|
-
const
|
|
519
|
-
const { table, config } = parseLocalConfig(
|
|
520
|
-
|
|
521
|
-
|
|
515
|
+
const { persist } = syncOptions;
|
|
516
|
+
if (persist) {
|
|
517
|
+
const PersistPlugin = persist.plugin || ((_a = observableSyncConfiguration.persist) === null || _a === void 0 ? void 0 : _a.plugin);
|
|
518
|
+
const { table, config } = parseLocalConfig(persist);
|
|
519
|
+
const node = getNode(obs);
|
|
520
|
+
if (!PersistPlugin) {
|
|
521
|
+
throw new Error('Local persist is not configured');
|
|
522
522
|
}
|
|
523
523
|
// Ensure there's only one instance of the cache plugin
|
|
524
|
-
if (!mapSyncPlugins.has(
|
|
525
|
-
const
|
|
526
|
-
const mapValue = { plugin:
|
|
527
|
-
mapSyncPlugins.set(
|
|
528
|
-
if (
|
|
529
|
-
const initializePromise = (_b =
|
|
524
|
+
if (!mapSyncPlugins.has(PersistPlugin)) {
|
|
525
|
+
const persistPlugin = new PersistPlugin();
|
|
526
|
+
const mapValue = { plugin: persistPlugin, initialized: state.observable(false) };
|
|
527
|
+
mapSyncPlugins.set(PersistPlugin, mapValue);
|
|
528
|
+
if (persistPlugin.initialize) {
|
|
529
|
+
const initializePromise = (_b = persistPlugin.initialize) === null || _b === void 0 ? void 0 : _b.call(persistPlugin, (observableSyncConfiguration === null || observableSyncConfiguration === void 0 ? void 0 : observableSyncConfiguration.persist) || {});
|
|
530
530
|
if (state.isPromise(initializePromise)) {
|
|
531
531
|
await initializePromise;
|
|
532
532
|
}
|
|
533
533
|
}
|
|
534
534
|
mapValue.initialized.set(true);
|
|
535
535
|
}
|
|
536
|
-
const { plugin, initialized: initialized$ } = mapSyncPlugins.get(
|
|
537
|
-
const
|
|
538
|
-
localState.
|
|
536
|
+
const { plugin, initialized: initialized$ } = mapSyncPlugins.get(PersistPlugin);
|
|
537
|
+
const persistPlugin = plugin;
|
|
538
|
+
localState.pluginPersist = persistPlugin;
|
|
539
539
|
if (!initialized$.peek()) {
|
|
540
540
|
await state.when(initialized$);
|
|
541
541
|
}
|
|
542
542
|
// If cache has an asynchronous load, wait for it
|
|
543
|
-
if (
|
|
544
|
-
const promise =
|
|
543
|
+
if (persistPlugin.loadTable) {
|
|
544
|
+
const promise = persistPlugin.loadTable(table, config);
|
|
545
545
|
if (promise) {
|
|
546
546
|
await promise;
|
|
547
547
|
}
|
|
548
548
|
}
|
|
549
|
+
// Get current value for init
|
|
550
|
+
const prevValue = getNodeValue$1(node);
|
|
549
551
|
// Get the value from state
|
|
550
|
-
let value =
|
|
551
|
-
const metadata =
|
|
552
|
+
let value = persistPlugin.getTable(table, prevValue, config);
|
|
553
|
+
const metadata = persistPlugin.getMetadata(table, config);
|
|
552
554
|
if (metadata) {
|
|
553
555
|
metadatas.set(obs, metadata);
|
|
554
556
|
localState.pendingChanges = metadata.pending;
|
|
555
|
-
// TODOV3 Remove dateModified
|
|
556
557
|
syncState.assign({
|
|
557
|
-
dateModified: metadata.lastSync,
|
|
558
558
|
lastSync: metadata.lastSync,
|
|
559
559
|
});
|
|
560
560
|
}
|
|
@@ -569,7 +569,6 @@ async function loadLocal(obs, syncOptions, syncState, localState) {
|
|
|
569
569
|
// are set on the same observable
|
|
570
570
|
state.internal.globalState.isLoadingLocal = true;
|
|
571
571
|
// We want to merge the local data on top of any initial state the object is created with
|
|
572
|
-
const prevValue = obs.peek();
|
|
573
572
|
if (value === null && (!prevValue || prevValue[symbolLinked$2])) {
|
|
574
573
|
obs.set(value);
|
|
575
574
|
}
|
|
@@ -578,10 +577,9 @@ async function loadLocal(obs, syncOptions, syncState, localState) {
|
|
|
578
577
|
}
|
|
579
578
|
state.internal.globalState.isLoadingLocal = false;
|
|
580
579
|
}
|
|
581
|
-
const node = getNode(obs);
|
|
582
580
|
node.state.peek().clearLocal = () => Promise.all([
|
|
583
|
-
|
|
584
|
-
|
|
581
|
+
persistPlugin.deleteTable(table, config),
|
|
582
|
+
persistPlugin.deleteMetadata(table, config),
|
|
585
583
|
]);
|
|
586
584
|
}
|
|
587
585
|
syncState.isLoadedLocal.set(true);
|
|
@@ -645,10 +643,15 @@ function syncObservable(obs$, syncOptions) {
|
|
|
645
643
|
const p = key.split('/').filter((p) => p !== '');
|
|
646
644
|
const { v, t } = pending[key];
|
|
647
645
|
if (t.length === 0 || !value) {
|
|
648
|
-
value
|
|
646
|
+
if (state.isObject(value) && state.isObject(v)) {
|
|
647
|
+
Object.assign(value, v);
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
value = v;
|
|
651
|
+
}
|
|
649
652
|
}
|
|
650
653
|
else if (value[p[0]] !== undefined) {
|
|
651
|
-
value = state.setAtPath(value, p, t, v, obs$.peek(), (path, value) => {
|
|
654
|
+
value = state.setAtPath(value, p, t, v, 'merge', obs$.peek(), (path, value) => {
|
|
652
655
|
delete pending[key];
|
|
653
656
|
pending[path.join('/')] = {
|
|
654
657
|
p: null,
|
|
@@ -677,7 +680,7 @@ function syncObservable(obs$, syncOptions) {
|
|
|
677
680
|
}
|
|
678
681
|
});
|
|
679
682
|
}
|
|
680
|
-
if (lastSync && syncOptions.
|
|
683
|
+
if (lastSync && syncOptions.persist) {
|
|
681
684
|
updateMetadata(obs$, localState, syncState, syncOptions, {
|
|
682
685
|
lastSync,
|
|
683
686
|
});
|
package/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sources":["./src/sync/configureObservableSync.ts","./src/sync/syncHelpers.ts","./src/sync/syncObservableAdapter.ts","./src/sync/syncObservable.ts","./src/sync/activateSyncedNode.ts","./src/sync/synced.ts","./sync.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["isObject","isPromise","globalState","symbolLinked","internal","isString","endBatch","batch","constructObjectWithPath","deconstructObjectWithPath","setAtPath","when","isFunction","isEmpty","mergeIntoObservable","observable","isArray","whenReady","internalState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sources":["./src/sync/configureObservableSync.ts","./src/sync/syncHelpers.ts","./src/sync/syncObservableAdapter.ts","./src/sync/syncObservable.ts","./src/sync/activateSyncedNode.ts","./src/sync/synced.ts","./sync.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["isObject","isPromise","globalState","symbolLinked","getNodeValue","internal","isString","endBatch","batch","constructObjectWithPath","deconstructObjectWithPath","setAtPath","when","isFunction","isEmpty","mergeIntoObservable","observable","isArray","whenReady","internalState"],"mappings":"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"}
|