@aws-amplify/datastore 3.12.6-next.32 → 3.12.6-next.41
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/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.map +1 -1
- package/lib/datastore/datastore.d.ts +207 -0
- package/lib/datastore/datastore.js +641 -144
- package/lib/datastore/datastore.js.map +1 -1
- package/lib/index.d.ts +16 -0
- package/lib/index.js +4 -0
- 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 +342 -0
- package/lib/predicates/next.js +801 -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 +106 -293
- package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageDatabase.d.ts +39 -0
- package/lib/storage/adapter/AsyncStorageDatabase.js +6 -5
- package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.d.ts +11 -0
- package/lib/storage/adapter/InMemoryStore.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.native.d.ts +1 -0
- package/lib/storage/adapter/IndexedDBAdapter.d.ts +61 -0
- package/lib/storage/adapter/IndexedDBAdapter.js +223 -289
- 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.map +1 -1
- package/lib/storage/adapter/getDefaultAdapter/index.native.d.ts +3 -0
- 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 +32 -16
- package/lib/storage/storage.js.map +1 -1
- package/lib/sync/datastoreConnectivity.d.ts +16 -0
- 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/index.d.ts +89 -0
- package/lib/sync/index.js +2 -8
- package/lib/sync/index.js.map +1 -1
- package/lib/sync/merger.d.ts +17 -0
- package/lib/sync/merger.js.map +1 -1
- package/lib/sync/outbox.d.ts +27 -0
- package/lib/sync/outbox.js.map +1 -1
- package/lib/sync/processors/errorMaps.d.ts +17 -0
- package/lib/sync/processors/errorMaps.js +1 -1
- package/lib/sync/processors/errorMaps.js.map +1 -1
- package/lib/sync/processors/mutation.d.ts +58 -0
- package/lib/sync/processors/mutation.js +9 -6
- package/lib/sync/processors/mutation.js.map +1 -1
- package/lib/sync/processors/subscription.d.ts +33 -0
- package/lib/sync/processors/subscription.js +4 -1
- package/lib/sync/processors/subscription.js.map +1 -1
- package/lib/sync/processors/sync.d.ts +28 -0
- package/lib/sync/processors/sync.js.map +1 -1
- package/lib/sync/utils.d.ts +42 -0
- package/lib/sync/utils.js +30 -31
- package/lib/sync/utils.js.map +1 -1
- package/lib/types.d.ts +553 -0
- package/lib/types.js +6 -1
- package/lib/types.js.map +1 -1
- package/lib/util.d.ts +189 -0
- package/lib/util.js +174 -104
- package/lib/util.js.map +1 -1
- package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
- package/lib-esm/datastore/datastore.d.ts +59 -8
- package/lib-esm/datastore/datastore.js +643 -147
- 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 +342 -0
- package/lib-esm/predicates/next.js +797 -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 +108 -295
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js +6 -5
- 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.map +1 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +4 -2
- package/lib-esm/storage/adapter/IndexedDBAdapter.js +226 -292
- 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 +32 -16
- package/lib-esm/storage/storage.js.map +1 -1
- package/lib-esm/sync/datastoreConnectivity.js.map +1 -1
- package/lib-esm/sync/index.js +3 -9
- package/lib-esm/sync/index.js.map +1 -1
- package/lib-esm/sync/merger.js.map +1 -1
- package/lib-esm/sync/outbox.js.map +1 -1
- package/lib-esm/sync/processors/errorMaps.js +1 -1
- package/lib-esm/sync/processors/errorMaps.js.map +1 -1
- package/lib-esm/sync/processors/mutation.js +10 -7
- package/lib-esm/sync/processors/mutation.js.map +1 -1
- package/lib-esm/sync/processors/subscription.js +4 -1
- package/lib-esm/sync/processors/subscription.js.map +1 -1
- 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 +31 -32
- package/lib-esm/sync/utils.js.map +1 -1
- package/lib-esm/types.d.ts +59 -7
- package/lib-esm/types.js +6 -2
- package/lib-esm/types.js.map +1 -1
- package/lib-esm/util.d.ts +39 -6
- package/lib-esm/util.js +170 -104
- package/lib-esm/util.js.map +1 -1
- package/package.json +14 -11
- package/src/authModeStrategies/multiAuthStrategy.ts +1 -1
- package/src/datastore/datastore.ts +680 -204
- package/src/index.ts +4 -0
- package/src/predicates/index.ts +143 -17
- package/src/predicates/next.ts +1016 -0
- package/src/predicates/sort.ts +8 -2
- package/src/storage/adapter/AsyncStorageAdapter.ts +56 -178
- package/src/storage/adapter/AsyncStorageDatabase.ts +16 -15
- package/src/storage/adapter/InMemoryStore.ts +5 -2
- package/src/storage/adapter/IndexedDBAdapter.ts +166 -191
- 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 +22 -17
- package/src/sync/processors/subscription.ts +19 -15
- package/src/sync/processors/sync.ts +16 -16
- package/src/sync/utils.ts +42 -48
- package/src/types.ts +116 -11
- package/src/util.ts +108 -150
|
@@ -72,10 +72,10 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
72
72
|
AsyncStorageAdapter.prototype.save = function (model, condition) {
|
|
73
73
|
var e_1, _a;
|
|
74
74
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
75
|
-
var modelConstructor, storeName, namespaceName, connectedModels, set, connectionStoreNames, keyValuesPath, fromDB, predicates, predicateObjs, type, isValid, msg, result, connectionStoreNames_1, connectionStoreNames_1_1, resItem, storeName_1, item, instance, keys, itemKeyValues, itemKeyValuesPath, fromDB_1, opType, modelKeyValues, e_1_1;
|
|
75
|
+
var modelConstructor, storeName, namespaceName, connectedModels, set, connectionStoreNames, keyValuesPath, fromDB, predicates, _b, predicateObjs, type, isValid, msg, result, connectionStoreNames_1, connectionStoreNames_1_1, resItem, storeName_1, item, instance, keys, itemKeyValues, itemKeyValuesPath, fromDB_1, opType, modelKeyValues, e_1_1;
|
|
76
76
|
var _this = this;
|
|
77
|
-
return tslib_1.__generator(this, function (
|
|
78
|
-
switch (
|
|
77
|
+
return tslib_1.__generator(this, function (_c) {
|
|
78
|
+
switch (_c.label) {
|
|
79
79
|
case 0:
|
|
80
80
|
modelConstructor = Object.getPrototypeOf(model)
|
|
81
81
|
.constructor;
|
|
@@ -93,10 +93,10 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
93
93
|
keyValuesPath = this.getIndexKeyValuesPath(model);
|
|
94
94
|
return [4 /*yield*/, this.db.get(keyValuesPath, storeName)];
|
|
95
95
|
case 1:
|
|
96
|
-
fromDB =
|
|
96
|
+
fromDB = _c.sent();
|
|
97
97
|
if (condition && fromDB) {
|
|
98
98
|
predicates = predicates_1.ModelPredicateCreator.getPredicates(condition);
|
|
99
|
-
predicateObjs =
|
|
99
|
+
_b = predicates, predicateObjs = _b.predicates, type = _b.type;
|
|
100
100
|
isValid = util_1.validatePredicate(fromDB, type, predicateObjs);
|
|
101
101
|
if (!isValid) {
|
|
102
102
|
msg = 'Conditional update failed';
|
|
@@ -105,43 +105,43 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
result = [];
|
|
108
|
-
|
|
108
|
+
_c.label = 2;
|
|
109
109
|
case 2:
|
|
110
|
-
|
|
110
|
+
_c.trys.push([2, 9, 10, 15]);
|
|
111
111
|
connectionStoreNames_1 = tslib_1.__asyncValues(connectionStoreNames);
|
|
112
|
-
|
|
112
|
+
_c.label = 3;
|
|
113
113
|
case 3: return [4 /*yield*/, connectionStoreNames_1.next()];
|
|
114
114
|
case 4:
|
|
115
|
-
if (!(connectionStoreNames_1_1 =
|
|
115
|
+
if (!(connectionStoreNames_1_1 = _c.sent(), !connectionStoreNames_1_1.done)) return [3 /*break*/, 8];
|
|
116
116
|
resItem = connectionStoreNames_1_1.value;
|
|
117
117
|
storeName_1 = resItem.storeName, item = resItem.item, instance = resItem.instance, keys = resItem.keys;
|
|
118
118
|
itemKeyValues = keys.map(function (key) { return item[key]; });
|
|
119
119
|
itemKeyValuesPath = itemKeyValues.join(util_1.DEFAULT_PRIMARY_KEY_VALUE_SEPARATOR);
|
|
120
120
|
return [4 /*yield*/, this.db.get(itemKeyValuesPath, storeName_1)];
|
|
121
121
|
case 5:
|
|
122
|
-
fromDB_1 =
|
|
122
|
+
fromDB_1 = _c.sent();
|
|
123
123
|
opType = fromDB_1 ? types_1.OpType.UPDATE : types_1.OpType.INSERT;
|
|
124
124
|
modelKeyValues = this.getIndexKeyValuesFromModel(model);
|
|
125
125
|
if (!(util_1.keysEqual(itemKeyValues, modelKeyValues) ||
|
|
126
126
|
opType === types_1.OpType.INSERT)) return [3 /*break*/, 7];
|
|
127
127
|
return [4 /*yield*/, this.db.save(item, storeName_1, keys, itemKeyValuesPath)];
|
|
128
128
|
case 6:
|
|
129
|
-
|
|
129
|
+
_c.sent();
|
|
130
130
|
result.push([instance, opType]);
|
|
131
|
-
|
|
131
|
+
_c.label = 7;
|
|
132
132
|
case 7: return [3 /*break*/, 3];
|
|
133
133
|
case 8: return [3 /*break*/, 15];
|
|
134
134
|
case 9:
|
|
135
|
-
e_1_1 =
|
|
135
|
+
e_1_1 = _c.sent();
|
|
136
136
|
e_1 = { error: e_1_1 };
|
|
137
137
|
return [3 /*break*/, 15];
|
|
138
138
|
case 10:
|
|
139
|
-
|
|
139
|
+
_c.trys.push([10, , 13, 14]);
|
|
140
140
|
if (!(connectionStoreNames_1_1 && !connectionStoreNames_1_1.done && (_a = connectionStoreNames_1.return))) return [3 /*break*/, 12];
|
|
141
141
|
return [4 /*yield*/, _a.call(connectionStoreNames_1)];
|
|
142
142
|
case 11:
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
_c.sent();
|
|
144
|
+
_c.label = 12;
|
|
145
145
|
case 12: return [3 /*break*/, 14];
|
|
146
146
|
case 13:
|
|
147
147
|
if (e_1) throw e_1.error;
|
|
@@ -153,196 +153,25 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
153
153
|
});
|
|
154
154
|
};
|
|
155
155
|
AsyncStorageAdapter.prototype.load = function (namespaceName, srcModelName, records) {
|
|
156
|
-
var records_1, records_1_1, records_2, records_2_1;
|
|
157
|
-
var e_2, _a, e_3, _b, e_4, _c;
|
|
158
156
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
159
|
-
var namespace, relations, connectionStoreNames, modelConstructor
|
|
157
|
+
var namespace, relations, connectionStoreNames, modelConstructor;
|
|
160
158
|
var _this = this;
|
|
161
|
-
return tslib_1.__generator(this, function (
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if (connectionStoreNames.length === 0) {
|
|
172
|
-
return [2 /*return*/, records.map(function (record) {
|
|
173
|
-
return _this.modelInstanceCreator(modelConstructor, record);
|
|
174
|
-
})];
|
|
175
|
-
}
|
|
176
|
-
_e.label = 1;
|
|
177
|
-
case 1:
|
|
178
|
-
_e.trys.push([1, 38, 39, 44]);
|
|
179
|
-
relations_1 = tslib_1.__asyncValues(relations);
|
|
180
|
-
_e.label = 2;
|
|
181
|
-
case 2: return [4 /*yield*/, relations_1.next()];
|
|
182
|
-
case 3:
|
|
183
|
-
if (!(relations_1_1 = _e.sent(), !relations_1_1.done)) return [3 /*break*/, 37];
|
|
184
|
-
relation = relations_1_1.value;
|
|
185
|
-
fieldName = relation.fieldName, modelName = relation.modelName, targetName = relation.targetName, targetNames = relation.targetNames, relationType = relation.relationType;
|
|
186
|
-
storeName = util_1.getStorename(namespaceName, modelName);
|
|
187
|
-
modelConstructor_1 = this.getModelConstructorByModelName(namespaceName, modelName);
|
|
188
|
-
_d = relationType;
|
|
189
|
-
switch (_d) {
|
|
190
|
-
case 'HAS_ONE': return [3 /*break*/, 4];
|
|
191
|
-
case 'BELONGS_TO': return [3 /*break*/, 19];
|
|
192
|
-
case 'HAS_MANY': return [3 /*break*/, 34];
|
|
193
|
-
}
|
|
194
|
-
return [3 /*break*/, 35];
|
|
195
|
-
case 4:
|
|
196
|
-
_e.trys.push([4, 12, 13, 18]);
|
|
197
|
-
records_1 = tslib_1.__asyncValues(records);
|
|
198
|
-
_e.label = 5;
|
|
199
|
-
case 5: return [4 /*yield*/, records_1.next()];
|
|
200
|
-
case 6:
|
|
201
|
-
if (!(records_1_1 = _e.sent(), !records_1_1.done)) return [3 /*break*/, 11];
|
|
202
|
-
recordItem = records_1_1.value;
|
|
203
|
-
if (!(targetNames === null || targetNames === void 0 ? void 0 : targetNames.length)) return [3 /*break*/, 8];
|
|
204
|
-
getByFields = [];
|
|
205
|
-
allPresent = void 0;
|
|
206
|
-
// iterate through all targetnames to make sure they are all present in the recordItem
|
|
207
|
-
allPresent = targetNames.every(function (targetName) {
|
|
208
|
-
return recordItem[targetName] != null;
|
|
209
|
-
});
|
|
210
|
-
if (!allPresent) {
|
|
211
|
-
return [3 /*break*/, 11];
|
|
212
|
-
}
|
|
213
|
-
getByFields = targetNames;
|
|
214
|
-
keys = getByFields
|
|
215
|
-
.map(function (getByField) { return recordItem[getByField]; })
|
|
216
|
-
.join(util_1.DEFAULT_PRIMARY_KEY_VALUE_SEPARATOR);
|
|
217
|
-
return [4 /*yield*/, this.db.get(keys, storeName)];
|
|
218
|
-
case 7:
|
|
219
|
-
connectionRecord = _e.sent();
|
|
220
|
-
recordItem[fieldName] =
|
|
221
|
-
connectionRecord &&
|
|
222
|
-
this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
223
|
-
return [3 /*break*/, 10];
|
|
224
|
-
case 8:
|
|
225
|
-
getByfield = recordItem[targetName]
|
|
226
|
-
? targetName
|
|
227
|
-
: fieldName;
|
|
228
|
-
if (!recordItem[getByfield])
|
|
229
|
-
return [3 /*break*/, 11];
|
|
230
|
-
key = recordItem[getByfield];
|
|
231
|
-
return [4 /*yield*/, this.db.get(key, storeName)];
|
|
232
|
-
case 9:
|
|
233
|
-
connectionRecord = _e.sent();
|
|
234
|
-
recordItem[fieldName] =
|
|
235
|
-
connectionRecord &&
|
|
236
|
-
this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
237
|
-
_e.label = 10;
|
|
238
|
-
case 10: return [3 /*break*/, 5];
|
|
239
|
-
case 11: return [3 /*break*/, 18];
|
|
240
|
-
case 12:
|
|
241
|
-
e_3_1 = _e.sent();
|
|
242
|
-
e_3 = { error: e_3_1 };
|
|
243
|
-
return [3 /*break*/, 18];
|
|
244
|
-
case 13:
|
|
245
|
-
_e.trys.push([13, , 16, 17]);
|
|
246
|
-
if (!(records_1_1 && !records_1_1.done && (_b = records_1.return))) return [3 /*break*/, 15];
|
|
247
|
-
return [4 /*yield*/, _b.call(records_1)];
|
|
248
|
-
case 14:
|
|
249
|
-
_e.sent();
|
|
250
|
-
_e.label = 15;
|
|
251
|
-
case 15: return [3 /*break*/, 17];
|
|
252
|
-
case 16:
|
|
253
|
-
if (e_3) throw e_3.error;
|
|
254
|
-
return [7 /*endfinally*/];
|
|
255
|
-
case 17: return [7 /*endfinally*/];
|
|
256
|
-
case 18: return [3 /*break*/, 36];
|
|
257
|
-
case 19:
|
|
258
|
-
_e.trys.push([19, 27, 28, 33]);
|
|
259
|
-
records_2 = tslib_1.__asyncValues(records);
|
|
260
|
-
_e.label = 20;
|
|
261
|
-
case 20: return [4 /*yield*/, records_2.next()];
|
|
262
|
-
case 21:
|
|
263
|
-
if (!(records_2_1 = _e.sent(), !records_2_1.done)) return [3 /*break*/, 26];
|
|
264
|
-
recordItem = records_2_1.value;
|
|
265
|
-
if (!(targetNames === null || targetNames === void 0 ? void 0 : targetNames.length)) return [3 /*break*/, 23];
|
|
266
|
-
allPresent = void 0;
|
|
267
|
-
// iterate through all targetnames to make sure they are all present in the recordItem
|
|
268
|
-
allPresent = targetNames.every(function (targetName) {
|
|
269
|
-
return recordItem[targetName] != null;
|
|
270
|
-
});
|
|
271
|
-
// If not present, there is not yet a connected record
|
|
272
|
-
if (!allPresent) {
|
|
273
|
-
return [3 /*break*/, 26];
|
|
274
|
-
}
|
|
275
|
-
keys = targetNames
|
|
276
|
-
.map(function (targetName) { return recordItem[targetName]; })
|
|
277
|
-
.join(util_1.DEFAULT_PRIMARY_KEY_VALUE_SEPARATOR);
|
|
278
|
-
return [4 /*yield*/, this.db.get(keys, storeName)];
|
|
279
|
-
case 22:
|
|
280
|
-
connectionRecord = _e.sent();
|
|
281
|
-
recordItem[fieldName] =
|
|
282
|
-
connectionRecord &&
|
|
283
|
-
this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
284
|
-
targetNames === null || targetNames === void 0 ? void 0 : targetNames.map(function (targetName) {
|
|
285
|
-
delete recordItem[targetName];
|
|
286
|
-
});
|
|
287
|
-
return [3 /*break*/, 25];
|
|
288
|
-
case 23:
|
|
289
|
-
if (!recordItem[targetName]) return [3 /*break*/, 25];
|
|
290
|
-
key = recordItem[targetName];
|
|
291
|
-
return [4 /*yield*/, this.db.get(key, storeName)];
|
|
292
|
-
case 24:
|
|
293
|
-
connectionRecord = _e.sent();
|
|
294
|
-
recordItem[fieldName] =
|
|
295
|
-
connectionRecord &&
|
|
296
|
-
this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
297
|
-
delete recordItem[targetName];
|
|
298
|
-
_e.label = 25;
|
|
299
|
-
case 25: return [3 /*break*/, 20];
|
|
300
|
-
case 26: return [3 /*break*/, 33];
|
|
301
|
-
case 27:
|
|
302
|
-
e_4_1 = _e.sent();
|
|
303
|
-
e_4 = { error: e_4_1 };
|
|
304
|
-
return [3 /*break*/, 33];
|
|
305
|
-
case 28:
|
|
306
|
-
_e.trys.push([28, , 31, 32]);
|
|
307
|
-
if (!(records_2_1 && !records_2_1.done && (_c = records_2.return))) return [3 /*break*/, 30];
|
|
308
|
-
return [4 /*yield*/, _c.call(records_2)];
|
|
309
|
-
case 29:
|
|
310
|
-
_e.sent();
|
|
311
|
-
_e.label = 30;
|
|
312
|
-
case 30: return [3 /*break*/, 32];
|
|
313
|
-
case 31:
|
|
314
|
-
if (e_4) throw e_4.error;
|
|
315
|
-
return [7 /*endfinally*/];
|
|
316
|
-
case 32: return [7 /*endfinally*/];
|
|
317
|
-
case 33: return [3 /*break*/, 36];
|
|
318
|
-
case 34:
|
|
319
|
-
// TODO: Lazy loading
|
|
320
|
-
return [3 /*break*/, 36];
|
|
321
|
-
case 35:
|
|
322
|
-
util_1.exhaustiveCheck(relationType);
|
|
323
|
-
return [3 /*break*/, 36];
|
|
324
|
-
case 36: return [3 /*break*/, 2];
|
|
325
|
-
case 37: return [3 /*break*/, 44];
|
|
326
|
-
case 38:
|
|
327
|
-
e_2_1 = _e.sent();
|
|
328
|
-
e_2 = { error: e_2_1 };
|
|
329
|
-
return [3 /*break*/, 44];
|
|
330
|
-
case 39:
|
|
331
|
-
_e.trys.push([39, , 42, 43]);
|
|
332
|
-
if (!(relations_1_1 && !relations_1_1.done && (_a = relations_1.return))) return [3 /*break*/, 41];
|
|
333
|
-
return [4 /*yield*/, _a.call(relations_1)];
|
|
334
|
-
case 40:
|
|
335
|
-
_e.sent();
|
|
336
|
-
_e.label = 41;
|
|
337
|
-
case 41: return [3 /*break*/, 43];
|
|
338
|
-
case 42:
|
|
339
|
-
if (e_2) throw e_2.error;
|
|
340
|
-
return [7 /*endfinally*/];
|
|
341
|
-
case 43: return [7 /*endfinally*/];
|
|
342
|
-
case 44: return [2 /*return*/, records.map(function (record) {
|
|
159
|
+
return tslib_1.__generator(this, function (_a) {
|
|
160
|
+
namespace = this.schema.namespaces[namespaceName];
|
|
161
|
+
relations = namespace.relationships[srcModelName].relationTypes;
|
|
162
|
+
connectionStoreNames = relations.map(function (_a) {
|
|
163
|
+
var modelName = _a.modelName;
|
|
164
|
+
return util_1.getStorename(namespaceName, modelName);
|
|
165
|
+
});
|
|
166
|
+
modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);
|
|
167
|
+
if (connectionStoreNames.length === 0) {
|
|
168
|
+
return [2 /*return*/, records.map(function (record) {
|
|
343
169
|
return _this.modelInstanceCreator(modelConstructor, record);
|
|
344
170
|
})];
|
|
345
171
|
}
|
|
172
|
+
return [2 /*return*/, records.map(function (record) {
|
|
173
|
+
return _this.modelInstanceCreator(modelConstructor, record);
|
|
174
|
+
})];
|
|
346
175
|
});
|
|
347
176
|
});
|
|
348
177
|
};
|
|
@@ -387,7 +216,7 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
387
216
|
});
|
|
388
217
|
}); })()];
|
|
389
218
|
case 1:
|
|
390
|
-
records = _a.sent();
|
|
219
|
+
records = (_a.sent());
|
|
391
220
|
return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, records)];
|
|
392
221
|
case 2: return [2 /*return*/, _a.sent()];
|
|
393
222
|
}
|
|
@@ -418,7 +247,7 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
418
247
|
});
|
|
419
248
|
};
|
|
420
249
|
AsyncStorageAdapter.prototype.keyValueFromPredicate = function (predicates, keys) {
|
|
421
|
-
var
|
|
250
|
+
var e_2, _a;
|
|
422
251
|
var predicateObjs = predicates.predicates;
|
|
423
252
|
if (predicateObjs.length !== keys.length) {
|
|
424
253
|
return;
|
|
@@ -434,12 +263,12 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
434
263
|
_loop_1(key);
|
|
435
264
|
}
|
|
436
265
|
}
|
|
437
|
-
catch (
|
|
266
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
438
267
|
finally {
|
|
439
268
|
try {
|
|
440
269
|
if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
|
|
441
270
|
}
|
|
442
|
-
finally { if (
|
|
271
|
+
finally { if (e_2) throw e_2.error; }
|
|
443
272
|
}
|
|
444
273
|
return keyValues.length === keys.length
|
|
445
274
|
? keyValues.join(util_1.DEFAULT_PRIMARY_KEY_VALUE_SEPARATOR)
|
|
@@ -464,20 +293,7 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
464
293
|
});
|
|
465
294
|
};
|
|
466
295
|
AsyncStorageAdapter.prototype.inMemoryPagination = function (records, pagination) {
|
|
467
|
-
|
|
468
|
-
if (pagination.sort) {
|
|
469
|
-
var sortPredicates = predicates_1.ModelSortPredicateCreator.getPredicates(pagination.sort);
|
|
470
|
-
if (sortPredicates.length) {
|
|
471
|
-
var compareFn = util_1.sortCompareFunction(sortPredicates);
|
|
472
|
-
records.sort(compareFn);
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
var _a = pagination.page, page = _a === void 0 ? 0 : _a, _b = pagination.limit, limit = _b === void 0 ? 0 : _b;
|
|
476
|
-
var start = Math.max(0, page * limit) || 0;
|
|
477
|
-
var end = limit > 0 ? start + limit : records.length;
|
|
478
|
-
return records.slice(start, end);
|
|
479
|
-
}
|
|
480
|
-
return records;
|
|
296
|
+
return util_1.inMemoryPagination(records, pagination);
|
|
481
297
|
};
|
|
482
298
|
AsyncStorageAdapter.prototype.queryOne = function (modelConstructor, firstOrLast) {
|
|
483
299
|
if (firstOrLast === void 0) { firstOrLast = types_1.QueryOne.FIRST; }
|
|
@@ -497,9 +313,9 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
497
313
|
};
|
|
498
314
|
AsyncStorageAdapter.prototype.delete = function (modelOrModelConstructor, condition) {
|
|
499
315
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
500
|
-
var deleteQueue, modelConstructor, nameSpace, models, relations, deletedModels, deletedModels, model, modelConstructor,
|
|
501
|
-
return tslib_1.__generator(this, function (
|
|
502
|
-
switch (
|
|
316
|
+
var deleteQueue, modelConstructor, nameSpace, models, relations, deletedModels, deletedModels, model, modelConstructor, nameSpace, storeName, keyValuePath, fromDB, msg, predicates, _a, predicateObjs, type, isValid, msg, relations, relations, deletedModels;
|
|
317
|
+
return tslib_1.__generator(this, function (_b) {
|
|
318
|
+
switch (_b.label) {
|
|
503
319
|
case 0:
|
|
504
320
|
deleteQueue = [];
|
|
505
321
|
if (!util_1.isModelConstructor(modelOrModelConstructor)) return [3 /*break*/, 8];
|
|
@@ -507,16 +323,16 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
507
323
|
nameSpace = this.namespaceResolver(modelConstructor);
|
|
508
324
|
return [4 /*yield*/, this.query(modelConstructor, condition)];
|
|
509
325
|
case 1:
|
|
510
|
-
models =
|
|
326
|
+
models = _b.sent();
|
|
511
327
|
relations = this.schema.namespaces[nameSpace].relationships[modelConstructor.name]
|
|
512
328
|
.relationTypes;
|
|
513
329
|
if (!(condition !== undefined)) return [3 /*break*/, 4];
|
|
514
330
|
return [4 /*yield*/, this.deleteTraverse(relations, models, modelConstructor.name, nameSpace, deleteQueue)];
|
|
515
331
|
case 2:
|
|
516
|
-
|
|
332
|
+
_b.sent();
|
|
517
333
|
return [4 /*yield*/, this.deleteItem(deleteQueue)];
|
|
518
334
|
case 3:
|
|
519
|
-
|
|
335
|
+
_b.sent();
|
|
520
336
|
deletedModels = deleteQueue.reduce(function (acc, _a) {
|
|
521
337
|
var items = _a.items;
|
|
522
338
|
return acc.concat(items);
|
|
@@ -524,10 +340,10 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
524
340
|
return [2 /*return*/, [models, deletedModels]];
|
|
525
341
|
case 4: return [4 /*yield*/, this.deleteTraverse(relations, models, modelConstructor.name, nameSpace, deleteQueue)];
|
|
526
342
|
case 5:
|
|
527
|
-
|
|
343
|
+
_b.sent();
|
|
528
344
|
return [4 /*yield*/, this.deleteItem(deleteQueue)];
|
|
529
345
|
case 6:
|
|
530
|
-
|
|
346
|
+
_b.sent();
|
|
531
347
|
deletedModels = deleteQueue.reduce(function (acc, _a) {
|
|
532
348
|
var items = _a.items;
|
|
533
349
|
return acc.concat(items);
|
|
@@ -538,40 +354,40 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
538
354
|
model = modelOrModelConstructor;
|
|
539
355
|
modelConstructor = Object.getPrototypeOf(model)
|
|
540
356
|
.constructor;
|
|
541
|
-
|
|
357
|
+
nameSpace = this.namespaceResolver(modelConstructor);
|
|
542
358
|
storeName = this.getStorenameForModel(modelConstructor);
|
|
543
359
|
if (!condition) return [3 /*break*/, 11];
|
|
544
360
|
keyValuePath = this.getIndexKeyValuesPath(model);
|
|
545
361
|
return [4 /*yield*/, this.db.get(keyValuePath, storeName)];
|
|
546
362
|
case 9:
|
|
547
|
-
fromDB =
|
|
363
|
+
fromDB = _b.sent();
|
|
548
364
|
if (fromDB === undefined) {
|
|
549
365
|
msg = 'Model instance not found in storage';
|
|
550
366
|
logger.warn(msg, { model: model });
|
|
551
367
|
return [2 /*return*/, [[model], []]];
|
|
552
368
|
}
|
|
553
369
|
predicates = predicates_1.ModelPredicateCreator.getPredicates(condition);
|
|
554
|
-
predicateObjs =
|
|
370
|
+
_a = predicates, predicateObjs = _a.predicates, type = _a.type;
|
|
555
371
|
isValid = util_1.validatePredicate(fromDB, type, predicateObjs);
|
|
556
372
|
if (!isValid) {
|
|
557
373
|
msg = 'Conditional update failed';
|
|
558
374
|
logger.error(msg, { model: fromDB, condition: predicateObjs });
|
|
559
375
|
throw new Error(msg);
|
|
560
376
|
}
|
|
561
|
-
relations = this.schema.namespaces[
|
|
562
|
-
return [4 /*yield*/, this.deleteTraverse(relations, [model], modelConstructor.name,
|
|
377
|
+
relations = this.schema.namespaces[nameSpace].relationships[modelConstructor.name].relationTypes;
|
|
378
|
+
return [4 /*yield*/, this.deleteTraverse(relations, [model], modelConstructor.name, nameSpace, deleteQueue)];
|
|
563
379
|
case 10:
|
|
564
|
-
|
|
380
|
+
_b.sent();
|
|
565
381
|
return [3 /*break*/, 13];
|
|
566
382
|
case 11:
|
|
567
|
-
relations = this.schema.namespaces[
|
|
568
|
-
return [4 /*yield*/, this.deleteTraverse(relations, [model], modelConstructor.name,
|
|
383
|
+
relations = this.schema.namespaces[nameSpace].relationships[modelConstructor.name].relationTypes;
|
|
384
|
+
return [4 /*yield*/, this.deleteTraverse(relations, [model], modelConstructor.name, nameSpace, deleteQueue)];
|
|
569
385
|
case 12:
|
|
570
|
-
|
|
571
|
-
|
|
386
|
+
_b.sent();
|
|
387
|
+
_b.label = 13;
|
|
572
388
|
case 13: return [4 /*yield*/, this.deleteItem(deleteQueue)];
|
|
573
389
|
case 14:
|
|
574
|
-
|
|
390
|
+
_b.sent();
|
|
575
391
|
deletedModels = deleteQueue.reduce(function (acc, _a) {
|
|
576
392
|
var items = _a.items;
|
|
577
393
|
return acc.concat(items);
|
|
@@ -583,71 +399,70 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
583
399
|
});
|
|
584
400
|
};
|
|
585
401
|
AsyncStorageAdapter.prototype.deleteItem = function (deleteQueue) {
|
|
586
|
-
var
|
|
587
|
-
var e_6, _a, e_7, _b;
|
|
402
|
+
var e_3, _a, e_4, _b;
|
|
588
403
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
589
|
-
var deleteItem, storeName, items, items_1, items_1_1, item, keyValuesPath,
|
|
590
|
-
return tslib_1.__generator(this, function (
|
|
591
|
-
switch (
|
|
404
|
+
var _c, _d, deleteItem, storeName, items, items_1, items_1_1, item, keyValuesPath, e_4_1, e_3_1;
|
|
405
|
+
return tslib_1.__generator(this, function (_e) {
|
|
406
|
+
switch (_e.label) {
|
|
592
407
|
case 0:
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
case 1: return [4 /*yield*/,
|
|
408
|
+
_e.trys.push([0, 17, 18, 23]);
|
|
409
|
+
_c = tslib_1.__asyncValues(deleteQueue);
|
|
410
|
+
_e.label = 1;
|
|
411
|
+
case 1: return [4 /*yield*/, _c.next()];
|
|
597
412
|
case 2:
|
|
598
|
-
if (!(
|
|
599
|
-
deleteItem =
|
|
413
|
+
if (!(_d = _e.sent(), !_d.done)) return [3 /*break*/, 16];
|
|
414
|
+
deleteItem = _d.value;
|
|
600
415
|
storeName = deleteItem.storeName, items = deleteItem.items;
|
|
601
|
-
|
|
416
|
+
_e.label = 3;
|
|
602
417
|
case 3:
|
|
603
|
-
|
|
418
|
+
_e.trys.push([3, 9, 10, 15]);
|
|
604
419
|
items_1 = tslib_1.__asyncValues(items);
|
|
605
|
-
|
|
420
|
+
_e.label = 4;
|
|
606
421
|
case 4: return [4 /*yield*/, items_1.next()];
|
|
607
422
|
case 5:
|
|
608
|
-
if (!(items_1_1 =
|
|
423
|
+
if (!(items_1_1 = _e.sent(), !items_1_1.done)) return [3 /*break*/, 8];
|
|
609
424
|
item = items_1_1.value;
|
|
610
425
|
if (!item) return [3 /*break*/, 7];
|
|
611
426
|
if (!(typeof item === 'object')) return [3 /*break*/, 7];
|
|
612
427
|
keyValuesPath = this.getIndexKeyValuesPath(item);
|
|
613
428
|
return [4 /*yield*/, this.db.delete(keyValuesPath, storeName)];
|
|
614
429
|
case 6:
|
|
615
|
-
|
|
616
|
-
|
|
430
|
+
_e.sent();
|
|
431
|
+
_e.label = 7;
|
|
617
432
|
case 7: return [3 /*break*/, 4];
|
|
618
433
|
case 8: return [3 /*break*/, 15];
|
|
619
434
|
case 9:
|
|
620
|
-
|
|
621
|
-
|
|
435
|
+
e_4_1 = _e.sent();
|
|
436
|
+
e_4 = { error: e_4_1 };
|
|
622
437
|
return [3 /*break*/, 15];
|
|
623
438
|
case 10:
|
|
624
|
-
|
|
439
|
+
_e.trys.push([10, , 13, 14]);
|
|
625
440
|
if (!(items_1_1 && !items_1_1.done && (_b = items_1.return))) return [3 /*break*/, 12];
|
|
626
441
|
return [4 /*yield*/, _b.call(items_1)];
|
|
627
442
|
case 11:
|
|
628
|
-
|
|
629
|
-
|
|
443
|
+
_e.sent();
|
|
444
|
+
_e.label = 12;
|
|
630
445
|
case 12: return [3 /*break*/, 14];
|
|
631
446
|
case 13:
|
|
632
|
-
if (
|
|
447
|
+
if (e_4) throw e_4.error;
|
|
633
448
|
return [7 /*endfinally*/];
|
|
634
449
|
case 14: return [7 /*endfinally*/];
|
|
635
450
|
case 15: return [3 /*break*/, 1];
|
|
636
451
|
case 16: return [3 /*break*/, 23];
|
|
637
452
|
case 17:
|
|
638
|
-
|
|
639
|
-
|
|
453
|
+
e_3_1 = _e.sent();
|
|
454
|
+
e_3 = { error: e_3_1 };
|
|
640
455
|
return [3 /*break*/, 23];
|
|
641
456
|
case 18:
|
|
642
|
-
|
|
643
|
-
if (!(
|
|
644
|
-
return [4 /*yield*/, _a.call(
|
|
457
|
+
_e.trys.push([18, , 21, 22]);
|
|
458
|
+
if (!(_d && !_d.done && (_a = _c.return))) return [3 /*break*/, 20];
|
|
459
|
+
return [4 /*yield*/, _a.call(_c)];
|
|
645
460
|
case 19:
|
|
646
|
-
|
|
647
|
-
|
|
461
|
+
_e.sent();
|
|
462
|
+
_e.label = 20;
|
|
648
463
|
case 20: return [3 /*break*/, 22];
|
|
649
464
|
case 21:
|
|
650
|
-
if (
|
|
465
|
+
if (e_3) throw e_3.error;
|
|
651
466
|
return [7 /*endfinally*/];
|
|
652
467
|
case 22: return [7 /*endfinally*/];
|
|
653
468
|
case 23: return [2 /*return*/];
|
|
@@ -664,21 +479,21 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
664
479
|
* @param deleteQueue
|
|
665
480
|
*/
|
|
666
481
|
AsyncStorageAdapter.prototype.deleteTraverse = function (relations, models, srcModel, nameSpace, deleteQueue) {
|
|
667
|
-
var
|
|
668
|
-
var
|
|
482
|
+
var relations_1, relations_1_1, models_1, models_1_1, models_2, models_2_1;
|
|
483
|
+
var e_5, _a, e_6, _b, e_7, _c;
|
|
669
484
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
670
|
-
var rel, relationType, modelName, targetName, targetNames, associatedWith, storeName, index, _d, model, hasOneIndex_1, hasConnectedModelFields, keyValuesPath, values_1, isUnidirectionalConnection, allRecords, recordToDelete, hasOneIndex_2, hasOneCustomField, keyValuesPath, value_1, allRecords, recordToDelete,
|
|
485
|
+
var rel, relationType, modelName, targetName, targetNames, associatedWith, storeName, index, _d, model, hasOneIndex_1, hasConnectedModelFields, keyValuesPath, values_1, isUnidirectionalConnection, allRecords, recordToDelete, hasOneIndex_2, hasOneCustomField, keyValuesPath, value_1, allRecords, recordToDelete, e_6_1, model, keyValues, allRecords, indices, childrenArray, e_7_1, e_5_1;
|
|
671
486
|
var _this = this;
|
|
672
487
|
return tslib_1.__generator(this, function (_e) {
|
|
673
488
|
switch (_e.label) {
|
|
674
489
|
case 0:
|
|
675
490
|
_e.trys.push([0, 38, 39, 44]);
|
|
676
|
-
|
|
491
|
+
relations_1 = tslib_1.__asyncValues(relations);
|
|
677
492
|
_e.label = 1;
|
|
678
|
-
case 1: return [4 /*yield*/,
|
|
493
|
+
case 1: return [4 /*yield*/, relations_1.next()];
|
|
679
494
|
case 2:
|
|
680
|
-
if (!(
|
|
681
|
-
rel =
|
|
495
|
+
if (!(relations_1_1 = _e.sent(), !relations_1_1.done)) return [3 /*break*/, 37];
|
|
496
|
+
rel = relations_1_1.value;
|
|
682
497
|
relationType = rel.relationType, modelName = rel.modelName, targetName = rel.targetName, targetNames = rel.targetNames, associatedWith = rel.associatedWith;
|
|
683
498
|
storeName = util_1.getStorename(nameSpace, modelName);
|
|
684
499
|
index = util_1.getIndex(this.schema.namespaces[nameSpace].relationships[modelName]
|
|
@@ -777,8 +592,8 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
777
592
|
case 11: return [3 /*break*/, 4];
|
|
778
593
|
case 12: return [3 /*break*/, 19];
|
|
779
594
|
case 13:
|
|
780
|
-
|
|
781
|
-
|
|
595
|
+
e_6_1 = _e.sent();
|
|
596
|
+
e_6 = { error: e_6_1 };
|
|
782
597
|
return [3 /*break*/, 19];
|
|
783
598
|
case 14:
|
|
784
599
|
_e.trys.push([14, , 17, 18]);
|
|
@@ -789,7 +604,7 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
789
604
|
_e.label = 16;
|
|
790
605
|
case 16: return [3 /*break*/, 18];
|
|
791
606
|
case 17:
|
|
792
|
-
if (
|
|
607
|
+
if (e_6) throw e_6.error;
|
|
793
608
|
return [7 /*endfinally*/];
|
|
794
609
|
case 18: return [7 /*endfinally*/];
|
|
795
610
|
case 19: return [3 /*break*/, 36];
|
|
@@ -817,8 +632,8 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
817
632
|
case 25: return [3 /*break*/, 21];
|
|
818
633
|
case 26: return [3 /*break*/, 33];
|
|
819
634
|
case 27:
|
|
820
|
-
|
|
821
|
-
|
|
635
|
+
e_7_1 = _e.sent();
|
|
636
|
+
e_7 = { error: e_7_1 };
|
|
822
637
|
return [3 /*break*/, 33];
|
|
823
638
|
case 28:
|
|
824
639
|
_e.trys.push([28, , 31, 32]);
|
|
@@ -829,32 +644,30 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
829
644
|
_e.label = 30;
|
|
830
645
|
case 30: return [3 /*break*/, 32];
|
|
831
646
|
case 31:
|
|
832
|
-
if (
|
|
647
|
+
if (e_7) throw e_7.error;
|
|
833
648
|
return [7 /*endfinally*/];
|
|
834
649
|
case 32: return [7 /*endfinally*/];
|
|
835
650
|
case 33: return [3 /*break*/, 36];
|
|
836
651
|
case 34:
|
|
837
652
|
// Intentionally blank
|
|
838
653
|
return [3 /*break*/, 36];
|
|
839
|
-
case 35:
|
|
840
|
-
util_1.exhaustiveCheck(relationType);
|
|
841
|
-
return [3 /*break*/, 36];
|
|
654
|
+
case 35: throw new Error("Invalid relationType " + relationType);
|
|
842
655
|
case 36: return [3 /*break*/, 1];
|
|
843
656
|
case 37: return [3 /*break*/, 44];
|
|
844
657
|
case 38:
|
|
845
|
-
|
|
846
|
-
|
|
658
|
+
e_5_1 = _e.sent();
|
|
659
|
+
e_5 = { error: e_5_1 };
|
|
847
660
|
return [3 /*break*/, 44];
|
|
848
661
|
case 39:
|
|
849
662
|
_e.trys.push([39, , 42, 43]);
|
|
850
|
-
if (!(
|
|
851
|
-
return [4 /*yield*/, _a.call(
|
|
663
|
+
if (!(relations_1_1 && !relations_1_1.done && (_a = relations_1.return))) return [3 /*break*/, 41];
|
|
664
|
+
return [4 /*yield*/, _a.call(relations_1)];
|
|
852
665
|
case 40:
|
|
853
666
|
_e.sent();
|
|
854
667
|
_e.label = 41;
|
|
855
668
|
case 41: return [3 /*break*/, 43];
|
|
856
669
|
case 42:
|
|
857
|
-
if (
|
|
670
|
+
if (e_5) throw e_5.error;
|
|
858
671
|
return [7 /*endfinally*/];
|
|
859
672
|
case 43: return [7 /*endfinally*/];
|
|
860
673
|
case 44:
|
|
@@ -886,7 +699,7 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
886
699
|
AsyncStorageAdapter.prototype.batchSave = function (modelConstructor, items) {
|
|
887
700
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
888
701
|
var modelName, namespaceName, storeName, keys, batch, _loop_2, this_1, items_2, items_2_1, item;
|
|
889
|
-
var
|
|
702
|
+
var e_8, _a;
|
|
890
703
|
var _this = this;
|
|
891
704
|
return tslib_1.__generator(this, function (_b) {
|
|
892
705
|
switch (_b.label) {
|
|
@@ -914,12 +727,12 @@ var AsyncStorageAdapter = /** @class */ (function () {
|
|
|
914
727
|
_loop_2(item);
|
|
915
728
|
}
|
|
916
729
|
}
|
|
917
|
-
catch (
|
|
730
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
918
731
|
finally {
|
|
919
732
|
try {
|
|
920
733
|
if (items_2_1 && !items_2_1.done && (_a = items_2.return)) _a.call(items_2);
|
|
921
734
|
}
|
|
922
|
-
finally { if (
|
|
735
|
+
finally { if (e_8) throw e_8.error; }
|
|
923
736
|
}
|
|
924
737
|
return [4 /*yield*/, this.db.batchSave(storeName, batch, keys)];
|
|
925
738
|
case 1: return [2 /*return*/, _b.sent()];
|