@legendapp/state 2.0.1 → 2.0.3
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/CHANGELOG.md +6 -0
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/index.mjs +2 -1
- package/index.mjs.map +1 -1
- package/package.json +9 -1
- package/persist.js +74 -64
- package/persist.js.map +1 -1
- package/persist.mjs +74 -64
- package/persist.mjs.map +1 -1
- package/react-hooks/usePersistedObservable.d.ts +2 -1
- package/react-hooks/usePersistedObservable.js.map +1 -1
- package/react-hooks/usePersistedObservable.mjs.map +1 -1
- package/react.js +1 -3
- package/react.js.map +1 -1
- package/react.mjs +1 -3
- package/react.mjs.map +1 -1
- package/src/observableInterfaces.d.ts +7 -4
- package/src/persist/persistObservable.d.ts +6 -3
- package/src/react-hooks/usePersistedObservable.d.ts +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@legendapp/state",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "legend-state",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"private": false,
|
|
@@ -167,6 +167,14 @@
|
|
|
167
167
|
"types": "./react-hooks/usePersistedObservable.d.ts"
|
|
168
168
|
}
|
|
169
169
|
},
|
|
170
|
+
"peerDependencies": {
|
|
171
|
+
"react": ">=16.8.0"
|
|
172
|
+
},
|
|
173
|
+
"peerDependenciesMeta": {
|
|
174
|
+
"react": {
|
|
175
|
+
"optional": true
|
|
176
|
+
}
|
|
177
|
+
},
|
|
170
178
|
"author": "Legend <contact@legendapp.com> (https://github.com/LegendApp)",
|
|
171
179
|
"keywords": [
|
|
172
180
|
"react",
|
package/persist.js
CHANGED
|
@@ -136,13 +136,14 @@ if (process.env.NODE_ENV === 'development') {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
function observablePersistRemoteFunctionsAdapter({ get, set, }) {
|
|
139
|
-
const ret = {
|
|
140
|
-
|
|
139
|
+
const ret = {};
|
|
140
|
+
if (get) {
|
|
141
|
+
ret.get = (async (params) => {
|
|
141
142
|
const value = (await get(params));
|
|
142
143
|
params.onChange({ value, dateModified: Date.now() });
|
|
143
144
|
params.onGet();
|
|
144
|
-
}
|
|
145
|
-
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
146
147
|
if (set) {
|
|
147
148
|
ret.set = set;
|
|
148
149
|
}
|
|
@@ -360,7 +361,7 @@ async function prepChange(queuedChange) {
|
|
|
360
361
|
}
|
|
361
362
|
}
|
|
362
363
|
async function doChange(changeInfo) {
|
|
363
|
-
var _a, _b, _c;
|
|
364
|
+
var _a, _b, _c, _d;
|
|
364
365
|
if (!changeInfo)
|
|
365
366
|
return;
|
|
366
367
|
const { queuedChange, changesLocal, changesRemote } = changeInfo;
|
|
@@ -395,13 +396,13 @@ async function doChange(changeInfo) {
|
|
|
395
396
|
await state.when(() => syncState.isLoaded.get() || ((configRemote === null || configRemote === void 0 ? void 0 : configRemote.allowSetIfError) && syncState.error.get()));
|
|
396
397
|
const value = obs.peek();
|
|
397
398
|
(_a = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onBeforeSet) === null || _a === void 0 ? void 0 : _a.call(configRemote);
|
|
398
|
-
const saved = await persistenceRemote.set({
|
|
399
|
+
const saved = await ((_b = persistenceRemote.set({
|
|
399
400
|
obs,
|
|
400
401
|
syncState: syncState,
|
|
401
402
|
options: persistOptions,
|
|
402
403
|
changes: changesRemote,
|
|
403
404
|
value,
|
|
404
|
-
}).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); });
|
|
405
|
+
})) === null || _b === void 0 ? void 0 : _b.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); }));
|
|
405
406
|
// If this remote save changed anything then update persistence and metadata
|
|
406
407
|
// Because save happens after a timeout and they're batched together, some calls to save will
|
|
407
408
|
// return saved data and others won't, so those can be ignored.
|
|
@@ -411,7 +412,7 @@ async function doChange(changeInfo) {
|
|
|
411
412
|
if (pathStrs.length > 0) {
|
|
412
413
|
if (local) {
|
|
413
414
|
const metadata = {};
|
|
414
|
-
const pending = (
|
|
415
|
+
const pending = (_c = persistenceLocal.getMetadata(table, configLocal)) === null || _c === void 0 ? void 0 : _c.pending;
|
|
415
416
|
let transformedChanges = [];
|
|
416
417
|
for (let i = 0; i < pathStrs.length; i++) {
|
|
417
418
|
const pathStr = pathStrs[i];
|
|
@@ -440,7 +441,7 @@ async function doChange(changeInfo) {
|
|
|
440
441
|
updateMetadata(obs, localState, syncState, persistOptions, metadata);
|
|
441
442
|
}
|
|
442
443
|
}
|
|
443
|
-
(
|
|
444
|
+
(_d = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onSet) === null || _d === void 0 ? void 0 : _d.call(configRemote);
|
|
444
445
|
}
|
|
445
446
|
}
|
|
446
447
|
}
|
|
@@ -534,7 +535,8 @@ async function loadLocal(obs, persistOptions, syncState, localState) {
|
|
|
534
535
|
state.internal.globalState.isLoadingLocal = false;
|
|
535
536
|
});
|
|
536
537
|
}
|
|
537
|
-
|
|
538
|
+
const node = state.getNode(obs);
|
|
539
|
+
node.state.peek().clearLocal = () => Promise.all([
|
|
538
540
|
persistenceLocal.deleteTable(table, config),
|
|
539
541
|
persistenceLocal.deleteMetadata(table, config),
|
|
540
542
|
]);
|
|
@@ -542,10 +544,14 @@ async function loadLocal(obs, persistOptions, syncState, localState) {
|
|
|
542
544
|
syncState.isLoadedLocal.set(true);
|
|
543
545
|
}
|
|
544
546
|
function persistObservable(initialOrObservable, persistOptions) {
|
|
547
|
+
var _a;
|
|
545
548
|
const obs = (state.isObservable(initialOrObservable)
|
|
546
549
|
? initialOrObservable
|
|
547
550
|
: state.observable(state.isFunction(initialOrObservable) ? initialOrObservable() : initialOrObservable));
|
|
548
551
|
const node = state.getNode(obs);
|
|
552
|
+
if (process.env.NODE_ENV === 'development' && ((_a = obs === null || obs === void 0 ? void 0 : obs.peek()) === null || _a === void 0 ? void 0 : _a._state)) {
|
|
553
|
+
console.warn('[legend-state] WARNING: persistObservable creates a property named "_state" but your observable already has "state" in it');
|
|
554
|
+
}
|
|
549
555
|
// Merge remote persist options with clobal options
|
|
550
556
|
if (persistOptions.remote) {
|
|
551
557
|
persistOptions.remote = Object.assign({}, observablePersistConfiguration.remoteOptions, persistOptions.remote);
|
|
@@ -563,9 +569,7 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
563
569
|
sync: () => Promise.resolve(),
|
|
564
570
|
getPendingChanges: () => localState.pendingChanges,
|
|
565
571
|
}));
|
|
566
|
-
|
|
567
|
-
loadLocal(obs, persistOptions, syncState, localState);
|
|
568
|
-
}
|
|
572
|
+
loadLocal(obs, persistOptions, syncState, localState);
|
|
569
573
|
if (remote || remotePersistence) {
|
|
570
574
|
if (!remotePersistence) {
|
|
571
575
|
throw new Error('Remote persistence is not configured');
|
|
@@ -592,63 +596,69 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
592
596
|
if (!isSynced) {
|
|
593
597
|
isSynced = true;
|
|
594
598
|
const dateModified = (_a = metadatas.get(obs)) === null || _a === void 0 ? void 0 : _a.modified;
|
|
595
|
-
localState.persistenceRemote.get
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
if (
|
|
609
|
-
value =
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
599
|
+
const get = localState.persistenceRemote.get;
|
|
600
|
+
if (get) {
|
|
601
|
+
get({
|
|
602
|
+
state: syncState,
|
|
603
|
+
obs,
|
|
604
|
+
options: persistOptions,
|
|
605
|
+
dateModified,
|
|
606
|
+
onGet: () => {
|
|
607
|
+
syncState.isLoaded.set(true);
|
|
608
|
+
},
|
|
609
|
+
onChange: async ({ value, path = [], pathTypes = [], mode = 'set', dateModified }) => {
|
|
610
|
+
// Note: value is the constructed value, path is used for setInObservableAtPath
|
|
611
|
+
// to start the set into the observable from the path
|
|
612
|
+
if (value !== undefined) {
|
|
613
|
+
value = transformLoadData(value, remote, true);
|
|
614
|
+
if (state.isPromise(value)) {
|
|
615
|
+
value = await value;
|
|
616
|
+
}
|
|
617
|
+
const invertedMap = remote.fieldTransforms && invertFieldMap(remote.fieldTransforms);
|
|
618
|
+
if (path.length && invertedMap) {
|
|
619
|
+
path = transformPath(path, pathTypes, invertedMap);
|
|
620
|
+
}
|
|
621
|
+
if (mode === 'dateModified') {
|
|
622
|
+
if (dateModified && !state.isEmpty(value)) {
|
|
623
|
+
onChangeRemote(() => {
|
|
624
|
+
state.setInObservableAtPath(obs, path, pathTypes, value, 'assign');
|
|
625
|
+
});
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
const pending = localState.pendingChanges;
|
|
630
|
+
if (pending) {
|
|
631
|
+
Object.keys(pending).forEach((key) => {
|
|
632
|
+
const p = key.split('/').filter((p) => p !== '');
|
|
633
|
+
const { v, t } = pending[key];
|
|
634
|
+
if (value[p[0]] !== undefined) {
|
|
635
|
+
value = state.setAtPath(value, p, t, v, obs.peek(), (path, value) => {
|
|
636
|
+
delete pending[key];
|
|
637
|
+
pending[path.join('/')] = {
|
|
638
|
+
p: null,
|
|
639
|
+
v: value,
|
|
640
|
+
t: t.slice(0, path.length),
|
|
641
|
+
};
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
});
|
|
645
|
+
}
|
|
617
646
|
onChangeRemote(() => {
|
|
618
|
-
state.setInObservableAtPath(obs, path, pathTypes, value,
|
|
647
|
+
state.setInObservableAtPath(obs, path, pathTypes, value, mode);
|
|
619
648
|
});
|
|
620
649
|
}
|
|
621
650
|
}
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
Object.keys(pending).forEach((key) => {
|
|
626
|
-
const p = key.split('/').filter((p) => p !== '');
|
|
627
|
-
const { v, t } = pending[key];
|
|
628
|
-
if (value[p[0]] !== undefined) {
|
|
629
|
-
value = state.setAtPath(value, p, t, v, obs.peek(), (path, value) => {
|
|
630
|
-
delete pending[key];
|
|
631
|
-
pending[path.join('/')] = {
|
|
632
|
-
p: null,
|
|
633
|
-
v: value,
|
|
634
|
-
t: t.slice(0, path.length),
|
|
635
|
-
};
|
|
636
|
-
});
|
|
637
|
-
}
|
|
638
|
-
});
|
|
639
|
-
}
|
|
640
|
-
onChangeRemote(() => {
|
|
641
|
-
state.setInObservableAtPath(obs, path, pathTypes, value, mode);
|
|
651
|
+
if (dateModified && local) {
|
|
652
|
+
updateMetadata(obs, localState, syncState, persistOptions, {
|
|
653
|
+
modified: dateModified,
|
|
642
654
|
});
|
|
643
655
|
}
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
},
|
|
651
|
-
});
|
|
656
|
+
},
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
else {
|
|
660
|
+
syncState.isLoaded.set(true);
|
|
661
|
+
}
|
|
652
662
|
// Wait for remote to be ready before saving pending
|
|
653
663
|
await state.when(() => syncState.isLoaded.get() || (remote.allowSetIfError && syncState.error.get()));
|
|
654
664
|
const pending = localState.pendingChanges;
|
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","setAtPath","when","isEmpty","mergeIntoObservable","internal","batch","isObservable","isFunction","getNode","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","../../persist.ts"],"sourcesContent":[null,null,null,null,null],"names":["symbolDelete","isString","isArray","isObject","constructObjectWithPath","deconstructObjectWithPath","observable","isPromise","setAtPath","when","isEmpty","mergeIntoObservable","internal","batch","getNode","isObservable","isFunction","setInObservableAtPath","internalState"],"mappings":"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"}
|
package/persist.mjs
CHANGED
|
@@ -134,13 +134,14 @@ if (process.env.NODE_ENV === 'development') {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
function observablePersistRemoteFunctionsAdapter({ get, set, }) {
|
|
137
|
-
const ret = {
|
|
138
|
-
|
|
137
|
+
const ret = {};
|
|
138
|
+
if (get) {
|
|
139
|
+
ret.get = (async (params) => {
|
|
139
140
|
const value = (await get(params));
|
|
140
141
|
params.onChange({ value, dateModified: Date.now() });
|
|
141
142
|
params.onGet();
|
|
142
|
-
}
|
|
143
|
-
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
144
145
|
if (set) {
|
|
145
146
|
ret.set = set;
|
|
146
147
|
}
|
|
@@ -358,7 +359,7 @@ async function prepChange(queuedChange) {
|
|
|
358
359
|
}
|
|
359
360
|
}
|
|
360
361
|
async function doChange(changeInfo) {
|
|
361
|
-
var _a, _b, _c;
|
|
362
|
+
var _a, _b, _c, _d;
|
|
362
363
|
if (!changeInfo)
|
|
363
364
|
return;
|
|
364
365
|
const { queuedChange, changesLocal, changesRemote } = changeInfo;
|
|
@@ -393,13 +394,13 @@ async function doChange(changeInfo) {
|
|
|
393
394
|
await when(() => syncState.isLoaded.get() || ((configRemote === null || configRemote === void 0 ? void 0 : configRemote.allowSetIfError) && syncState.error.get()));
|
|
394
395
|
const value = obs.peek();
|
|
395
396
|
(_a = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onBeforeSet) === null || _a === void 0 ? void 0 : _a.call(configRemote);
|
|
396
|
-
const saved = await persistenceRemote.set({
|
|
397
|
+
const saved = await ((_b = persistenceRemote.set({
|
|
397
398
|
obs,
|
|
398
399
|
syncState: syncState,
|
|
399
400
|
options: persistOptions,
|
|
400
401
|
changes: changesRemote,
|
|
401
402
|
value,
|
|
402
|
-
}).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); });
|
|
403
|
+
})) === null || _b === void 0 ? void 0 : _b.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); }));
|
|
403
404
|
// If this remote save changed anything then update persistence and metadata
|
|
404
405
|
// Because save happens after a timeout and they're batched together, some calls to save will
|
|
405
406
|
// return saved data and others won't, so those can be ignored.
|
|
@@ -409,7 +410,7 @@ async function doChange(changeInfo) {
|
|
|
409
410
|
if (pathStrs.length > 0) {
|
|
410
411
|
if (local) {
|
|
411
412
|
const metadata = {};
|
|
412
|
-
const pending = (
|
|
413
|
+
const pending = (_c = persistenceLocal.getMetadata(table, configLocal)) === null || _c === void 0 ? void 0 : _c.pending;
|
|
413
414
|
let transformedChanges = [];
|
|
414
415
|
for (let i = 0; i < pathStrs.length; i++) {
|
|
415
416
|
const pathStr = pathStrs[i];
|
|
@@ -438,7 +439,7 @@ async function doChange(changeInfo) {
|
|
|
438
439
|
updateMetadata(obs, localState, syncState, persistOptions, metadata);
|
|
439
440
|
}
|
|
440
441
|
}
|
|
441
|
-
(
|
|
442
|
+
(_d = configRemote === null || configRemote === void 0 ? void 0 : configRemote.onSet) === null || _d === void 0 ? void 0 : _d.call(configRemote);
|
|
442
443
|
}
|
|
443
444
|
}
|
|
444
445
|
}
|
|
@@ -532,7 +533,8 @@ async function loadLocal(obs, persistOptions, syncState, localState) {
|
|
|
532
533
|
internal$1.globalState.isLoadingLocal = false;
|
|
533
534
|
});
|
|
534
535
|
}
|
|
535
|
-
|
|
536
|
+
const node = getNode(obs);
|
|
537
|
+
node.state.peek().clearLocal = () => Promise.all([
|
|
536
538
|
persistenceLocal.deleteTable(table, config),
|
|
537
539
|
persistenceLocal.deleteMetadata(table, config),
|
|
538
540
|
]);
|
|
@@ -540,10 +542,14 @@ async function loadLocal(obs, persistOptions, syncState, localState) {
|
|
|
540
542
|
syncState.isLoadedLocal.set(true);
|
|
541
543
|
}
|
|
542
544
|
function persistObservable(initialOrObservable, persistOptions) {
|
|
545
|
+
var _a;
|
|
543
546
|
const obs = (isObservable(initialOrObservable)
|
|
544
547
|
? initialOrObservable
|
|
545
548
|
: observable(isFunction(initialOrObservable) ? initialOrObservable() : initialOrObservable));
|
|
546
549
|
const node = getNode(obs);
|
|
550
|
+
if (process.env.NODE_ENV === 'development' && ((_a = obs === null || obs === void 0 ? void 0 : obs.peek()) === null || _a === void 0 ? void 0 : _a._state)) {
|
|
551
|
+
console.warn('[legend-state] WARNING: persistObservable creates a property named "_state" but your observable already has "state" in it');
|
|
552
|
+
}
|
|
547
553
|
// Merge remote persist options with clobal options
|
|
548
554
|
if (persistOptions.remote) {
|
|
549
555
|
persistOptions.remote = Object.assign({}, observablePersistConfiguration.remoteOptions, persistOptions.remote);
|
|
@@ -561,9 +567,7 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
561
567
|
sync: () => Promise.resolve(),
|
|
562
568
|
getPendingChanges: () => localState.pendingChanges,
|
|
563
569
|
}));
|
|
564
|
-
|
|
565
|
-
loadLocal(obs, persistOptions, syncState, localState);
|
|
566
|
-
}
|
|
570
|
+
loadLocal(obs, persistOptions, syncState, localState);
|
|
567
571
|
if (remote || remotePersistence) {
|
|
568
572
|
if (!remotePersistence) {
|
|
569
573
|
throw new Error('Remote persistence is not configured');
|
|
@@ -590,63 +594,69 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
590
594
|
if (!isSynced) {
|
|
591
595
|
isSynced = true;
|
|
592
596
|
const dateModified = (_a = metadatas.get(obs)) === null || _a === void 0 ? void 0 : _a.modified;
|
|
593
|
-
localState.persistenceRemote.get
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
if (
|
|
607
|
-
value =
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
597
|
+
const get = localState.persistenceRemote.get;
|
|
598
|
+
if (get) {
|
|
599
|
+
get({
|
|
600
|
+
state: syncState,
|
|
601
|
+
obs,
|
|
602
|
+
options: persistOptions,
|
|
603
|
+
dateModified,
|
|
604
|
+
onGet: () => {
|
|
605
|
+
syncState.isLoaded.set(true);
|
|
606
|
+
},
|
|
607
|
+
onChange: async ({ value, path = [], pathTypes = [], mode = 'set', dateModified }) => {
|
|
608
|
+
// Note: value is the constructed value, path is used for setInObservableAtPath
|
|
609
|
+
// to start the set into the observable from the path
|
|
610
|
+
if (value !== undefined) {
|
|
611
|
+
value = transformLoadData(value, remote, true);
|
|
612
|
+
if (isPromise(value)) {
|
|
613
|
+
value = await value;
|
|
614
|
+
}
|
|
615
|
+
const invertedMap = remote.fieldTransforms && invertFieldMap(remote.fieldTransforms);
|
|
616
|
+
if (path.length && invertedMap) {
|
|
617
|
+
path = transformPath(path, pathTypes, invertedMap);
|
|
618
|
+
}
|
|
619
|
+
if (mode === 'dateModified') {
|
|
620
|
+
if (dateModified && !isEmpty(value)) {
|
|
621
|
+
onChangeRemote(() => {
|
|
622
|
+
setInObservableAtPath(obs, path, pathTypes, value, 'assign');
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
else {
|
|
627
|
+
const pending = localState.pendingChanges;
|
|
628
|
+
if (pending) {
|
|
629
|
+
Object.keys(pending).forEach((key) => {
|
|
630
|
+
const p = key.split('/').filter((p) => p !== '');
|
|
631
|
+
const { v, t } = pending[key];
|
|
632
|
+
if (value[p[0]] !== undefined) {
|
|
633
|
+
value = setAtPath(value, p, t, v, obs.peek(), (path, value) => {
|
|
634
|
+
delete pending[key];
|
|
635
|
+
pending[path.join('/')] = {
|
|
636
|
+
p: null,
|
|
637
|
+
v: value,
|
|
638
|
+
t: t.slice(0, path.length),
|
|
639
|
+
};
|
|
640
|
+
});
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
}
|
|
615
644
|
onChangeRemote(() => {
|
|
616
|
-
setInObservableAtPath(obs, path, pathTypes, value,
|
|
645
|
+
setInObservableAtPath(obs, path, pathTypes, value, mode);
|
|
617
646
|
});
|
|
618
647
|
}
|
|
619
648
|
}
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
Object.keys(pending).forEach((key) => {
|
|
624
|
-
const p = key.split('/').filter((p) => p !== '');
|
|
625
|
-
const { v, t } = pending[key];
|
|
626
|
-
if (value[p[0]] !== undefined) {
|
|
627
|
-
value = setAtPath(value, p, t, v, obs.peek(), (path, value) => {
|
|
628
|
-
delete pending[key];
|
|
629
|
-
pending[path.join('/')] = {
|
|
630
|
-
p: null,
|
|
631
|
-
v: value,
|
|
632
|
-
t: t.slice(0, path.length),
|
|
633
|
-
};
|
|
634
|
-
});
|
|
635
|
-
}
|
|
636
|
-
});
|
|
637
|
-
}
|
|
638
|
-
onChangeRemote(() => {
|
|
639
|
-
setInObservableAtPath(obs, path, pathTypes, value, mode);
|
|
649
|
+
if (dateModified && local) {
|
|
650
|
+
updateMetadata(obs, localState, syncState, persistOptions, {
|
|
651
|
+
modified: dateModified,
|
|
640
652
|
});
|
|
641
653
|
}
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
},
|
|
649
|
-
});
|
|
654
|
+
},
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
syncState.isLoaded.set(true);
|
|
659
|
+
}
|
|
650
660
|
// Wait for remote to be ready before saving pending
|
|
651
661
|
await when(() => syncState.isLoaded.get() || (remote.allowSetIfError && syncState.error.get()));
|
|
652
662
|
const pending = localState.pendingChanges;
|