@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/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.onLoad();
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, obsState, persistOptions, newMetadata) {
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
- obsState.dateModified.set(modified);
218
+ syncState.dateModified.set(modified);
219
219
  }
220
220
  }
221
221
  }
222
- function updateMetadata(obs, localState, obsState, persistOptions, newMetadata) {
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, obsState, persistOptions, newMetadata), 30);
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 { obsState, changes, localState, persistOptions, inRemoteChange, isApplyingPending } = queuedChange;
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 && obsState.isEnabledLocal.peek();
256
- const saveRemote = !inRemoteChange && persistenceRemote && !(configRemote === null || configRemote === void 0 ? void 0 : configRemote.readonly) && obsState.isEnabledRemote.peek();
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 && !obsState.isLoadedLocal.peek()) {
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, obsState, localState, persistOptions } = queuedChange;
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, obsState, persistOptions, {
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(() => obsState.isLoadedRemote.get() || ((configRemote === null || configRemote === void 0 ? void 0 : configRemote.allowSaveIfError) && obsState.remoteError.get()));
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.onBeforeSaveRemote) === null || _a === void 0 ? void 0 : _a.call(configRemote);
376
- const saves = await Promise.all(changesRemote.map(async (change) => {
377
- const { path, valueAtPath, prevAtPath, pathTypes, pathStr } = change;
378
- // Save to remote persistence
379
- return persistenceRemote.set({
380
- obs,
381
- state: obsState,
382
- options: persistOptions,
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 (saves.filter(Boolean).length > 0) {
396
- if (local) {
397
- const metadata = {};
398
- const pending = (_b = persistenceLocal.getMetadata(table, configLocal)) === null || _b === void 0 ? void 0 : _b.pending;
399
- let adjustedChanges = [];
400
- for (let i = 0; i < saves.length; i++) {
401
- const save = saves[i];
402
- if (save) {
403
- const { changes, dateModified, pathStr } = save;
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 localState.pendingChanges[pathStr];
399
+ delete pending[pathStr];
410
400
  metadata.pending = pending;
411
401
  }
412
- if (dateModified) {
413
- metadata.modified = dateModified;
414
- }
415
- // Remote can optionally have data that needs to be merged back into the observable,
416
- // for example Firebase may update dateModified with the server timestamp
417
- if (changes && !state.isEmpty(changes)) {
418
- adjustedChanges.push(adjustLoadData(changes, persistOptions.remote, false));
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
- if (adjustedChanges.length > 0) {
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, obsState, localState, persistOptions, { changes }) {
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
- obsState,
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, obsState, localState) {
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
- obsState.dateModified.set(metadata.modified);
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
- obsState.peek().clearLocal = () => Promise.all([
516
+ syncState.peek().clearLocal = () => Promise.all([
527
517
  persistenceLocal.deleteTable(table, config),
528
518
  persistenceLocal.deleteMetadata(table, config),
529
519
  ]);
530
520
  }
531
- obsState.isLoadedLocal.set(true);
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 obsState = state.observable({
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, obsState, localState);
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: obsState,
574
+ state: syncState,
585
575
  obs,
586
576
  options: persistOptions,
587
577
  dateModified,
588
- onLoad: () => {
589
- obsState.isLoadedRemote.set(true);
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, obsState, persistOptions, {
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(() => obsState.isLoadedRemote.get() || (remote.allowSaveIfError && obsState.remoteError.get()));
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, obsState, localState, persistOptions, {
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
- obsState.assign({ sync });
656
+ syncState.assign({ sync });
667
657
  }
668
658
  else {
669
- state.when(() => !local || obsState.isLoadedLocal.get(), sync);
659
+ state.when(() => !local || syncState.isLoadedLocal.get(), sync);
670
660
  }
671
661
  }
672
- state.when(!local || obsState.isLoadedLocal, function () {
673
- obs.onChange(onObsChange.bind(this, obs, obsState, localState, persistOptions));
662
+ state.when(!local || syncState.isLoadedLocal, function () {
663
+ obs.onChange(onObsChange.bind(this, obs, syncState, localState, persistOptions));
674
664
  });
675
- return [obs, obsState];
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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"}