@legendapp/state 2.2.0-next.3 → 2.2.0-next.5

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
@@ -139,9 +139,13 @@ function observablePersistRemoteFunctionsAdapter({ get, set, }) {
139
139
  const ret = {};
140
140
  if (get) {
141
141
  ret.get = (async (params) => {
142
- const value = (await get(params));
143
- params.onChange({ value, dateModified: params.dateModified || Date.now() });
144
- params.onGet();
142
+ try {
143
+ const value = (await get(params));
144
+ params.onChange({ value, dateModified: params.dateModified || Date.now() });
145
+ params.onGet();
146
+ // eslint-disable-next-line no-empty
147
+ }
148
+ catch (_a) { }
145
149
  });
146
150
  }
147
151
  if (set) {
@@ -150,7 +154,7 @@ function observablePersistRemoteFunctionsAdapter({ get, set, }) {
150
154
  return ret;
151
155
  }
152
156
 
153
- const { getProxy, globalState } = state.internal;
157
+ const { globalState: globalState$1 } = state.internal;
154
158
  const mapPersistences = new WeakMap();
155
159
  const metadatas = new WeakMap();
156
160
  const promisesLocalSaves = new Set();
@@ -165,11 +169,11 @@ function doInOrder(arg1, arg2) {
165
169
  return state.isPromise(arg1) ? arg1.then(arg2) : arg2(arg1);
166
170
  }
167
171
  function onChangeRemote(cb) {
168
- state.when(() => !globalState.isLoadingRemote$.get(), () => {
172
+ state.when(() => !globalState$1.isLoadingRemote$.get(), () => {
169
173
  // Remote changes should only update local state
170
- globalState.isLoadingRemote$.set(true);
174
+ globalState$1.isLoadingRemote$.set(true);
171
175
  state.batch(cb, () => {
172
- globalState.isLoadingRemote$.set(false);
176
+ globalState$1.isLoadingRemote$.set(false);
173
177
  });
174
178
  });
175
179
  }
@@ -599,7 +603,6 @@ function persistObservable(initialOrObservable, persistOptions) {
599
603
  const dateModified = (_a = metadatas.get(obs)) === null || _a === void 0 ? void 0 : _a.modified;
600
604
  const get = (_b = localState.persistenceRemote.get) === null || _b === void 0 ? void 0 : _b.bind(localState.persistenceRemote);
601
605
  if (get) {
602
- let attemptNum = 0;
603
606
  const runGet = () => {
604
607
  get({
605
608
  state: syncState,
@@ -608,19 +611,13 @@ function persistObservable(initialOrObservable, persistOptions) {
608
611
  dateModified,
609
612
  onError: (error) => {
610
613
  var _a;
611
- if (remote.retry) {
612
- const { backoff, delay = 1000, infinite, times = 3, maxDelay = 30000, } = remote.retry;
613
- if (infinite || attemptNum++ < times) {
614
- const delayTime = Math.min(delay * (backoff === 'constant' ? 1 : 2 ** attemptNum), maxDelay);
615
- setTimeout(runGet, delayTime);
616
- // Don't error when retrying
617
- return;
618
- }
619
- }
620
614
  (_a = remote.onGetError) === null || _a === void 0 ? void 0 : _a.call(remote, error);
621
615
  },
622
616
  onGet: () => {
623
- syncState.isLoaded.set(true);
617
+ node.state.assign({
618
+ isLoaded: true,
619
+ error: undefined,
620
+ });
624
621
  },
625
622
  onChange: async ({ value, path = [], pathTypes = [], mode = 'set', dateModified }) => {
626
623
  // Note: value is the constructed value, path is used for setInObservableAtPath
@@ -675,7 +672,10 @@ function persistObservable(initialOrObservable, persistOptions) {
675
672
  runGet();
676
673
  }
677
674
  else {
678
- syncState.isLoaded.set(true);
675
+ node.state.assign({
676
+ isLoaded: true,
677
+ error: undefined,
678
+ });
679
679
  }
680
680
  // Wait for remote to be ready before saving pending
681
681
  await state.when(() => syncState.isLoaded.get() || (remote.allowSetIfError && syncState.error.get()));
@@ -729,47 +729,68 @@ function persistObservable(initialOrObservable, persistOptions) {
729
729
  });
730
730
  return obs;
731
731
  }
732
- globalState.activateNode = function activateNodePersist(node, refresh, newValue) {
733
- const { onSetFn, subscriber, lastSync, cacheOptions, retryOptions } = node.activationState;
734
- let onChange = undefined;
735
- const pluginRemote = {
736
- get: async (params) => {
737
- onChange = params.onChange;
738
- if (state.isPromise(newValue)) {
739
- newValue = await newValue;
740
- }
741
- if (lastSync.value) {
742
- params.dateModified = lastSync.value;
743
- }
744
- return newValue;
745
- },
746
- };
747
- if (onSetFn) {
748
- // TODO: Work out these types better
749
- pluginRemote.set = onSetFn;
750
- }
751
- if (subscriber) {
752
- subscriber({
753
- update: (params) => {
754
- if (!onChange) {
755
- // TODO: Make this message better
756
- console.log('[legend-state] Cannot update immediately before the first return');
732
+
733
+ const { getProxy, globalState } = state.internal;
734
+ function persistActivateNode() {
735
+ globalState.activateNode = function activateNodePersist(node, refresh, wasPromise, newValue) {
736
+ const { onSetFn, subscriber, lastSync, cacheOptions, retryOptions } = node.activationState;
737
+ let onChange = undefined;
738
+ const pluginRemote = {
739
+ get: async (params) => {
740
+ onChange = params.onChange;
741
+ if (state.isPromise(newValue)) {
742
+ try {
743
+ newValue = await newValue;
744
+ // eslint-disable-next-line no-empty
745
+ }
746
+ catch (_a) { }
757
747
  }
758
- else {
759
- onChange(params);
748
+ if (lastSync.value) {
749
+ params.dateModified = lastSync.value;
750
+ }
751
+ return newValue;
752
+ },
753
+ };
754
+ if (onSetFn) {
755
+ // TODO: Work out these types better
756
+ pluginRemote.set = (params) => {
757
+ var _a;
758
+ if ((_a = node.state) === null || _a === void 0 ? void 0 : _a.isLoaded.get()) {
759
+ onSetFn(params, {
760
+ update: onChange,
761
+ updateLastSync: () => {
762
+ console.log('TODO updateLastSync');
763
+ },
764
+ applyRemoteChange: onChangeRemote,
765
+ });
760
766
  }
767
+ };
768
+ }
769
+ if (subscriber) {
770
+ subscriber({
771
+ update: (params) => {
772
+ if (!onChange) {
773
+ // TODO: Make this message better
774
+ console.log('[legend-state] Cannot update immediately before the first return');
775
+ }
776
+ else {
777
+ onChange(params);
778
+ }
779
+ },
780
+ refresh,
781
+ applyRemoteChange: onChangeRemote,
782
+ });
783
+ }
784
+ persistObservable(getProxy(node), {
785
+ pluginRemote,
786
+ ...(cacheOptions || {}),
787
+ remote: {
788
+ retry: retryOptions,
761
789
  },
762
- refresh,
763
790
  });
764
- }
765
- persistObservable(getProxy(node), {
766
- pluginRemote,
767
- ...(cacheOptions || {}),
768
- remote: {
769
- retry: retryOptions,
770
- },
771
- });
772
- };
791
+ return { update: onChange };
792
+ };
793
+ }
773
794
 
774
795
  function isInRemoteChange() {
775
796
  return state.internal.globalState.isLoadingRemote$.get();
@@ -777,6 +798,7 @@ function isInRemoteChange() {
777
798
  const internal = {
778
799
  observablePersistConfiguration,
779
800
  };
801
+ persistActivateNode();
780
802
 
781
803
  exports.configureObservablePersistence = configureObservablePersistence;
782
804
  exports.internal = internal;
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","internal","isPromise","when","batch","setAtPath","isEmpty","mergeIntoObservable","observable","getNode","isObservable","isFunction","setInObservableAtPath","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","../../src/persist/persistActivateNode.ts","../../persist.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["symbolDelete","isString","isArray","isObject","constructObjectWithPath","deconstructObjectWithPath","globalState","internal","isPromise","when","batch","setAtPath","isEmpty","mergeIntoObservable","observable","getNode","isObservable","isFunction","setInObservableAtPath","internalState"],"mappings":"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"}
package/persist.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { symbolDelete, isString, isArray, isObject, constructObjectWithPath, deconstructObjectWithPath, internal as internal$1, isObservable, observable, isFunction, getNode, when, isPromise, batch, mergeIntoObservable, isEmpty, setAtPath, setInObservableAtPath } from '@legendapp/state';
1
+ import { symbolDelete, isString, isArray, isObject, constructObjectWithPath, deconstructObjectWithPath, isObservable, observable, isFunction, getNode, when, batch, internal as internal$1, isPromise, mergeIntoObservable, isEmpty, setInObservableAtPath, setAtPath } from '@legendapp/state';
2
2
 
3
3
  const observablePersistConfiguration = {};
4
4
  function configureObservablePersistence(options) {
@@ -137,9 +137,13 @@ function observablePersistRemoteFunctionsAdapter({ get, set, }) {
137
137
  const ret = {};
138
138
  if (get) {
139
139
  ret.get = (async (params) => {
140
- const value = (await get(params));
141
- params.onChange({ value, dateModified: params.dateModified || Date.now() });
142
- params.onGet();
140
+ try {
141
+ const value = (await get(params));
142
+ params.onChange({ value, dateModified: params.dateModified || Date.now() });
143
+ params.onGet();
144
+ // eslint-disable-next-line no-empty
145
+ }
146
+ catch (_a) { }
143
147
  });
144
148
  }
145
149
  if (set) {
@@ -148,7 +152,7 @@ function observablePersistRemoteFunctionsAdapter({ get, set, }) {
148
152
  return ret;
149
153
  }
150
154
 
151
- const { getProxy, globalState } = internal$1;
155
+ const { globalState: globalState$1 } = internal$1;
152
156
  const mapPersistences = new WeakMap();
153
157
  const metadatas = new WeakMap();
154
158
  const promisesLocalSaves = new Set();
@@ -163,11 +167,11 @@ function doInOrder(arg1, arg2) {
163
167
  return isPromise(arg1) ? arg1.then(arg2) : arg2(arg1);
164
168
  }
165
169
  function onChangeRemote(cb) {
166
- when(() => !globalState.isLoadingRemote$.get(), () => {
170
+ when(() => !globalState$1.isLoadingRemote$.get(), () => {
167
171
  // Remote changes should only update local state
168
- globalState.isLoadingRemote$.set(true);
172
+ globalState$1.isLoadingRemote$.set(true);
169
173
  batch(cb, () => {
170
- globalState.isLoadingRemote$.set(false);
174
+ globalState$1.isLoadingRemote$.set(false);
171
175
  });
172
176
  });
173
177
  }
@@ -597,7 +601,6 @@ function persistObservable(initialOrObservable, persistOptions) {
597
601
  const dateModified = (_a = metadatas.get(obs)) === null || _a === void 0 ? void 0 : _a.modified;
598
602
  const get = (_b = localState.persistenceRemote.get) === null || _b === void 0 ? void 0 : _b.bind(localState.persistenceRemote);
599
603
  if (get) {
600
- let attemptNum = 0;
601
604
  const runGet = () => {
602
605
  get({
603
606
  state: syncState,
@@ -606,19 +609,13 @@ function persistObservable(initialOrObservable, persistOptions) {
606
609
  dateModified,
607
610
  onError: (error) => {
608
611
  var _a;
609
- if (remote.retry) {
610
- const { backoff, delay = 1000, infinite, times = 3, maxDelay = 30000, } = remote.retry;
611
- if (infinite || attemptNum++ < times) {
612
- const delayTime = Math.min(delay * (backoff === 'constant' ? 1 : 2 ** attemptNum), maxDelay);
613
- setTimeout(runGet, delayTime);
614
- // Don't error when retrying
615
- return;
616
- }
617
- }
618
612
  (_a = remote.onGetError) === null || _a === void 0 ? void 0 : _a.call(remote, error);
619
613
  },
620
614
  onGet: () => {
621
- syncState.isLoaded.set(true);
615
+ node.state.assign({
616
+ isLoaded: true,
617
+ error: undefined,
618
+ });
622
619
  },
623
620
  onChange: async ({ value, path = [], pathTypes = [], mode = 'set', dateModified }) => {
624
621
  // Note: value is the constructed value, path is used for setInObservableAtPath
@@ -673,7 +670,10 @@ function persistObservable(initialOrObservable, persistOptions) {
673
670
  runGet();
674
671
  }
675
672
  else {
676
- syncState.isLoaded.set(true);
673
+ node.state.assign({
674
+ isLoaded: true,
675
+ error: undefined,
676
+ });
677
677
  }
678
678
  // Wait for remote to be ready before saving pending
679
679
  await when(() => syncState.isLoaded.get() || (remote.allowSetIfError && syncState.error.get()));
@@ -727,47 +727,68 @@ function persistObservable(initialOrObservable, persistOptions) {
727
727
  });
728
728
  return obs;
729
729
  }
730
- globalState.activateNode = function activateNodePersist(node, refresh, newValue) {
731
- const { onSetFn, subscriber, lastSync, cacheOptions, retryOptions } = node.activationState;
732
- let onChange = undefined;
733
- const pluginRemote = {
734
- get: async (params) => {
735
- onChange = params.onChange;
736
- if (isPromise(newValue)) {
737
- newValue = await newValue;
738
- }
739
- if (lastSync.value) {
740
- params.dateModified = lastSync.value;
741
- }
742
- return newValue;
743
- },
744
- };
745
- if (onSetFn) {
746
- // TODO: Work out these types better
747
- pluginRemote.set = onSetFn;
748
- }
749
- if (subscriber) {
750
- subscriber({
751
- update: (params) => {
752
- if (!onChange) {
753
- // TODO: Make this message better
754
- console.log('[legend-state] Cannot update immediately before the first return');
730
+
731
+ const { getProxy, globalState } = internal$1;
732
+ function persistActivateNode() {
733
+ globalState.activateNode = function activateNodePersist(node, refresh, wasPromise, newValue) {
734
+ const { onSetFn, subscriber, lastSync, cacheOptions, retryOptions } = node.activationState;
735
+ let onChange = undefined;
736
+ const pluginRemote = {
737
+ get: async (params) => {
738
+ onChange = params.onChange;
739
+ if (isPromise(newValue)) {
740
+ try {
741
+ newValue = await newValue;
742
+ // eslint-disable-next-line no-empty
743
+ }
744
+ catch (_a) { }
755
745
  }
756
- else {
757
- onChange(params);
746
+ if (lastSync.value) {
747
+ params.dateModified = lastSync.value;
748
+ }
749
+ return newValue;
750
+ },
751
+ };
752
+ if (onSetFn) {
753
+ // TODO: Work out these types better
754
+ pluginRemote.set = (params) => {
755
+ var _a;
756
+ if ((_a = node.state) === null || _a === void 0 ? void 0 : _a.isLoaded.get()) {
757
+ onSetFn(params, {
758
+ update: onChange,
759
+ updateLastSync: () => {
760
+ console.log('TODO updateLastSync');
761
+ },
762
+ applyRemoteChange: onChangeRemote,
763
+ });
758
764
  }
765
+ };
766
+ }
767
+ if (subscriber) {
768
+ subscriber({
769
+ update: (params) => {
770
+ if (!onChange) {
771
+ // TODO: Make this message better
772
+ console.log('[legend-state] Cannot update immediately before the first return');
773
+ }
774
+ else {
775
+ onChange(params);
776
+ }
777
+ },
778
+ refresh,
779
+ applyRemoteChange: onChangeRemote,
780
+ });
781
+ }
782
+ persistObservable(getProxy(node), {
783
+ pluginRemote,
784
+ ...(cacheOptions || {}),
785
+ remote: {
786
+ retry: retryOptions,
759
787
  },
760
- refresh,
761
788
  });
762
- }
763
- persistObservable(getProxy(node), {
764
- pluginRemote,
765
- ...(cacheOptions || {}),
766
- remote: {
767
- retry: retryOptions,
768
- },
769
- });
770
- };
789
+ return { update: onChange };
790
+ };
791
+ }
771
792
 
772
793
  function isInRemoteChange() {
773
794
  return internal$1.globalState.isLoadingRemote$.get();
@@ -775,6 +796,7 @@ function isInRemoteChange() {
775
796
  const internal = {
776
797
  observablePersistConfiguration,
777
798
  };
799
+ persistActivateNode();
778
800
 
779
801
  export { configureObservablePersistence, internal, invertFieldMap, isInRemoteChange, mapPersistences, persistObservable, transformObject, transformPath };
780
802
  //# sourceMappingURL=persist.mjs.map