@legendapp/state 2.0.0-next.21 → 2.0.0-next.22
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/package.json +1 -1
- package/persist-plugins/firebase.d.ts +3 -2
- package/persist-plugins/firebase.js +30 -27
- package/persist-plugins/firebase.js.map +1 -1
- package/persist-plugins/firebase.mjs +31 -28
- package/persist-plugins/firebase.mjs.map +1 -1
- package/persist.js +66 -76
- package/persist.js.map +1 -1
- package/persist.mjs +66 -76
- package/persist.mjs.map +1 -1
- package/src/observableInterfaces.d.ts +18 -20
- package/src/persist-plugins/firebase.d.ts +3 -2
package/persist.js
CHANGED
|
@@ -140,7 +140,7 @@ function observablePersistRemoteFunctionsAdapter({ get, set, }) {
|
|
|
140
140
|
async get(params) {
|
|
141
141
|
const value = (await get(params));
|
|
142
142
|
params.onChange({ value, dateModified: Date.now() });
|
|
143
|
-
params.
|
|
143
|
+
params.onGet();
|
|
144
144
|
},
|
|
145
145
|
};
|
|
146
146
|
if (set) {
|
|
@@ -196,7 +196,7 @@ function adjustLoadData(value, { adjustData, fieldTransforms, }, doUserAdjustDat
|
|
|
196
196
|
}
|
|
197
197
|
return value;
|
|
198
198
|
}
|
|
199
|
-
async function updateMetadataImmediate(obs, localState,
|
|
199
|
+
async function updateMetadataImmediate(obs, localState, syncState, persistOptions, newMetadata) {
|
|
200
200
|
const saves = Array.from(promisesLocalSaves);
|
|
201
201
|
if (saves.length > 0) {
|
|
202
202
|
await Promise.all(saves);
|
|
@@ -215,15 +215,15 @@ async function updateMetadataImmediate(obs, localState, obsState, persistOptions
|
|
|
215
215
|
await persistenceLocal.setMetadata(table, metadata, config);
|
|
216
216
|
}
|
|
217
217
|
if (modified) {
|
|
218
|
-
|
|
218
|
+
syncState.dateModified.set(modified);
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
function updateMetadata(obs, localState,
|
|
222
|
+
function updateMetadata(obs, localState, syncState, persistOptions, newMetadata) {
|
|
223
223
|
if (localState.timeoutSaveMetadata) {
|
|
224
224
|
clearTimeout(localState.timeoutSaveMetadata);
|
|
225
225
|
}
|
|
226
|
-
localState.timeoutSaveMetadata = setTimeout(() => updateMetadataImmediate(obs, localState,
|
|
226
|
+
localState.timeoutSaveMetadata = setTimeout(() => updateMetadataImmediate(obs, localState, syncState, persistOptions, newMetadata), 30);
|
|
227
227
|
}
|
|
228
228
|
let _queuedChanges = [];
|
|
229
229
|
async function processQueuedChanges() {
|
|
@@ -247,15 +247,15 @@ async function processQueuedChanges() {
|
|
|
247
247
|
changes.forEach(doChange);
|
|
248
248
|
}
|
|
249
249
|
async function prepChange(queuedChange) {
|
|
250
|
-
const {
|
|
250
|
+
const { syncState, changes, localState, persistOptions, inRemoteChange, isApplyingPending } = queuedChange;
|
|
251
251
|
const local = persistOptions.local;
|
|
252
252
|
const { persistenceRemote } = localState;
|
|
253
253
|
const { config: configLocal } = parseLocalConfig(local);
|
|
254
254
|
const configRemote = persistOptions.remote;
|
|
255
|
-
const saveLocal = local && !configLocal.readonly && !isApplyingPending &&
|
|
256
|
-
const saveRemote = !inRemoteChange && persistenceRemote && !(configRemote === null || configRemote === void 0 ? void 0 : configRemote.readonly) &&
|
|
255
|
+
const saveLocal = local && !configLocal.readonly && !isApplyingPending && syncState.isEnabledLocal.peek();
|
|
256
|
+
const saveRemote = !inRemoteChange && persistenceRemote && !(configRemote === null || configRemote === void 0 ? void 0 : configRemote.readonly) && syncState.isEnabledRemote.peek();
|
|
257
257
|
if (saveLocal || saveRemote) {
|
|
258
|
-
if (saveLocal && !
|
|
258
|
+
if (saveLocal && !syncState.isLoadedLocal.peek()) {
|
|
259
259
|
console.error('[legend-state] WARNING: An observable was changed before being loaded from persistence', local);
|
|
260
260
|
return;
|
|
261
261
|
}
|
|
@@ -342,7 +342,7 @@ async function doChange(changeInfo) {
|
|
|
342
342
|
if (!changeInfo)
|
|
343
343
|
return;
|
|
344
344
|
const { queuedChange, changesLocal, changesRemote } = changeInfo;
|
|
345
|
-
const { obs,
|
|
345
|
+
const { obs, syncState, localState, persistOptions } = queuedChange;
|
|
346
346
|
const { persistenceLocal, persistenceRemote } = localState;
|
|
347
347
|
const local = persistOptions.local;
|
|
348
348
|
const { table, config: configLocal } = parseLocalConfig(local);
|
|
@@ -350,7 +350,7 @@ async function doChange(changeInfo) {
|
|
|
350
350
|
const shouldSaveMetadata = local && (configRemote === null || configRemote === void 0 ? void 0 : configRemote.offlineBehavior) === 'retry';
|
|
351
351
|
if (changesRemote.length > 0 && shouldSaveMetadata) {
|
|
352
352
|
// First save pending changes before saving local or remote
|
|
353
|
-
await updateMetadataImmediate(obs, localState,
|
|
353
|
+
await updateMetadataImmediate(obs, localState, syncState, persistOptions, {
|
|
354
354
|
pending: localState.pendingChanges,
|
|
355
355
|
});
|
|
356
356
|
}
|
|
@@ -370,77 +370,67 @@ async function doChange(changeInfo) {
|
|
|
370
370
|
}
|
|
371
371
|
if (changesRemote.length > 0) {
|
|
372
372
|
// Wait for remote to be ready before saving
|
|
373
|
-
await state.when(() =>
|
|
373
|
+
await state.when(() => syncState.isLoadedRemote.get() || ((configRemote === null || configRemote === void 0 ? void 0 : configRemote.allowSetIfError) && syncState.remoteError.get()));
|
|
374
374
|
const value = obs.peek();
|
|
375
|
-
(_a = configRemote === null || configRemote === void 0 ? void 0 : configRemote.
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
path: path,
|
|
384
|
-
pathTypes,
|
|
385
|
-
valueAtPath,
|
|
386
|
-
prevAtPath,
|
|
387
|
-
value,
|
|
388
|
-
})
|
|
389
|
-
.then((saved) => saved ? { changes: saved.changes, dateModified: saved.dateModified, pathStr } : undefined)
|
|
390
|
-
.catch((err) => { var _a; return (_a = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onSaveError) === null || _a === void 0 ? void 0 : _a.call(configRemote, err); });
|
|
391
|
-
}));
|
|
375
|
+
(_a = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onBeforeSet) === null || _a === void 0 ? void 0 : _a.call(configRemote);
|
|
376
|
+
const saved = await persistenceRemote.set({
|
|
377
|
+
obs,
|
|
378
|
+
syncState: syncState,
|
|
379
|
+
options: persistOptions,
|
|
380
|
+
changes: changesRemote,
|
|
381
|
+
value,
|
|
382
|
+
}).catch((err) => { var _a; return (_a = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onSetError) === null || _a === void 0 ? void 0 : _a.call(configRemote, err); });
|
|
392
383
|
// If this remote save changed anything then update persistence and metadata
|
|
393
384
|
// Because save happens after a timeout and they're batched together, some calls to save will
|
|
394
385
|
// return saved data and others won't, so those can be ignored.
|
|
395
|
-
if (
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
const
|
|
402
|
-
|
|
403
|
-
|
|
386
|
+
if (saved) {
|
|
387
|
+
const pathStrs = Array.from(new Set(changesRemote.map((change) => change.pathStr)));
|
|
388
|
+
const { changes, dateModified } = saved;
|
|
389
|
+
if (pathStrs.length > 0) {
|
|
390
|
+
if (local) {
|
|
391
|
+
const metadata = {};
|
|
392
|
+
const pending = (_b = persistenceLocal.getMetadata(table, configLocal)) === null || _b === void 0 ? void 0 : _b.pending;
|
|
393
|
+
let adjustedChanges = [];
|
|
394
|
+
for (let i = 0; i < pathStrs.length; i++) {
|
|
395
|
+
const pathStr = pathStrs[i];
|
|
404
396
|
// Clear pending for this path
|
|
405
397
|
if (pending === null || pending === void 0 ? void 0 : pending[pathStr]) {
|
|
406
|
-
// Remove pending from the saved object
|
|
407
|
-
delete pending[pathStr];
|
|
408
398
|
// Remove pending from local state
|
|
409
|
-
delete
|
|
399
|
+
delete pending[pathStr];
|
|
410
400
|
metadata.pending = pending;
|
|
411
401
|
}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
402
|
+
}
|
|
403
|
+
if (dateModified) {
|
|
404
|
+
metadata.modified = dateModified;
|
|
405
|
+
}
|
|
406
|
+
// Remote can optionally have data that needs to be merged back into the observable,
|
|
407
|
+
// for example Firebase may update dateModified with the server timestamp
|
|
408
|
+
if (changes && !state.isEmpty(changes)) {
|
|
409
|
+
adjustedChanges.push(adjustLoadData(changes, persistOptions.remote, false));
|
|
410
|
+
}
|
|
411
|
+
if (adjustedChanges.length > 0) {
|
|
412
|
+
if (adjustedChanges.some((change) => state.isPromise(change))) {
|
|
413
|
+
adjustedChanges = await Promise.all(adjustedChanges);
|
|
419
414
|
}
|
|
415
|
+
onChangeRemote(() => state.mergeIntoObservable(obs, ...adjustedChanges));
|
|
420
416
|
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
if (adjustedChanges.some((change) => state.isPromise(change))) {
|
|
424
|
-
adjustedChanges = await Promise.all(adjustedChanges);
|
|
417
|
+
if (shouldSaveMetadata && !state.isEmpty(metadata)) {
|
|
418
|
+
updateMetadata(obs, localState, syncState, persistOptions, metadata);
|
|
425
419
|
}
|
|
426
|
-
onChangeRemote(() => state.mergeIntoObservable(obs, ...adjustedChanges));
|
|
427
|
-
}
|
|
428
|
-
if (shouldSaveMetadata && !state.isEmpty(metadata)) {
|
|
429
|
-
updateMetadata(obs, localState, obsState, persistOptions, metadata);
|
|
430
420
|
}
|
|
421
|
+
(_c = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onSet) === null || _c === void 0 ? void 0 : _c.call(configRemote);
|
|
431
422
|
}
|
|
432
|
-
(_c = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onSaveRemote) === null || _c === void 0 ? void 0 : _c.call(configRemote);
|
|
433
423
|
}
|
|
434
424
|
}
|
|
435
425
|
}
|
|
436
|
-
function onObsChange(obs,
|
|
426
|
+
function onObsChange(obs, syncState, localState, persistOptions, { changes }) {
|
|
437
427
|
if (!state.internal.globalState.isLoadingLocal) {
|
|
438
428
|
const inRemoteChange = state.internal.globalState.isLoadingRemote;
|
|
439
429
|
const isApplyingPending = localState.isApplyingPending;
|
|
440
430
|
// Queue changes in a microtask so that multiple changes within a frame get run together
|
|
441
431
|
_queuedChanges.push({
|
|
442
432
|
obs: obs,
|
|
443
|
-
|
|
433
|
+
syncState,
|
|
444
434
|
localState,
|
|
445
435
|
persistOptions,
|
|
446
436
|
changes,
|
|
@@ -463,7 +453,7 @@ function onChangeRemote(cb) {
|
|
|
463
453
|
});
|
|
464
454
|
});
|
|
465
455
|
}
|
|
466
|
-
async function loadLocal(obs, persistOptions,
|
|
456
|
+
async function loadLocal(obs, persistOptions, syncState, localState) {
|
|
467
457
|
var _a;
|
|
468
458
|
const { local } = persistOptions;
|
|
469
459
|
const localPersistence = persistOptions.pluginLocal || observablePersistConfiguration.pluginLocal;
|
|
@@ -503,7 +493,7 @@ async function loadLocal(obs, persistOptions, obsState, localState) {
|
|
|
503
493
|
if (metadata) {
|
|
504
494
|
metadatas.set(obs, metadata);
|
|
505
495
|
localState.pendingChanges = metadata.pending;
|
|
506
|
-
|
|
496
|
+
syncState.dateModified.set(metadata.modified);
|
|
507
497
|
}
|
|
508
498
|
// Merge the data from local persistence into the default state
|
|
509
499
|
if (value !== null && value !== undefined) {
|
|
@@ -523,12 +513,12 @@ async function loadLocal(obs, persistOptions, obsState, localState) {
|
|
|
523
513
|
state.internal.globalState.isLoadingLocal = false;
|
|
524
514
|
});
|
|
525
515
|
}
|
|
526
|
-
|
|
516
|
+
syncState.peek().clearLocal = () => Promise.all([
|
|
527
517
|
persistenceLocal.deleteTable(table, config),
|
|
528
518
|
persistenceLocal.deleteMetadata(table, config),
|
|
529
519
|
]);
|
|
530
520
|
}
|
|
531
|
-
|
|
521
|
+
syncState.isLoadedLocal.set(true);
|
|
532
522
|
}
|
|
533
523
|
function persistObservable(initialOrObservable, persistOptions) {
|
|
534
524
|
const obs = (state.isObservable(initialOrObservable)
|
|
@@ -542,7 +532,7 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
542
532
|
const { local } = persistOptions;
|
|
543
533
|
const remotePersistence = persistOptions.pluginRemote || (observablePersistConfiguration === null || observablePersistConfiguration === void 0 ? void 0 : observablePersistConfiguration.pluginRemote);
|
|
544
534
|
const localState = {};
|
|
545
|
-
const
|
|
535
|
+
const syncState = state.observable({
|
|
546
536
|
isLoadedLocal: false,
|
|
547
537
|
isLoadedRemote: false,
|
|
548
538
|
isEnabledLocal: true,
|
|
@@ -552,7 +542,7 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
552
542
|
getPendingChanges: () => localState.pendingChanges,
|
|
553
543
|
});
|
|
554
544
|
if (local) {
|
|
555
|
-
loadLocal(obs, persistOptions,
|
|
545
|
+
loadLocal(obs, persistOptions, syncState, localState);
|
|
556
546
|
}
|
|
557
547
|
if (remote || remotePersistence) {
|
|
558
548
|
if (!remotePersistence) {
|
|
@@ -581,12 +571,12 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
581
571
|
isSynced = true;
|
|
582
572
|
const dateModified = (_a = metadatas.get(obs)) === null || _a === void 0 ? void 0 : _a.modified;
|
|
583
573
|
localState.persistenceRemote.get({
|
|
584
|
-
state:
|
|
574
|
+
state: syncState,
|
|
585
575
|
obs,
|
|
586
576
|
options: persistOptions,
|
|
587
577
|
dateModified,
|
|
588
|
-
|
|
589
|
-
|
|
578
|
+
onGet: () => {
|
|
579
|
+
syncState.isLoadedRemote.set(true);
|
|
590
580
|
},
|
|
591
581
|
onChange: async ({ value, path = [], pathTypes = [], mode = 'set', dateModified }) => {
|
|
592
582
|
// Note: value is the constructed value, path is used for setInObservableAtPath
|
|
@@ -631,14 +621,14 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
631
621
|
}
|
|
632
622
|
}
|
|
633
623
|
if (dateModified && local) {
|
|
634
|
-
updateMetadata(obs, localState,
|
|
624
|
+
updateMetadata(obs, localState, syncState, persistOptions, {
|
|
635
625
|
modified: dateModified,
|
|
636
626
|
});
|
|
637
627
|
}
|
|
638
628
|
},
|
|
639
629
|
});
|
|
640
630
|
// Wait for remote to be ready before saving pending
|
|
641
|
-
await state.when(() =>
|
|
631
|
+
await state.when(() => syncState.isLoadedRemote.get() || (remote.allowSetIfError && syncState.remoteError.get()));
|
|
642
632
|
const pending = localState.pendingChanges;
|
|
643
633
|
if (pending && !state.isEmpty(pending)) {
|
|
644
634
|
localState.isApplyingPending = true;
|
|
@@ -652,7 +642,7 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
652
642
|
changes.push({ path, valueAtPath: v, prevAtPath: p, pathTypes: t });
|
|
653
643
|
}
|
|
654
644
|
// Send the changes into onObsChange so that they get persisted remotely
|
|
655
|
-
onObsChange(obs,
|
|
645
|
+
onObsChange(obs, syncState, localState, persistOptions, {
|
|
656
646
|
value: obs.peek(),
|
|
657
647
|
// TODO getPrevious if any remote persistence layers need it
|
|
658
648
|
getPrevious: () => undefined,
|
|
@@ -663,16 +653,16 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
663
653
|
}
|
|
664
654
|
};
|
|
665
655
|
if (remote.manual) {
|
|
666
|
-
|
|
656
|
+
syncState.assign({ sync });
|
|
667
657
|
}
|
|
668
658
|
else {
|
|
669
|
-
state.when(() => !local ||
|
|
659
|
+
state.when(() => !local || syncState.isLoadedLocal.get(), sync);
|
|
670
660
|
}
|
|
671
661
|
}
|
|
672
|
-
state.when(!local ||
|
|
673
|
-
obs.onChange(onObsChange.bind(this, obs,
|
|
662
|
+
state.when(!local || syncState.isLoadedLocal, function () {
|
|
663
|
+
obs.onChange(onObsChange.bind(this, obs, syncState, localState, persistOptions));
|
|
674
664
|
});
|
|
675
|
-
return [obs,
|
|
665
|
+
return [obs, syncState];
|
|
676
666
|
}
|
|
677
667
|
|
|
678
668
|
function isInRemoteChange() {
|
package/persist.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist.js","sources":["../../src/persist/configureObservablePersistence.ts","../../src/persist/fieldTransformer.ts","../../src/persist/observablePersistRemoteFunctionsAdapter.ts","../../src/persist/persistObservable.ts","../../persist.ts"],"sourcesContent":[null,null,null,null,null],"names":["symbolDelete","isString","isArray","isObject","constructObjectWithPath","deconstructObjectWithPath","observable","isPromise","when","isEmpty","mergeIntoObservable","internal","batch","isObservable","isFunction","setInObservableAtPath","setAtPath","internalState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persist.js","sources":["../../src/persist/configureObservablePersistence.ts","../../src/persist/fieldTransformer.ts","../../src/persist/observablePersistRemoteFunctionsAdapter.ts","../../src/persist/persistObservable.ts","../../persist.ts"],"sourcesContent":[null,null,null,null,null],"names":["symbolDelete","isString","isArray","isObject","constructObjectWithPath","deconstructObjectWithPath","observable","isPromise","when","isEmpty","mergeIntoObservable","internal","batch","isObservable","isFunction","setInObservableAtPath","setAtPath","internalState"],"mappings":"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"}
|