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