@aws-amplify/datastore 3.14.4 → 3.14.5-unstable.2
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 +0 -8
- package/lib/authModeStrategies/defaultAuthStrategy.d.ts +2 -0
- package/lib/authModeStrategies/index.d.ts +2 -0
- package/lib/authModeStrategies/multiAuthStrategy.d.ts +13 -0
- package/lib/authModeStrategies/multiAuthStrategy.js +6 -64
- package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
- package/lib/datastore/datastore.d.ts +207 -0
- package/lib/datastore/datastore.js +703 -297
- package/lib/datastore/datastore.js.map +1 -1
- package/lib/index.d.ts +16 -0
- package/lib/index.js +6 -4
- package/lib/index.js.map +1 -1
- package/lib/predicates/index.d.ts +30 -0
- package/lib/predicates/index.js +127 -6
- package/lib/predicates/index.js.map +1 -1
- package/lib/predicates/next.d.ts +301 -0
- package/lib/predicates/next.js +816 -0
- package/lib/predicates/next.js.map +1 -0
- package/lib/predicates/sort.d.ts +8 -0
- package/lib/predicates/sort.js +10 -4
- package/lib/predicates/sort.js.map +1 -1
- package/lib/ssr/index.d.ts +3 -0
- package/lib/storage/adapter/AsyncStorageAdapter.d.ts +42 -0
- package/lib/storage/adapter/AsyncStorageAdapter.js +141 -382
- package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageDatabase.d.ts +39 -0
- package/lib/storage/adapter/AsyncStorageDatabase.js +37 -98
- package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.d.ts +11 -0
- package/lib/storage/adapter/InMemoryStore.js +16 -67
- package/lib/storage/adapter/InMemoryStore.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.native.d.ts +1 -0
- package/lib/storage/adapter/InMemoryStore.native.js +2 -4
- package/lib/storage/adapter/InMemoryStore.native.js.map +1 -1
- package/lib/storage/adapter/IndexedDBAdapter.d.ts +61 -0
- package/lib/storage/adapter/IndexedDBAdapter.js +275 -419
- package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib/storage/adapter/getDefaultAdapter/index.d.ts +3 -0
- package/lib/storage/adapter/getDefaultAdapter/index.js +3 -5
- package/lib/storage/adapter/getDefaultAdapter/index.js.map +1 -1
- package/lib/storage/adapter/getDefaultAdapter/index.native.d.ts +3 -0
- package/lib/storage/adapter/getDefaultAdapter/index.native.js +2 -4
- package/lib/storage/adapter/getDefaultAdapter/index.native.js.map +1 -1
- package/lib/storage/adapter/index.d.ts +9 -0
- package/lib/storage/relationship.d.ts +140 -0
- package/lib/storage/relationship.js +335 -0
- package/lib/storage/relationship.js.map +1 -0
- package/lib/storage/storage.d.ts +50 -0
- package/lib/storage/storage.js +72 -143
- package/lib/storage/storage.js.map +1 -1
- package/lib/sync/datastoreConnectivity.d.ts +16 -0
- package/lib/sync/datastoreConnectivity.js +6 -55
- package/lib/sync/datastoreConnectivity.js.map +1 -1
- package/lib/sync/datastoreReachability/index.d.ts +3 -0
- package/lib/sync/datastoreReachability/index.native.d.ts +3 -0
- package/lib/sync/datastoreReachability/index.native.js +2 -4
- package/lib/sync/datastoreReachability/index.native.js.map +1 -1
- package/lib/sync/index.d.ts +89 -0
- package/lib/sync/index.js +49 -124
- package/lib/sync/index.js.map +1 -1
- package/lib/sync/merger.d.ts +17 -0
- package/lib/sync/merger.js +8 -74
- package/lib/sync/merger.js.map +1 -1
- package/lib/sync/outbox.d.ts +27 -0
- package/lib/sync/outbox.js +24 -97
- package/lib/sync/outbox.js.map +1 -1
- package/lib/sync/processors/errorMaps.d.ts +17 -0
- package/lib/sync/processors/errorMaps.js +5 -35
- package/lib/sync/processors/errorMaps.js.map +1 -1
- package/lib/sync/processors/mutation.d.ts +58 -0
- package/lib/sync/processors/mutation.js +47 -131
- package/lib/sync/processors/mutation.js.map +1 -1
- package/lib/sync/processors/subscription.d.ts +33 -0
- package/lib/sync/processors/subscription.js +29 -102
- package/lib/sync/processors/subscription.js.map +1 -1
- package/lib/sync/processors/sync.d.ts +28 -0
- package/lib/sync/processors/sync.js +26 -102
- package/lib/sync/processors/sync.js.map +1 -1
- package/lib/sync/utils.d.ts +42 -0
- package/lib/sync/utils.js +40 -103
- package/lib/sync/utils.js.map +1 -1
- package/lib/types.d.ts +554 -0
- package/lib/types.js +9 -39
- package/lib/types.js.map +1 -1
- package/lib/util.d.ts +189 -0
- package/lib/util.js +192 -188
- package/lib/util.js.map +1 -1
- package/lib-esm/authModeStrategies/multiAuthStrategy.js +2 -57
- package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
- package/lib-esm/datastore/datastore.d.ts +59 -8
- package/lib-esm/datastore/datastore.js +642 -234
- package/lib-esm/datastore/datastore.js.map +1 -1
- package/lib-esm/index.d.ts +3 -2
- package/lib-esm/index.js +2 -1
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/predicates/index.d.ts +16 -2
- package/lib-esm/predicates/index.js +128 -7
- package/lib-esm/predicates/index.js.map +1 -1
- package/lib-esm/predicates/next.d.ts +301 -0
- package/lib-esm/predicates/next.js +812 -0
- package/lib-esm/predicates/next.js.map +1 -0
- package/lib-esm/predicates/sort.js +10 -4
- package/lib-esm/predicates/sort.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +2 -1
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js +112 -350
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js +7 -68
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib-esm/storage/adapter/InMemoryStore.d.ts +1 -1
- package/lib-esm/storage/adapter/InMemoryStore.js +1 -52
- package/lib-esm/storage/adapter/InMemoryStore.js.map +1 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +4 -2
- package/lib-esm/storage/adapter/IndexedDBAdapter.js +230 -367
- package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +1 -1
- package/lib-esm/storage/relationship.d.ts +140 -0
- package/lib-esm/storage/relationship.js +333 -0
- package/lib-esm/storage/relationship.js.map +1 -0
- package/lib-esm/storage/storage.d.ts +7 -6
- package/lib-esm/storage/storage.js +33 -101
- package/lib-esm/storage/storage.js.map +1 -1
- package/lib-esm/sync/datastoreConnectivity.js +1 -47
- package/lib-esm/sync/datastoreConnectivity.js.map +1 -1
- package/lib-esm/sync/index.js +4 -76
- package/lib-esm/sync/index.js.map +1 -1
- package/lib-esm/sync/merger.js +1 -67
- package/lib-esm/sync/merger.js.map +1 -1
- package/lib-esm/sync/outbox.js +1 -74
- package/lib-esm/sync/outbox.js.map +1 -1
- package/lib-esm/sync/processors/errorMaps.js +2 -32
- package/lib-esm/sync/processors/errorMaps.js.map +1 -1
- package/lib-esm/sync/processors/mutation.js +12 -93
- package/lib-esm/sync/processors/mutation.js.map +1 -1
- package/lib-esm/sync/processors/subscription.js +6 -69
- package/lib-esm/sync/processors/subscription.js.map +1 -1
- package/lib-esm/sync/processors/sync.js +2 -75
- package/lib-esm/sync/processors/sync.js.map +1 -1
- package/lib-esm/sync/utils.d.ts +1 -1
- package/lib-esm/sync/utils.js +32 -95
- package/lib-esm/sync/utils.js.map +1 -1
- package/lib-esm/types.d.ts +63 -10
- package/lib-esm/types.js +7 -38
- package/lib-esm/types.js.map +1 -1
- package/lib-esm/util.d.ts +39 -6
- package/lib-esm/util.js +171 -171
- package/lib-esm/util.js.map +1 -1
- package/package.json +21 -14
- package/src/authModeStrategies/multiAuthStrategy.ts +2 -2
- package/src/datastore/datastore.ts +699 -206
- package/src/index.ts +4 -0
- package/src/predicates/index.ts +143 -17
- package/src/predicates/next.ts +967 -0
- package/src/predicates/sort.ts +8 -2
- package/src/storage/adapter/AsyncStorageAdapter.ts +59 -181
- package/src/storage/adapter/AsyncStorageDatabase.ts +16 -15
- package/src/storage/adapter/InMemoryStore.ts +5 -2
- package/src/storage/adapter/IndexedDBAdapter.ts +169 -192
- package/src/storage/adapter/getDefaultAdapter/index.ts +2 -2
- package/src/storage/relationship.ts +272 -0
- package/src/storage/storage.ts +56 -37
- package/src/sync/datastoreConnectivity.ts +4 -4
- package/src/sync/index.ts +22 -28
- package/src/sync/merger.ts +1 -1
- package/src/sync/outbox.ts +6 -6
- package/src/sync/processors/errorMaps.ts +1 -1
- package/src/sync/processors/mutation.ts +23 -19
- package/src/sync/processors/subscription.ts +20 -16
- package/src/sync/processors/sync.ts +17 -17
- package/src/sync/utils.ts +42 -48
- package/src/types.ts +128 -16
- package/src/util.ts +108 -150
- package/build.js +0 -5
- package/dist/aws-amplify-datastore.js +0 -92787
- package/dist/aws-amplify-datastore.js.map +0 -1
- package/dist/aws-amplify-datastore.min.js +0 -66
- package/dist/aws-amplify-datastore.min.js.map +0 -1
- package/index.js +0 -7
- package/webpack.config.dev.js +0 -6
|
@@ -1,56 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
-
};
|
|
52
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
|
|
54
5
|
var core_1 = require("@aws-amplify/core");
|
|
55
6
|
var datastoreReachability_1 = require("./datastoreReachability");
|
|
56
7
|
var logger = new core_1.ConsoleLogger('DataStore');
|
|
@@ -72,7 +23,7 @@ var DataStoreConnectivity = /** @class */ (function () {
|
|
|
72
23
|
_this.subscription = datastoreReachability_1.ReachabilityMonitor.subscribe(function (_a) {
|
|
73
24
|
var online = _a.online;
|
|
74
25
|
_this.connectionStatus.online = online;
|
|
75
|
-
var observerResult = __assign({}, _this.connectionStatus); // copyOf status
|
|
26
|
+
var observerResult = tslib_1.__assign({}, _this.connectionStatus); // copyOf status
|
|
76
27
|
observer.next(observerResult);
|
|
77
28
|
});
|
|
78
29
|
return function () {
|
|
@@ -89,8 +40,8 @@ var DataStoreConnectivity = /** @class */ (function () {
|
|
|
89
40
|
};
|
|
90
41
|
// for consistency with other background processors.
|
|
91
42
|
DataStoreConnectivity.prototype.stop = function () {
|
|
92
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
93
|
-
return __generator(this, function (_a) {
|
|
43
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
44
|
+
return tslib_1.__generator(this, function (_a) {
|
|
94
45
|
this.unsubscribe();
|
|
95
46
|
return [2 /*return*/];
|
|
96
47
|
});
|
|
@@ -101,7 +52,7 @@ var DataStoreConnectivity = /** @class */ (function () {
|
|
|
101
52
|
if (this.observer && typeof this.observer.next === 'function') {
|
|
102
53
|
this.observer.next({ online: false }); // Notify network issue from the socket
|
|
103
54
|
this.timeout = setTimeout(function () {
|
|
104
|
-
var observerResult = __assign({}, _this.connectionStatus); // copyOf status
|
|
55
|
+
var observerResult = tslib_1.__assign({}, _this.connectionStatus); // copyOf status
|
|
105
56
|
_this.observer.next(observerResult);
|
|
106
57
|
}, RECONNECTING_IN); // giving time for socket cleanup and network status stabilization
|
|
107
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datastoreConnectivity.js","sourceRoot":"","sources":["../../src/sync/datastoreConnectivity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"datastoreConnectivity.js","sourceRoot":"","sources":["../../src/sync/datastoreConnectivity.ts"],"names":[],"mappings":";;;AAAA,gFAA8D;AAC9D,0CAA4D;AAC5D,iEAA8D;AAE9D,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,WAAW,CAAC,CAAC;AAEvC,IAAM,eAAe,GAAG,IAAI,CAAC,CAAC,4CAA4C;AAO1E;IAKC;QACC,IAAI,CAAC,gBAAgB,GAAG;YACvB,MAAM,EAAE,KAAK;SACb,CAAC;IACH,CAAC;IAED,sCAAM,GAAN;QAAA,iBAqBC;QApBA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,2BAAU,CAAC,UAAC,QAAQ;YAC9B,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,4EAA4E;YAE5E,KAAI,CAAC,YAAY,GAAG,2CAAmB,CAAC,SAAS,CAAC,UAAC,EAAU;oBAAR,kBAAM;gBAC1D,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;gBAEtC,IAAM,cAAc,wBAAQ,KAAI,CAAC,gBAAgB,CAAE,CAAC,CAAC,gBAAgB;gBAErE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,OAAO;gBACN,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,2CAAW,GAAX;QACC,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;SAChC;IACF,CAAC;IAED,oDAAoD;IAC9C,oCAAI,GAAV;;;gBACC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,sBAAO;;;KACP;IAED,kDAAkB,GAAlB;QAAA,iBASC;QARA,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE;YAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,uCAAuC;YAE9E,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;gBACzB,IAAM,cAAc,wBAAQ,KAAI,CAAC,gBAAgB,CAAE,CAAC,CAAC,gBAAgB;gBACrE,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,kEAAkE;SACvF;IACF,CAAC;IACF,4BAAC;AAAD,CAAC,AAzDD,IAyDC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
6
4
|
var core_1 = require("@aws-amplify/core");
|
|
7
|
-
var netinfo_1 = __importDefault(require("@react-native-community/netinfo"));
|
|
5
|
+
var netinfo_1 = tslib_1.__importDefault(require("@react-native-community/netinfo"));
|
|
8
6
|
exports.ReachabilityMonitor = new core_1.Reachability().networkMonitor(netinfo_1.default);
|
|
9
7
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../../src/sync/datastoreReachability/index.native.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../../src/sync/datastoreReachability/index.native.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AACjD,oFAAqE;AAExD,QAAA,mBAAmB,GAAG,IAAI,mBAAY,EAAE,CAAC,cAAc,CAAC,iBAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import Observable from 'zen-observable-ts';
|
|
2
|
+
import { ModelInstanceCreator } from '../datastore/datastore';
|
|
3
|
+
import { ExclusiveStorage as Storage } from '../storage/storage';
|
|
4
|
+
import { ConflictHandler, ControlMessageType, ErrorHandler, InternalSchema, ModelInit, MutableModel, NamespaceResolver, PersistentModelConstructor, SchemaModel, SchemaNamespace, TypeConstructorMap, ModelPredicate, AuthModeStrategy, ManagedIdentifier, OptionallyManagedIdentifier, AmplifyContext } from '../types';
|
|
5
|
+
import type { __modelMeta__ } from '../types';
|
|
6
|
+
import DataStoreConnectivity from './datastoreConnectivity';
|
|
7
|
+
import { TransformerMutationType } from './utils';
|
|
8
|
+
declare type StartParams = {
|
|
9
|
+
fullSyncInterval: number;
|
|
10
|
+
};
|
|
11
|
+
export declare class MutationEvent {
|
|
12
|
+
readonly [__modelMeta__]: {
|
|
13
|
+
identifier: OptionallyManagedIdentifier<MutationEvent, 'id'>;
|
|
14
|
+
};
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly model: string;
|
|
17
|
+
readonly operation: TransformerMutationType;
|
|
18
|
+
readonly modelId: string;
|
|
19
|
+
readonly condition: string;
|
|
20
|
+
readonly data: string;
|
|
21
|
+
constructor(init: ModelInit<MutationEvent>);
|
|
22
|
+
static copyOf(src: MutationEvent, mutator: (draft: MutableModel<MutationEvent>) => void | MutationEvent): MutationEvent;
|
|
23
|
+
}
|
|
24
|
+
export declare class ModelMetadata {
|
|
25
|
+
readonly [__modelMeta__]: {
|
|
26
|
+
identifier: ManagedIdentifier<ModelMetadata, 'id'>;
|
|
27
|
+
};
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly namespace: string;
|
|
30
|
+
readonly model: string;
|
|
31
|
+
readonly fullSyncInterval: number;
|
|
32
|
+
readonly lastSync?: number;
|
|
33
|
+
readonly lastFullSync?: number;
|
|
34
|
+
readonly lastSyncPredicate?: null | string;
|
|
35
|
+
constructor(init: ModelInit<ModelMetadata>);
|
|
36
|
+
static copyOf(src: ModelMetadata, mutator: (draft: MutableModel<ModelMetadata>) => void | ModelMetadata): ModelMetadata;
|
|
37
|
+
}
|
|
38
|
+
export declare enum ControlMessage {
|
|
39
|
+
SYNC_ENGINE_STORAGE_SUBSCRIBED = "storageSubscribed",
|
|
40
|
+
SYNC_ENGINE_SUBSCRIPTIONS_ESTABLISHED = "subscriptionsEstablished",
|
|
41
|
+
SYNC_ENGINE_SYNC_QUERIES_STARTED = "syncQueriesStarted",
|
|
42
|
+
SYNC_ENGINE_SYNC_QUERIES_READY = "syncQueriesReady",
|
|
43
|
+
SYNC_ENGINE_MODEL_SYNCED = "modelSynced",
|
|
44
|
+
SYNC_ENGINE_OUTBOX_MUTATION_ENQUEUED = "outboxMutationEnqueued",
|
|
45
|
+
SYNC_ENGINE_OUTBOX_MUTATION_PROCESSED = "outboxMutationProcessed",
|
|
46
|
+
SYNC_ENGINE_OUTBOX_STATUS = "outboxStatus",
|
|
47
|
+
SYNC_ENGINE_NETWORK_STATUS = "networkStatus",
|
|
48
|
+
SYNC_ENGINE_READY = "ready"
|
|
49
|
+
}
|
|
50
|
+
export declare class SyncEngine {
|
|
51
|
+
private readonly schema;
|
|
52
|
+
private readonly namespaceResolver;
|
|
53
|
+
private readonly modelClasses;
|
|
54
|
+
private readonly userModelClasses;
|
|
55
|
+
private readonly storage;
|
|
56
|
+
private readonly modelInstanceCreator;
|
|
57
|
+
private readonly syncPredicates;
|
|
58
|
+
private readonly amplifyConfig;
|
|
59
|
+
private readonly authModeStrategy;
|
|
60
|
+
private readonly amplifyContext;
|
|
61
|
+
private readonly connectivityMonitor?;
|
|
62
|
+
private online;
|
|
63
|
+
private readonly syncQueriesProcessor;
|
|
64
|
+
private readonly subscriptionsProcessor;
|
|
65
|
+
private readonly mutationsProcessor;
|
|
66
|
+
private readonly modelMerger;
|
|
67
|
+
private readonly outbox;
|
|
68
|
+
private readonly datastoreConnectivity;
|
|
69
|
+
private readonly modelSyncedStatus;
|
|
70
|
+
private runningProcesses;
|
|
71
|
+
getModelSyncedStatus(modelConstructor: PersistentModelConstructor<any>): boolean;
|
|
72
|
+
constructor(schema: InternalSchema, namespaceResolver: NamespaceResolver, modelClasses: TypeConstructorMap, userModelClasses: TypeConstructorMap, storage: Storage, modelInstanceCreator: ModelInstanceCreator, conflictHandler: ConflictHandler, errorHandler: ErrorHandler, syncPredicates: WeakMap<SchemaModel, ModelPredicate<any>>, amplifyConfig: Record<string, any>, authModeStrategy: AuthModeStrategy, amplifyContext: AmplifyContext, connectivityMonitor?: DataStoreConnectivity);
|
|
73
|
+
start(params: StartParams): Observable<ControlMessageType<ControlMessage>>;
|
|
74
|
+
private getModelsMetadataWithNextFullSync;
|
|
75
|
+
private syncQueriesObservable;
|
|
76
|
+
private disconnectionHandler;
|
|
77
|
+
unsubscribeConnectivity(): void;
|
|
78
|
+
/**
|
|
79
|
+
* Stops all subscription activities and resolves when all activies report
|
|
80
|
+
* that they're disconnected, done retrying, etc..
|
|
81
|
+
*/
|
|
82
|
+
stop(): Promise<void>;
|
|
83
|
+
private setupModels;
|
|
84
|
+
private getModelsMetadata;
|
|
85
|
+
private getModelMetadata;
|
|
86
|
+
private getModelDefinition;
|
|
87
|
+
static getNamespace(): SchemaNamespace;
|
|
88
|
+
}
|
|
89
|
+
export {};
|
package/lib/sync/index.js
CHANGED
|
@@ -1,82 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
39
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
40
|
-
if (!m) return o;
|
|
41
|
-
var i = m.call(o), r, ar = [], e;
|
|
42
|
-
try {
|
|
43
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
44
|
-
}
|
|
45
|
-
catch (error) { e = { error: error }; }
|
|
46
|
-
finally {
|
|
47
|
-
try {
|
|
48
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
49
|
-
}
|
|
50
|
-
finally { if (e) throw e.error; }
|
|
51
|
-
}
|
|
52
|
-
return ar;
|
|
53
|
-
};
|
|
54
|
-
var __values = (this && this.__values) || function(o) {
|
|
55
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
56
|
-
if (m) return m.call(o);
|
|
57
|
-
if (o && typeof o.length === "number") return {
|
|
58
|
-
next: function () {
|
|
59
|
-
if (o && i >= o.length) o = void 0;
|
|
60
|
-
return { value: o && o[i++], done: !o };
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
64
|
-
};
|
|
65
|
-
var __spread = (this && this.__spread) || function () {
|
|
66
|
-
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
67
|
-
return ar;
|
|
68
|
-
};
|
|
69
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
70
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
71
|
-
};
|
|
72
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
73
4
|
var core_1 = require("@aws-amplify/core");
|
|
74
5
|
var pubsub_1 = require("@aws-amplify/pubsub");
|
|
75
|
-
var zen_observable_ts_1 = __importDefault(require("zen-observable-ts"));
|
|
6
|
+
var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
|
|
76
7
|
var predicates_1 = require("../predicates");
|
|
77
8
|
var types_1 = require("../types");
|
|
78
9
|
var util_1 = require("../util");
|
|
79
|
-
var datastoreConnectivity_1 = __importDefault(require("./datastoreConnectivity"));
|
|
10
|
+
var datastoreConnectivity_1 = tslib_1.__importDefault(require("./datastoreConnectivity"));
|
|
80
11
|
var merger_1 = require("./merger");
|
|
81
12
|
var outbox_1 = require("./outbox");
|
|
82
13
|
var mutation_1 = require("./processors/mutation");
|
|
@@ -133,10 +64,10 @@ var SyncEngine = /** @class */ (function () {
|
|
|
133
64
|
return new zen_observable_ts_1.default(function (observer) {
|
|
134
65
|
logger.log('starting sync engine...');
|
|
135
66
|
var subscriptions = [];
|
|
136
|
-
_this.runningProcesses.add(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
67
|
+
_this.runningProcesses.add(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
137
68
|
var err_1, startPromise, hasMutationsInOutbox;
|
|
138
69
|
var _this = this;
|
|
139
|
-
return __generator(this, function (_a) {
|
|
70
|
+
return tslib_1.__generator(this, function (_a) {
|
|
140
71
|
switch (_a.label) {
|
|
141
72
|
case 0:
|
|
142
73
|
_a.trys.push([0, 2, , 3]);
|
|
@@ -152,15 +83,15 @@ var SyncEngine = /** @class */ (function () {
|
|
|
152
83
|
startPromise = new Promise(function (doneStarting, failedStarting) {
|
|
153
84
|
_this.datastoreConnectivity.status().subscribe(function (_a) {
|
|
154
85
|
var online = _a.online;
|
|
155
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
86
|
+
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
156
87
|
var _this = this;
|
|
157
|
-
return __generator(this, function (_b) {
|
|
88
|
+
return tslib_1.__generator(this, function (_b) {
|
|
158
89
|
return [2 /*return*/, this.runningProcesses.isOpen &&
|
|
159
|
-
this.runningProcesses.add(function (onTerminate) { return __awaiter(_this, void 0, void 0, function () {
|
|
90
|
+
this.runningProcesses.add(function (onTerminate) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
160
91
|
var ctlSubsObservable_1, dataSubsObservable, err_2, error_1;
|
|
161
92
|
var _a;
|
|
162
93
|
var _this = this;
|
|
163
|
-
return __generator(this, function (_b) {
|
|
94
|
+
return tslib_1.__generator(this, function (_b) {
|
|
164
95
|
switch (_b.label) {
|
|
165
96
|
case 0:
|
|
166
97
|
if (!(online && !this.online)) return [3 /*break*/, 10];
|
|
@@ -177,13 +108,7 @@ var SyncEngine = /** @class */ (function () {
|
|
|
177
108
|
return [3 /*break*/, 6];
|
|
178
109
|
case 1:
|
|
179
110
|
//#region GraphQL Subscriptions
|
|
180
|
-
_a = __read(this.subscriptionsProcessor.start(), 2),
|
|
181
|
-
// const ctlObservable: Observable<CONTROL_MSG>
|
|
182
|
-
ctlSubsObservable_1 = _a[0],
|
|
183
|
-
// const dataObservable: Observable<[TransformerMutationType, SchemaModel, Readonly<{
|
|
184
|
-
// id: string;
|
|
185
|
-
// } & Record<string, any>>]>
|
|
186
|
-
dataSubsObservable = _a[1];
|
|
111
|
+
_a = tslib_1.__read(this.subscriptionsProcessor.start(), 2), ctlSubsObservable_1 = _a[0], dataSubsObservable = _a[1];
|
|
187
112
|
_b.label = 2;
|
|
188
113
|
case 2:
|
|
189
114
|
_b.trys.push([2, 4, , 5]);
|
|
@@ -255,10 +180,10 @@ var SyncEngine = /** @class */ (function () {
|
|
|
255
180
|
.start()
|
|
256
181
|
.subscribe(function (_a) {
|
|
257
182
|
var modelDefinition = _a.modelDefinition, item = _a.model, hasMore = _a.hasMore;
|
|
258
|
-
return _this.runningProcesses.add(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
183
|
+
return _this.runningProcesses.add(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
259
184
|
var modelConstructor, model;
|
|
260
185
|
var _this = this;
|
|
261
|
-
return __generator(this, function (_a) {
|
|
186
|
+
return tslib_1.__generator(this, function (_a) {
|
|
262
187
|
switch (_a.label) {
|
|
263
188
|
case 0:
|
|
264
189
|
modelConstructor = this.userModelClasses[modelDefinition.name];
|
|
@@ -291,11 +216,11 @@ var SyncEngine = /** @class */ (function () {
|
|
|
291
216
|
// TODO: extract to function
|
|
292
217
|
if (!isNode) {
|
|
293
218
|
subscriptions.push(dataSubsObservable.subscribe(function (_a) {
|
|
294
|
-
var _b = __read(_a, 3), _transformerMutationType = _b[0], modelDefinition = _b[1], item = _b[2];
|
|
295
|
-
return _this.runningProcesses.add(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
219
|
+
var _b = tslib_1.__read(_a, 3), _transformerMutationType = _b[0], modelDefinition = _b[1], item = _b[2];
|
|
220
|
+
return _this.runningProcesses.add(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
296
221
|
var modelConstructor, model;
|
|
297
222
|
var _this = this;
|
|
298
|
-
return __generator(this, function (_a) {
|
|
223
|
+
return tslib_1.__generator(this, function (_a) {
|
|
299
224
|
switch (_a.label) {
|
|
300
225
|
case 0:
|
|
301
226
|
modelConstructor = this.userModelClasses[modelDefinition.name];
|
|
@@ -345,12 +270,12 @@ var SyncEngine = /** @class */ (function () {
|
|
|
345
270
|
.subscribe({
|
|
346
271
|
next: function (_a) {
|
|
347
272
|
var opType = _a.opType, model = _a.model, element = _a.element, condition = _a.condition;
|
|
348
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
273
|
+
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
349
274
|
var _this = this;
|
|
350
|
-
return __generator(this, function (_b) {
|
|
351
|
-
return [2 /*return*/, this.runningProcesses.add(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
275
|
+
return tslib_1.__generator(this, function (_b) {
|
|
276
|
+
return [2 /*return*/, this.runningProcesses.add(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
352
277
|
var namespace, MutationEventConstructor, modelDefinition, graphQLCondition, mutationEvent;
|
|
353
|
-
return __generator(this, function (_a) {
|
|
278
|
+
return tslib_1.__generator(this, function (_a) {
|
|
354
279
|
switch (_a.label) {
|
|
355
280
|
case 0:
|
|
356
281
|
namespace = this.schema.namespaces[this.namespaceResolver(model)];
|
|
@@ -413,10 +338,10 @@ var SyncEngine = /** @class */ (function () {
|
|
|
413
338
|
});
|
|
414
339
|
};
|
|
415
340
|
SyncEngine.prototype.getModelsMetadataWithNextFullSync = function (currentTimeStamp) {
|
|
416
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
341
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
417
342
|
var modelLastSync, _a;
|
|
418
343
|
var _this = this;
|
|
419
|
-
return __generator(this, function (_b) {
|
|
344
|
+
return tslib_1.__generator(this, function (_b) {
|
|
420
345
|
switch (_b.label) {
|
|
421
346
|
case 0:
|
|
422
347
|
_a = Map.bind;
|
|
@@ -446,16 +371,16 @@ var SyncEngine = /** @class */ (function () {
|
|
|
446
371
|
return new zen_observable_ts_1.default(function (observer) {
|
|
447
372
|
var syncQueriesSubscription;
|
|
448
373
|
_this.runningProcesses.isOpen &&
|
|
449
|
-
_this.runningProcesses.add(function (onTerminate) { return __awaiter(_this, void 0, void 0, function () {
|
|
374
|
+
_this.runningProcesses.add(function (onTerminate) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
450
375
|
var terminated, _loop_1, this_1;
|
|
451
376
|
var _this = this;
|
|
452
|
-
return __generator(this, function (_a) {
|
|
377
|
+
return tslib_1.__generator(this, function (_a) {
|
|
453
378
|
switch (_a.label) {
|
|
454
379
|
case 0:
|
|
455
380
|
terminated = false;
|
|
456
381
|
_loop_1 = function () {
|
|
457
382
|
var count, modelLastSync, paginatingModels, newestFullSyncStartedAt, theInterval, start, duration, newestStartedAt, msNextFullSync;
|
|
458
|
-
return __generator(this, function (_a) {
|
|
383
|
+
return tslib_1.__generator(this, function (_a) {
|
|
459
384
|
switch (_a.label) {
|
|
460
385
|
case 0:
|
|
461
386
|
count = new WeakMap();
|
|
@@ -472,10 +397,10 @@ var SyncEngine = /** @class */ (function () {
|
|
|
472
397
|
.subscribe({
|
|
473
398
|
next: function (_a) {
|
|
474
399
|
var namespace = _a.namespace, modelDefinition = _a.modelDefinition, items = _a.items, done = _a.done, startedAt = _a.startedAt, isFullSync = _a.isFullSync;
|
|
475
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
400
|
+
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
476
401
|
var modelConstructor, modelName, modelMetadata_1, lastFullSync, fullSyncInterval, counts;
|
|
477
402
|
var _this = this;
|
|
478
|
-
return __generator(this, function (_b) {
|
|
403
|
+
return tslib_1.__generator(this, function (_b) {
|
|
479
404
|
switch (_b.label) {
|
|
480
405
|
case 0:
|
|
481
406
|
modelConstructor = this.userModelClasses[modelDefinition.name];
|
|
@@ -495,10 +420,10 @@ var SyncEngine = /** @class */ (function () {
|
|
|
495
420
|
* If there are mutations in the outbox for a given id, those need to be
|
|
496
421
|
* merged individually. Otherwise, we can merge them in batches.
|
|
497
422
|
*/
|
|
498
|
-
return [4 /*yield*/, this.storage.runExclusive(function (storage) { return __awaiter(_this, void 0, void 0, function () {
|
|
423
|
+
return [4 /*yield*/, this.storage.runExclusive(function (storage) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
499
424
|
var idsInOutbox, oneByOne, page, opTypeCount, oneByOne_1, oneByOne_1_1, item, opType, e_1_1, _a, _b, _c, counts;
|
|
500
425
|
var e_1, _d;
|
|
501
|
-
return __generator(this, function (_e) {
|
|
426
|
+
return tslib_1.__generator(this, function (_e) {
|
|
502
427
|
switch (_e.label) {
|
|
503
428
|
case 0: return [4 /*yield*/, this.outbox.getModelIds(storage)];
|
|
504
429
|
case 1:
|
|
@@ -516,7 +441,7 @@ var SyncEngine = /** @class */ (function () {
|
|
|
516
441
|
_e.label = 2;
|
|
517
442
|
case 2:
|
|
518
443
|
_e.trys.push([2, 7, 8, 9]);
|
|
519
|
-
oneByOne_1 = __values(oneByOne), oneByOne_1_1 = oneByOne_1.next();
|
|
444
|
+
oneByOne_1 = tslib_1.__values(oneByOne), oneByOne_1_1 = oneByOne_1.next();
|
|
520
445
|
_e.label = 3;
|
|
521
446
|
case 3:
|
|
522
447
|
if (!!oneByOne_1_1.done) return [3 /*break*/, 6];
|
|
@@ -547,10 +472,10 @@ var SyncEngine = /** @class */ (function () {
|
|
|
547
472
|
_c = [opTypeCount];
|
|
548
473
|
return [4 /*yield*/, this.modelMerger.mergePage(storage, modelConstructor, page, modelDefinition)];
|
|
549
474
|
case 10:
|
|
550
|
-
_b.apply(_a, _c.concat([__spread.apply(void 0, [(_e.sent())])]));
|
|
475
|
+
_b.apply(_a, _c.concat([tslib_1.__spread.apply(void 0, [(_e.sent())])]));
|
|
551
476
|
counts = count.get(modelConstructor);
|
|
552
477
|
opTypeCount.forEach(function (_a) {
|
|
553
|
-
var _b = __read(_a, 2), opType = _b[1];
|
|
478
|
+
var _b = tslib_1.__read(_a, 2), opType = _b[1];
|
|
554
479
|
switch (opType) {
|
|
555
480
|
case types_1.OpType.INSERT:
|
|
556
481
|
counts.new++;
|
|
@@ -562,7 +487,7 @@ var SyncEngine = /** @class */ (function () {
|
|
|
562
487
|
counts.deleted++;
|
|
563
488
|
break;
|
|
564
489
|
default:
|
|
565
|
-
|
|
490
|
+
throw new Error("Invalid opType " + opType);
|
|
566
491
|
}
|
|
567
492
|
});
|
|
568
493
|
return [2 /*return*/];
|
|
@@ -655,9 +580,9 @@ var SyncEngine = /** @class */ (function () {
|
|
|
655
580
|
// TLDR; this is a lot of complexity here for a sleep(),
|
|
656
581
|
// but, it's not clear to me yet how to support an
|
|
657
582
|
// extensible, centralized cancelable `sleep()` elegantly.
|
|
658
|
-
return [4 /*yield*/, this_1.runningProcesses.add(function (onTerminate) { return __awaiter(_this, void 0, void 0, function () {
|
|
583
|
+
return [4 /*yield*/, this_1.runningProcesses.add(function (onTerminate) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
659
584
|
var sleepTimer, unsleep, sleep;
|
|
660
|
-
return __generator(this, function (_a) {
|
|
585
|
+
return tslib_1.__generator(this, function (_a) {
|
|
661
586
|
sleep = new Promise(function (_unsleep) {
|
|
662
587
|
unsleep = _unsleep;
|
|
663
588
|
sleepTimer = setTimeout(unsleep, msNextFullSync);
|
|
@@ -720,8 +645,8 @@ var SyncEngine = /** @class */ (function () {
|
|
|
720
645
|
* that they're disconnected, done retrying, etc..
|
|
721
646
|
*/
|
|
722
647
|
SyncEngine.prototype.stop = function () {
|
|
723
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
724
|
-
return __generator(this, function (_a) {
|
|
648
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
649
|
+
return tslib_1.__generator(this, function (_a) {
|
|
725
650
|
switch (_a.label) {
|
|
726
651
|
case 0:
|
|
727
652
|
logger.debug('stopping sync engine');
|
|
@@ -767,11 +692,11 @@ var SyncEngine = /** @class */ (function () {
|
|
|
767
692
|
});
|
|
768
693
|
};
|
|
769
694
|
SyncEngine.prototype.setupModels = function (params) {
|
|
770
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
695
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
771
696
|
var fullSyncInterval, ModelMetadataConstructor, models, savedModel, promises, result, _a, _b, modelMetadata, modelName, e_2_1;
|
|
772
697
|
var e_2, _c;
|
|
773
698
|
var _this = this;
|
|
774
|
-
return __generator(this, function (_d) {
|
|
699
|
+
return tslib_1.__generator(this, function (_d) {
|
|
775
700
|
switch (_d.label) {
|
|
776
701
|
case 0:
|
|
777
702
|
fullSyncInterval = params.fullSyncInterval;
|
|
@@ -793,11 +718,11 @@ var SyncEngine = /** @class */ (function () {
|
|
|
793
718
|
});
|
|
794
719
|
});
|
|
795
720
|
promises = models.map(function (_a) {
|
|
796
|
-
var _b = __read(_a, 2), namespace = _b[0], model = _b[1];
|
|
797
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
721
|
+
var _b = tslib_1.__read(_a, 2), namespace = _b[0], model = _b[1];
|
|
722
|
+
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
798
723
|
var modelMetadata, syncPredicate, lastSyncPredicate, prevSyncPredicate, syncPredicateUpdated_1;
|
|
799
724
|
var _c, _d, _e, _f;
|
|
800
|
-
return __generator(this, function (_g) {
|
|
725
|
+
return tslib_1.__generator(this, function (_g) {
|
|
801
726
|
switch (_g.label) {
|
|
802
727
|
case 0: return [4 /*yield*/, this.getModelMetadata(namespace, model.name)];
|
|
803
728
|
case 1:
|
|
@@ -816,7 +741,7 @@ var SyncEngine = /** @class */ (function () {
|
|
|
816
741
|
lastSyncPredicate: lastSyncPredicate,
|
|
817
742
|
}), undefined, ownSymbol)];
|
|
818
743
|
case 2:
|
|
819
|
-
_c = __read.apply(void 0, [_g.sent(), 1]), _d = __read(_c[0], 1), savedModel = _d[0];
|
|
744
|
+
_c = tslib_1.__read.apply(void 0, [_g.sent(), 1]), _d = tslib_1.__read(_c[0], 1), savedModel = _d[0];
|
|
820
745
|
return [3 /*break*/, 5];
|
|
821
746
|
case 3:
|
|
822
747
|
prevSyncPredicate = modelMetadata.lastSyncPredicate
|
|
@@ -834,7 +759,7 @@ var SyncEngine = /** @class */ (function () {
|
|
|
834
759
|
}
|
|
835
760
|
}))];
|
|
836
761
|
case 4:
|
|
837
|
-
_e = __read.apply(void 0, [_g.sent(), 1]), _f = __read(_e[0], 1), savedModel = _f[0];
|
|
762
|
+
_e = tslib_1.__read.apply(void 0, [_g.sent(), 1]), _f = tslib_1.__read(_e[0], 1), savedModel = _f[0];
|
|
838
763
|
_g.label = 5;
|
|
839
764
|
case 5: return [2 /*return*/, savedModel];
|
|
840
765
|
}
|
|
@@ -847,7 +772,7 @@ var SyncEngine = /** @class */ (function () {
|
|
|
847
772
|
_d.trys.push([1, 6, 7, 8]);
|
|
848
773
|
return [4 /*yield*/, Promise.all(promises)];
|
|
849
774
|
case 2:
|
|
850
|
-
_a = __values.apply(void 0, [_d.sent()]), _b = _a.next();
|
|
775
|
+
_a = tslib_1.__values.apply(void 0, [_d.sent()]), _b = _a.next();
|
|
851
776
|
_d.label = 3;
|
|
852
777
|
case 3:
|
|
853
778
|
if (!!_b.done) return [3 /*break*/, 5];
|
|
@@ -875,9 +800,9 @@ var SyncEngine = /** @class */ (function () {
|
|
|
875
800
|
});
|
|
876
801
|
};
|
|
877
802
|
SyncEngine.prototype.getModelsMetadata = function () {
|
|
878
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
803
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
879
804
|
var ModelMetadata, modelsMetadata;
|
|
880
|
-
return __generator(this, function (_a) {
|
|
805
|
+
return tslib_1.__generator(this, function (_a) {
|
|
881
806
|
switch (_a.label) {
|
|
882
807
|
case 0:
|
|
883
808
|
ModelMetadata = this.modelClasses
|
|
@@ -891,9 +816,9 @@ var SyncEngine = /** @class */ (function () {
|
|
|
891
816
|
});
|
|
892
817
|
};
|
|
893
818
|
SyncEngine.prototype.getModelMetadata = function (namespace, model) {
|
|
894
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
819
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
895
820
|
var ModelMetadata, predicate, _a, modelMetadata;
|
|
896
|
-
return __generator(this, function (_b) {
|
|
821
|
+
return tslib_1.__generator(this, function (_b) {
|
|
897
822
|
switch (_b.label) {
|
|
898
823
|
case 0:
|
|
899
824
|
ModelMetadata = this.modelClasses
|
|
@@ -904,7 +829,7 @@ var SyncEngine = /** @class */ (function () {
|
|
|
904
829
|
limit: 1,
|
|
905
830
|
})];
|
|
906
831
|
case 1:
|
|
907
|
-
_a = __read.apply(void 0, [_b.sent(), 1]), modelMetadata = _a[0];
|
|
832
|
+
_a = tslib_1.__read.apply(void 0, [_b.sent(), 1]), modelMetadata = _a[0];
|
|
908
833
|
return [2 /*return*/, modelMetadata];
|
|
909
834
|
}
|
|
910
835
|
});
|