@legendapp/state 2.2.0-next.74 → 2.2.0-next.76

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 (60) hide show
  1. package/helpers/time.d.ts +2 -2
  2. package/index.d.ts +1 -1
  3. package/index.js +82 -31
  4. package/index.js.map +1 -1
  5. package/index.mjs +81 -32
  6. package/index.mjs.map +1 -1
  7. package/package.json +16 -1
  8. package/persist.js +122 -129
  9. package/persist.js.map +1 -1
  10. package/persist.mjs +122 -129
  11. package/persist.mjs.map +1 -1
  12. package/react.js +5 -5
  13. package/react.js.map +1 -1
  14. package/react.mjs +6 -6
  15. package/react.mjs.map +1 -1
  16. package/src/ObservableObject.ts +34 -15
  17. package/src/batching.ts +9 -3
  18. package/src/computed.ts +4 -2
  19. package/src/globals.ts +17 -7
  20. package/src/helpers.ts +3 -3
  21. package/src/history/undoRedo.ts +111 -0
  22. package/src/is.ts +7 -0
  23. package/src/observableInterfaces.ts +6 -5
  24. package/src/observableTypes.ts +5 -0
  25. package/src/observe.ts +1 -1
  26. package/src/react/For.tsx +6 -6
  27. package/src/sync/activateSyncedNode.ts +9 -25
  28. package/src/sync/syncHelpers.ts +53 -12
  29. package/src/sync/syncObservable.ts +117 -101
  30. package/src/sync-plugins/crud.ts +384 -0
  31. package/src/sync-plugins/fetch.ts +57 -27
  32. package/src/sync-plugins/keel.ts +447 -0
  33. package/src/sync-plugins/supabase.ts +225 -0
  34. package/src/syncTypes.ts +12 -6
  35. package/src/when.ts +6 -1
  36. package/sync-plugins/crud.d.ts +40 -0
  37. package/sync-plugins/crud.js +275 -0
  38. package/sync-plugins/crud.js.map +1 -0
  39. package/sync-plugins/crud.mjs +271 -0
  40. package/sync-plugins/crud.mjs.map +1 -0
  41. package/sync-plugins/fetch.d.ts +8 -7
  42. package/sync-plugins/fetch.js +34 -12
  43. package/sync-plugins/fetch.js.map +1 -1
  44. package/sync-plugins/fetch.mjs +35 -13
  45. package/sync-plugins/fetch.mjs.map +1 -1
  46. package/sync-plugins/keel.d.ts +91 -0
  47. package/sync-plugins/keel.js +278 -0
  48. package/sync-plugins/keel.js.map +1 -0
  49. package/sync-plugins/keel.mjs +274 -0
  50. package/sync-plugins/keel.mjs.map +1 -0
  51. package/sync-plugins/supabase.d.ts +32 -0
  52. package/sync-plugins/supabase.js +134 -0
  53. package/sync-plugins/supabase.js.map +1 -0
  54. package/sync-plugins/supabase.mjs +131 -0
  55. package/sync-plugins/supabase.mjs.map +1 -0
  56. package/sync.d.ts +1 -0
  57. package/sync.js +157 -127
  58. package/sync.js.map +1 -1
  59. package/sync.mjs +156 -129
  60. package/sync.mjs.map +1 -1
package/sync.mjs CHANGED
@@ -1,23 +1,52 @@
1
- import { isObject, isPromise, isFunction, observable, when, internal as internal$1, mergeIntoObservable, isEmpty, isString, setAtPath, endBatch, beginBatch, constructObjectWithPath, deconstructObjectWithPath, isArray, whenReady } from '@legendapp/state';
1
+ import { isObject, isDate, isNullOrUndefined, isPromise, isFunction, observable, when, internal as internal$1, mergeIntoObservable, isEmpty, isString, constructObjectWithPath, deconstructObjectWithPath, setAtPath, endBatch, beginBatch, isArray, whenReady } from '@legendapp/state';
2
2
 
3
3
  const observableSyncConfiguration = {};
4
4
  function configureObservableSync(options) {
5
5
  Object.assign(observableSyncConfiguration, options);
6
6
  }
7
7
 
8
- function removeNullUndefined(val) {
9
- if (val) {
10
- Object.keys(val).forEach((key) => {
11
- const v = val[key];
12
- if (v === null || v === undefined) {
13
- delete val[key];
14
- }
15
- else if (isObject(v)) {
16
- removeNullUndefined(v);
8
+ function removeNullUndefined(a, recursive) {
9
+ const out = {};
10
+ Object.keys(a).forEach((key) => {
11
+ if (a[key] !== null && a[key] !== undefined) {
12
+ out[key] = recursive && isObject(a[key]) ? removeNullUndefined(a[key]) : a[key];
13
+ }
14
+ });
15
+ return out;
16
+ }
17
+ function diffObjects(obj1, obj2, deep = false) {
18
+ const diff = {};
19
+ if (!obj1)
20
+ return obj2 || diff;
21
+ if (!obj2)
22
+ return obj1 || diff;
23
+ const keys = new Set([...Object.keys(obj1), ...Object.keys(obj2)]);
24
+ keys.forEach((key) => {
25
+ const o1 = obj1[key];
26
+ const o2 = obj2[key];
27
+ if (deep ? !deepEqual(o1, o2) : o1 !== o2) {
28
+ if (!isDate(o1) || !isDate(o2) || o1.getTime() !== o2.getTime()) {
29
+ diff[key] = o2;
17
30
  }
18
- });
31
+ }
32
+ });
33
+ return diff;
34
+ }
35
+ function deepEqual(a, b, ignoreFields, nullVsUndefined) {
36
+ if (a === b) {
37
+ return true;
38
+ }
39
+ if (isNullOrUndefined(a) !== isNullOrUndefined(b)) {
40
+ return false;
19
41
  }
20
- return val;
42
+ if (nullVsUndefined) {
43
+ a = removeNullUndefined(a, /*recursive*/ true);
44
+ b = removeNullUndefined(b, /*recursive*/ true);
45
+ }
46
+ const replacer = ignoreFields
47
+ ? (key, value) => (ignoreFields.includes(key) ? undefined : value)
48
+ : undefined;
49
+ return JSON.stringify(a, replacer) === JSON.stringify(b, replacer);
21
50
  }
22
51
 
23
52
  function syncObservableAdapter({ get, set }) {
@@ -387,8 +416,7 @@ async function doChangeLocal(changeInfo) {
387
416
  const { pluginPersist } = localState;
388
417
  const persist = syncOptions.persist;
389
418
  const { table, config: configLocal } = parseLocalConfig(persist);
390
- const configRemote = syncOptions;
391
- const shouldSaveMetadata = persist && (configRemote === null || configRemote === void 0 ? void 0 : configRemote.offlineBehavior) === 'retry';
419
+ const shouldSaveMetadata = persist === null || persist === void 0 ? void 0 : persist.retrySync;
392
420
  if (saveRemote && shouldSaveMetadata) {
393
421
  // First save pending changes before saving local or remote
394
422
  await updateMetadataImmediate(obs, localState, syncState, syncOptions, {
@@ -419,8 +447,8 @@ async function doChangeRemote(changeInfo) {
419
447
  const { pluginPersist, pluginSync } = localState;
420
448
  const persist = syncOptions.persist;
421
449
  const { table, config: configLocal } = parseLocalConfig(persist);
422
- const { offlineBehavior, allowSetIfGetError, onBeforeSet, onSetError, waitForSet, onAfterSet } = syncOptions || {};
423
- const shouldSaveMetadata = persist && offlineBehavior === 'retry';
450
+ const { allowSetIfGetError, onBeforeSet, onSetError, waitForSet, onAfterSet } = syncOptions || {};
451
+ const shouldSaveMetadata = persist === null || persist === void 0 ? void 0 : persist.retrySync;
424
452
  if (changesRemote.length > 0) {
425
453
  // Wait for remote to be ready before saving
426
454
  await when(() => syncState.isLoaded.get() || (allowSetIfGetError && syncState.error.get()));
@@ -459,11 +487,11 @@ async function doChangeRemote(changeInfo) {
459
487
  const pathStrs = Array.from(new Set(changesRemote.map((change) => change.pathStr)));
460
488
  const { changes, lastSync } = saved;
461
489
  if (pathStrs.length > 0) {
490
+ let transformedChanges = undefined;
491
+ const metadata = {};
462
492
  if (persist) {
463
- const metadata = {};
464
493
  const pendingMetadata = (_b = pluginPersist.getMetadata(table, configLocal)) === null || _b === void 0 ? void 0 : _b.pending;
465
494
  const pending = localState.pendingChanges;
466
- let transformedChanges = undefined;
467
495
  for (let i = 0; i < pathStrs.length; i++) {
468
496
  const pathStr = pathStrs[i];
469
497
  // Clear pending for this path
@@ -482,32 +510,34 @@ async function doChangeRemote(changeInfo) {
482
510
  if (lastSync) {
483
511
  metadata.lastSync = lastSync;
484
512
  }
485
- // Remote can optionally have data that needs to be merged back into the observable,
486
- // for example Firebase may update dateModified with the server timestamp
487
- if (changes && !isEmpty(changes)) {
488
- transformedChanges = transformLoadData(changes, syncOptions, false);
489
- }
490
- if (localState.numSavesOutstanding > 0) {
491
- if (transformedChanges) {
492
- if (!localState.pendingSaveResults) {
493
- localState.pendingSaveResults = [];
494
- }
495
- localState.pendingSaveResults.push(transformedChanges);
513
+ }
514
+ // Remote can optionally have data that needs to be merged back into the observable,
515
+ // for example Firebase may update dateModified with the server timestamp
516
+ if (changes && !isEmpty(changes)) {
517
+ transformedChanges = transformLoadData(changes, syncOptions, false);
518
+ }
519
+ if (localState.numSavesOutstanding > 0) {
520
+ if (transformedChanges) {
521
+ if (!localState.pendingSaveResults) {
522
+ localState.pendingSaveResults = [];
496
523
  }
524
+ localState.pendingSaveResults.push(transformedChanges);
497
525
  }
498
- else {
499
- let allChanges = [...(localState.pendingSaveResults || []), transformedChanges].filter((v) => v !== undefined);
500
- if (allChanges.length > 0) {
501
- if (allChanges.some((change) => isPromise(change))) {
502
- allChanges = await Promise.all(allChanges);
503
- }
504
- onChangeRemote(() => mergeIntoObservable(obs, ...allChanges));
526
+ }
527
+ else {
528
+ let allChanges = [...(localState.pendingSaveResults || []), transformedChanges].filter((v) => v !== undefined);
529
+ if (allChanges.length > 0) {
530
+ if (allChanges.some((change) => isPromise(change))) {
531
+ allChanges = await Promise.all(allChanges);
505
532
  }
533
+ onChangeRemote(() => mergeIntoObservable(obs, ...allChanges));
534
+ }
535
+ if (persist) {
506
536
  if (shouldSaveMetadata && !isEmpty(metadata)) {
507
537
  updateMetadata(obs, localState, syncState, syncOptions, metadata);
508
538
  }
509
- localState.pendingSaveResults = [];
510
539
  }
540
+ localState.pendingSaveResults = [];
511
541
  }
512
542
  onAfterSet === null || onAfterSet === void 0 ? void 0 : onAfterSet();
513
543
  }
@@ -643,6 +673,77 @@ function syncObservable(obs$, syncOptionsOrSynced) {
643
673
  const get = (_b = localState.pluginSync.get) === null || _b === void 0 ? void 0 : _b.bind(localState.pluginSync);
644
674
  if (get) {
645
675
  const runGet = () => {
676
+ const onChange = async ({ value, mode, lastSync }) => {
677
+ mode = mode || syncOptions.mode || 'set';
678
+ if (value !== undefined) {
679
+ value = transformLoadData(value, syncOptions, true);
680
+ if (isPromise(value)) {
681
+ value = await value;
682
+ }
683
+ const pending = localState.pendingChanges;
684
+ const currentValue = obs$.peek();
685
+ if (pending) {
686
+ let didChangeMetadata = false;
687
+ Object.keys(pending).forEach((key) => {
688
+ const p = key.split('/').filter((p) => p !== '');
689
+ const { v, t } = pending[key];
690
+ if (t.length === 0 || !value) {
691
+ if (isObject(value) && isObject(v)) {
692
+ Object.assign(value, v);
693
+ }
694
+ else {
695
+ value = v;
696
+ }
697
+ }
698
+ else if (value[p[0]] !== undefined) {
699
+ const curValue = getValueAtPath(currentValue, p);
700
+ const newValue = getValueAtPath(value, p);
701
+ if (JSON.stringify(curValue) === JSON.stringify(newValue)) {
702
+ delete pending[key];
703
+ didChangeMetadata = true;
704
+ }
705
+ else {
706
+ value = setAtPath(value, p, t, v, 'merge', obs$.peek(), (path, value) => {
707
+ delete pending[key];
708
+ pending[path.join('/')] = {
709
+ p: null,
710
+ v: value,
711
+ t: t.slice(0, path.length),
712
+ };
713
+ });
714
+ }
715
+ }
716
+ });
717
+ if (didChangeMetadata) {
718
+ updateMetadata(obs$, localState, syncState, syncOptions, {
719
+ pending,
720
+ });
721
+ }
722
+ }
723
+ onChangeRemote(() => {
724
+ if (mode === 'assign' && isObject(value)) {
725
+ obs$.assign(value);
726
+ }
727
+ else if (mode === 'append' && isArray(value)) {
728
+ obs$.push(...value);
729
+ }
730
+ else if (mode === 'prepend' && isArray(value)) {
731
+ obs$.splice(0, 0, ...value);
732
+ }
733
+ else if (mode === 'merge') {
734
+ mergeIntoObservable(obs$, value);
735
+ }
736
+ else {
737
+ obs$.set(value);
738
+ }
739
+ });
740
+ }
741
+ if (lastSync && syncOptions.persist) {
742
+ updateMetadata(obs$, localState, syncState, syncOptions, {
743
+ lastSync,
744
+ });
745
+ }
746
+ };
646
747
  get({
647
748
  state: syncState,
648
749
  obs: obs$,
@@ -654,82 +755,23 @@ function syncObservable(obs$, syncOptionsOrSynced) {
654
755
  (_a = syncOptions.onGetError) === null || _a === void 0 ? void 0 : _a.call(syncOptions, error);
655
756
  },
656
757
  onGet: () => {
758
+ const isFirstLoad = !node.state.isLoaded.peek();
657
759
  node.state.assign({
658
760
  isLoaded: true,
659
761
  error: undefined,
660
762
  });
661
- },
662
- onChange: async ({ value, mode, lastSync }) => {
663
- mode = mode || syncOptions.mode || 'set';
664
- if (value !== undefined) {
665
- value = transformLoadData(value, syncOptions, true);
666
- if (isPromise(value)) {
667
- value = await value;
668
- }
669
- const pending = localState.pendingChanges;
670
- const currentValue = obs$.peek();
671
- if (pending) {
672
- let didChangeMetadata = false;
673
- Object.keys(pending).forEach((key) => {
674
- const p = key.split('/').filter((p) => p !== '');
675
- const { v, t } = pending[key];
676
- if (t.length === 0 || !value) {
677
- if (isObject(value) && isObject(v)) {
678
- Object.assign(value, v);
679
- }
680
- else {
681
- value = v;
682
- }
683
- }
684
- else if (value[p[0]] !== undefined) {
685
- const curValue = getValueAtPath(currentValue, p);
686
- const newValue = getValueAtPath(value, p);
687
- if (JSON.stringify(curValue) === JSON.stringify(newValue)) {
688
- delete pending[key];
689
- didChangeMetadata = true;
690
- }
691
- else {
692
- value = setAtPath(value, p, t, v, 'merge', obs$.peek(), (path, value) => {
693
- delete pending[key];
694
- pending[path.join('/')] = {
695
- p: null,
696
- v: value,
697
- t: t.slice(0, path.length),
698
- };
699
- });
700
- }
701
- }
702
- });
703
- if (didChangeMetadata) {
704
- updateMetadata(obs$, localState, syncState, syncOptions, {
705
- pending,
706
- });
707
- }
708
- }
709
- onChangeRemote(() => {
710
- if (mode === 'assign' && isObject(value)) {
711
- obs$.assign(value);
712
- }
713
- else if (mode === 'append' && isArray(value)) {
714
- obs$.push(...value);
715
- }
716
- else if (mode === 'prepend' && isArray(value)) {
717
- obs$.splice(0, 0, ...value);
718
- }
719
- else if (mode === 'merge') {
720
- mergeIntoObservable(obs$, value);
721
- }
722
- else {
723
- obs$.set(value);
724
- }
725
- });
726
- }
727
- if (lastSync && syncOptions.persist) {
728
- updateMetadata(obs$, localState, syncState, syncOptions, {
729
- lastSync,
763
+ if (isFirstLoad && syncOptions.subscribe) {
764
+ syncOptions.subscribe({
765
+ node,
766
+ update: (params) => {
767
+ params.mode || (params.mode = syncOptions.mode || 'merge');
768
+ onChange(params);
769
+ },
770
+ refresh: sync,
730
771
  });
731
772
  }
732
773
  },
774
+ onChange,
733
775
  });
734
776
  };
735
777
  runGet();
@@ -799,7 +841,7 @@ function enableActivateSyncedNode() {
799
841
  const obs$ = getProxy(node);
800
842
  if (node.activationState) {
801
843
  // If it is a Synced
802
- const { get, initial, set, subscribe } = node.activationState;
844
+ const { get, initial, set } = node.activationState;
803
845
  let onChange = undefined;
804
846
  const pluginRemote = {};
805
847
  let promiseReturn = undefined;
@@ -811,16 +853,18 @@ function enableActivateSyncedNode() {
811
853
  pluginRemote.get = (params) => {
812
854
  onChange = params.onChange;
813
855
  const updateLastSync = (lastSync) => (params.lastSync = lastSync);
814
- const setMode = (mode) => (params.mode = mode);
815
856
  const existingValue = getNodeValue(node);
816
857
  const value = runWithRetry(node, { attemptNum: 0 }, () => {
817
- return get({
858
+ const paramsToGet = {
818
859
  value: isFunction(existingValue) || (existingValue === null || existingValue === void 0 ? void 0 : existingValue[symbolLinked$1]) ? undefined : existingValue,
819
860
  lastSync: params.lastSync,
820
861
  updateLastSync,
821
- setMode,
862
+ mode: params.mode,
822
863
  refresh,
823
- });
864
+ };
865
+ const ret = get(paramsToGet);
866
+ params.mode = paramsToGet.mode;
867
+ return ret;
824
868
  });
825
869
  promiseReturn = value;
826
870
  return value;
@@ -872,23 +916,6 @@ function enableActivateSyncedNode() {
872
916
  setNodeValue(node, promiseReturn ? undefined : newValue);
873
917
  // @ts-expect-error TODO fix these types
874
918
  syncState = syncObservable(obs$, { ...node.activationState, ...pluginRemote });
875
- if (subscribe) {
876
- when(promiseReturn || true, () => {
877
- subscribe({
878
- node,
879
- update: (params) => {
880
- if (!onChange) {
881
- // TODO: Make this message better
882
- console.log('[legend-state] Cannot update immediately before the first return');
883
- }
884
- else {
885
- onChange(params);
886
- }
887
- },
888
- refresh,
889
- });
890
- });
891
- }
892
919
  return { update: onChange, value: newValue };
893
920
  }
894
921
  else {
@@ -936,5 +963,5 @@ const internal = {
936
963
  observableSyncConfiguration,
937
964
  };
938
965
 
939
- export { configureObservableSync, internal, isInRemoteChange, mapSyncPlugins, syncObservable, synced };
966
+ export { configureObservableSync, deepEqual, diffObjects, internal, isInRemoteChange, mapSyncPlugins, removeNullUndefined, syncObservable, synced };
940
967
  //# sourceMappingURL=sync.mjs.map
package/sync.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.mjs","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":["globalState","symbolLinked","getNodeValue","internal","internalState"],"mappings":"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"}
1
+ {"version":3,"file":"sync.mjs","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":["globalState","symbolLinked","getNodeValue","internal","internalState"],"mappings":"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"}