@aws-amplify/datastore-storage-adapter 1.2.13 → 1.2.14-unstable.1

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.
Files changed (77) hide show
  1. package/ExpoSQLiteAdapter/index.js +7 -0
  2. package/SQLiteAdapter/index.js +7 -0
  3. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js +2502 -0
  4. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js.map +1 -0
  5. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js +2 -0
  6. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +1 -0
  7. package/dist/aws-amplify-datastore-storage-adapter.js +1179 -1151
  8. package/dist/aws-amplify-datastore-storage-adapter.js.map +1 -1
  9. package/dist/aws-amplify-datastore-storage-adapter.min.js +1 -1
  10. package/dist/aws-amplify-datastore-storage-adapter.min.js.map +1 -1
  11. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +3 -0
  12. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +10 -0
  13. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  14. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +17 -0
  15. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +362 -0
  16. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  17. package/lib/SQLiteAdapter/SQLiteAdapter.d.ts +3 -23
  18. package/lib/SQLiteAdapter/SQLiteAdapter.js +3 -582
  19. package/lib/SQLiteAdapter/SQLiteAdapter.js.map +1 -1
  20. package/lib/SQLiteAdapter/SQLiteDatabase.d.ts +8 -8
  21. package/lib/SQLiteAdapter/SQLiteDatabase.js +46 -42
  22. package/lib/SQLiteAdapter/SQLiteDatabase.js.map +1 -1
  23. package/lib/common/CommonSQLiteAdapter.d.ts +23 -0
  24. package/lib/common/CommonSQLiteAdapter.js +579 -0
  25. package/lib/common/CommonSQLiteAdapter.js.map +1 -0
  26. package/lib/{SQLiteAdapter → common}/SQLiteUtils.d.ts +3 -2
  27. package/lib/{SQLiteAdapter → common}/SQLiteUtils.js +26 -2
  28. package/lib/common/SQLiteUtils.js.map +1 -0
  29. package/lib/common/constants.d.ts +1 -0
  30. package/lib/common/constants.js +4 -0
  31. package/lib/common/constants.js.map +1 -0
  32. package/lib/common/types.d.ts +13 -0
  33. package/lib/common/types.js +3 -0
  34. package/lib/common/types.js.map +1 -0
  35. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +3 -0
  36. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +5 -0
  37. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  38. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +17 -0
  39. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +360 -0
  40. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  41. package/lib-esm/SQLiteAdapter/SQLiteAdapter.d.ts +3 -23
  42. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js +3 -582
  43. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js.map +1 -1
  44. package/lib-esm/SQLiteAdapter/SQLiteDatabase.d.ts +8 -8
  45. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js +46 -42
  46. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js.map +1 -1
  47. package/lib-esm/common/CommonSQLiteAdapter.d.ts +23 -0
  48. package/lib-esm/common/CommonSQLiteAdapter.js +577 -0
  49. package/lib-esm/common/CommonSQLiteAdapter.js.map +1 -0
  50. package/lib-esm/{SQLiteAdapter → common}/SQLiteUtils.d.ts +3 -2
  51. package/lib-esm/{SQLiteAdapter → common}/SQLiteUtils.js +24 -1
  52. package/lib-esm/common/SQLiteUtils.js.map +1 -0
  53. package/lib-esm/common/constants.d.ts +1 -0
  54. package/lib-esm/common/constants.js +2 -0
  55. package/lib-esm/common/constants.js.map +1 -0
  56. package/lib-esm/common/types.d.ts +13 -0
  57. package/lib-esm/common/types.js +1 -0
  58. package/lib-esm/common/types.js.map +1 -0
  59. package/package.json +7 -4
  60. package/src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts +8 -0
  61. package/src/ExpoSQLiteAdapter/ExpoSQLiteDatabase.ts +282 -0
  62. package/src/SQLiteAdapter/SQLiteAdapter.ts +5 -475
  63. package/src/SQLiteAdapter/SQLiteDatabase.ts +49 -53
  64. package/src/common/CommonSQLiteAdapter.ts +478 -0
  65. package/src/{SQLiteAdapter → common}/SQLiteUtils.ts +32 -3
  66. package/src/common/constants.ts +1 -0
  67. package/src/common/types.ts +29 -0
  68. package/webpack.config.dev.js +2 -0
  69. package/lib/SQLiteAdapter/SQLiteUtils.js.map +0 -1
  70. package/lib/SQLiteAdapter/types.d.ts +0 -2
  71. package/lib/SQLiteAdapter/types.js +0 -28
  72. package/lib/SQLiteAdapter/types.js.map +0 -1
  73. package/lib-esm/SQLiteAdapter/SQLiteUtils.js.map +0 -1
  74. package/lib-esm/SQLiteAdapter/types.d.ts +0 -2
  75. package/lib-esm/SQLiteAdapter/types.js +0 -25
  76. package/lib-esm/SQLiteAdapter/types.js.map +0 -1
  77. package/src/SQLiteAdapter/types.ts +0 -31
@@ -1,589 +1,10 @@
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 __asyncValues = (this && this.__asyncValues) || function (o) {
39
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
40
- var m = o[Symbol.asyncIterator], i;
41
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
42
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
43
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
44
- };
45
- var __read = (this && this.__read) || function (o, n) {
46
- var m = typeof Symbol === "function" && o[Symbol.iterator];
47
- if (!m) return o;
48
- var i = m.call(o), r, ar = [], e;
49
- try {
50
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
51
- }
52
- catch (error) { e = { error: error }; }
53
- finally {
54
- try {
55
- if (r && !r.done && (m = i["return"])) m.call(i);
56
- }
57
- finally { if (e) throw e.error; }
58
- }
59
- return ar;
60
- };
61
- var __values = (this && this.__values) || function(o) {
62
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
63
- if (m) return m.call(o);
64
- if (o && typeof o.length === "number") return {
65
- next: function () {
66
- if (o && i >= o.length) o = void 0;
67
- return { value: o && o[i++], done: !o };
68
- }
69
- };
70
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
71
- };
72
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
73
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
74
4
  };
75
5
  Object.defineProperty(exports, "__esModule", { value: true });
76
- var core_1 = require("@aws-amplify/core");
6
+ var CommonSQLiteAdapter_1 = require("../common/CommonSQLiteAdapter");
77
7
  var SQLiteDatabase_1 = __importDefault(require("./SQLiteDatabase"));
78
- var SQLiteUtils_1 = require("./SQLiteUtils");
79
- var datastore_1 = require("@aws-amplify/datastore");
80
- var traverseModel = datastore_1.utils.traverseModel, validatePredicate = datastore_1.utils.validatePredicate, isModelConstructor = datastore_1.utils.isModelConstructor;
81
- var logger = new core_1.ConsoleLogger('DataStore');
82
- var SQLiteAdapter = /** @class */ (function () {
83
- function SQLiteAdapter() {
84
- }
85
- SQLiteAdapter.prototype.setUp = function (theSchema, namespaceResolver, modelInstanceCreator, getModelConstructorByModelName) {
86
- return __awaiter(this, void 0, void 0, function () {
87
- var statements, error_1;
88
- var _this = this;
89
- return __generator(this, function (_a) {
90
- switch (_a.label) {
91
- case 0:
92
- if (!!this.initPromise) return [3 /*break*/, 1];
93
- this.initPromise = new Promise(function (res, rej) {
94
- _this.resolve = res;
95
- _this.reject = rej;
96
- });
97
- return [3 /*break*/, 3];
98
- case 1: return [4 /*yield*/, this.initPromise];
99
- case 2:
100
- _a.sent();
101
- return [2 /*return*/];
102
- case 3:
103
- this.schema = theSchema;
104
- this.namespaceResolver = namespaceResolver;
105
- this.modelInstanceCreator = modelInstanceCreator;
106
- this.getModelConstructorByModelName = getModelConstructorByModelName;
107
- _a.label = 4;
108
- case 4:
109
- _a.trys.push([4, 8, , 9]);
110
- if (!!this.db) return [3 /*break*/, 7];
111
- this.db = new SQLiteDatabase_1.default();
112
- return [4 /*yield*/, this.db.init()];
113
- case 5:
114
- _a.sent();
115
- statements = SQLiteUtils_1.generateSchemaStatements(this.schema);
116
- return [4 /*yield*/, this.db.createSchema(statements)];
117
- case 6:
118
- _a.sent();
119
- this.resolve();
120
- _a.label = 7;
121
- case 7: return [3 /*break*/, 9];
122
- case 8:
123
- error_1 = _a.sent();
124
- this.reject(error_1);
125
- return [3 /*break*/, 9];
126
- case 9: return [2 /*return*/];
127
- }
128
- });
129
- });
130
- };
131
- SQLiteAdapter.prototype.clear = function () {
132
- return __awaiter(this, void 0, void 0, function () {
133
- return __generator(this, function (_a) {
134
- switch (_a.label) {
135
- case 0: return [4 /*yield*/, this.db.clear()];
136
- case 1:
137
- _a.sent();
138
- this.db = undefined;
139
- this.initPromise = undefined;
140
- return [2 /*return*/];
141
- }
142
- });
143
- });
144
- };
145
- SQLiteAdapter.prototype.save = function (model, condition) {
146
- var e_1, _a;
147
- return __awaiter(this, void 0, void 0, function () {
148
- var modelConstructor, tableName, connectedModels, connectionStoreNames, _b, queryStatement, params, fromDB, predicates, predicateObjs, type, isValid, msg, result, saveStatements, connectionStoreNames_1, connectionStoreNames_1_1, resItem, modelName, item, instance, id, _c, queryStatement_1, params_1, fromDB_1, opType, saveStatement, e_1_1;
149
- return __generator(this, function (_d) {
150
- switch (_d.label) {
151
- case 0:
152
- modelConstructor = Object.getPrototypeOf(model)
153
- .constructor;
154
- tableName = modelConstructor.name;
155
- connectedModels = traverseModel(modelConstructor.name, model, this.schema.namespaces[this.namespaceResolver(modelConstructor)], this.modelInstanceCreator, this.getModelConstructorByModelName);
156
- connectionStoreNames = Object.values(connectedModels).map(function (_a) {
157
- var modelName = _a.modelName, item = _a.item, instance = _a.instance;
158
- return { modelName: modelName, item: item, instance: instance };
159
- });
160
- _b = __read(SQLiteUtils_1.queryByIdStatement(model.id, tableName), 2), queryStatement = _b[0], params = _b[1];
161
- return [4 /*yield*/, this.db.get(queryStatement, params)];
162
- case 1:
163
- fromDB = _d.sent();
164
- if (condition && fromDB) {
165
- predicates = datastore_1.ModelPredicateCreator.getPredicates(condition);
166
- predicateObjs = predicates.predicates, type = predicates.type;
167
- isValid = validatePredicate(fromDB, type, predicateObjs);
168
- if (!isValid) {
169
- msg = 'Conditional update failed';
170
- logger.error(msg, { model: fromDB, condition: predicateObjs });
171
- throw new Error(msg);
172
- }
173
- }
174
- result = [];
175
- saveStatements = new Set();
176
- _d.label = 2;
177
- case 2:
178
- _d.trys.push([2, 8, 9, 14]);
179
- connectionStoreNames_1 = __asyncValues(connectionStoreNames);
180
- _d.label = 3;
181
- case 3: return [4 /*yield*/, connectionStoreNames_1.next()];
182
- case 4:
183
- if (!(connectionStoreNames_1_1 = _d.sent(), !connectionStoreNames_1_1.done)) return [3 /*break*/, 7];
184
- resItem = connectionStoreNames_1_1.value;
185
- modelName = resItem.modelName, item = resItem.item, instance = resItem.instance;
186
- id = item.id;
187
- _c = __read(SQLiteUtils_1.queryByIdStatement(id, modelName), 2), queryStatement_1 = _c[0], params_1 = _c[1];
188
- return [4 /*yield*/, this.db.get(queryStatement_1, params_1)];
189
- case 5:
190
- fromDB_1 = _d.sent();
191
- opType = fromDB_1 === undefined ? datastore_1.OpType.INSERT : datastore_1.OpType.UPDATE;
192
- saveStatement = fromDB_1
193
- ? SQLiteUtils_1.modelUpdateStatement(instance, modelName)
194
- : SQLiteUtils_1.modelInsertStatement(instance, modelName);
195
- if (id === model.id || opType === datastore_1.OpType.INSERT) {
196
- saveStatements.add(saveStatement);
197
- result.push([instance, opType]);
198
- }
199
- _d.label = 6;
200
- case 6: return [3 /*break*/, 3];
201
- case 7: return [3 /*break*/, 14];
202
- case 8:
203
- e_1_1 = _d.sent();
204
- e_1 = { error: e_1_1 };
205
- return [3 /*break*/, 14];
206
- case 9:
207
- _d.trys.push([9, , 12, 13]);
208
- if (!(connectionStoreNames_1_1 && !connectionStoreNames_1_1.done && (_a = connectionStoreNames_1.return))) return [3 /*break*/, 11];
209
- return [4 /*yield*/, _a.call(connectionStoreNames_1)];
210
- case 10:
211
- _d.sent();
212
- _d.label = 11;
213
- case 11: return [3 /*break*/, 13];
214
- case 12:
215
- if (e_1) throw e_1.error;
216
- return [7 /*endfinally*/];
217
- case 13: return [7 /*endfinally*/];
218
- case 14: return [4 /*yield*/, this.db.batchSave(saveStatements)];
219
- case 15:
220
- _d.sent();
221
- return [2 /*return*/, result];
222
- }
223
- });
224
- });
225
- };
226
- SQLiteAdapter.prototype.load = function (namespaceName, srcModelName, records) {
227
- var records_1, records_1_1, records_2, records_2_1;
228
- var e_2, _a, e_3, _b, e_4, _c;
229
- return __awaiter(this, void 0, void 0, function () {
230
- var namespace, relations, connectionTableNames, modelConstructor, relations_1, relations_1_1, relation, fieldName, tableName, targetName, relationType, modelConstructor_1, _d, recordItem, getByfield, _e, queryStatement, params, connectionRecord, e_3_1, recordItem, _f, queryStatement, params, connectionRecord, e_4_1, _, e_2_1;
231
- var _this = this;
232
- return __generator(this, function (_g) {
233
- switch (_g.label) {
234
- case 0:
235
- namespace = this.schema.namespaces[namespaceName];
236
- relations = namespace.relationships[srcModelName].relationTypes;
237
- connectionTableNames = relations.map(function (_a) {
238
- var modelName = _a.modelName;
239
- return modelName;
240
- });
241
- modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);
242
- if (connectionTableNames.length === 0) {
243
- return [2 /*return*/, records.map(function (record) {
244
- return _this.modelInstanceCreator(modelConstructor, record);
245
- })];
246
- }
247
- _g.label = 1;
248
- case 1:
249
- _g.trys.push([1, 34, 35, 40]);
250
- relations_1 = __asyncValues(relations);
251
- _g.label = 2;
252
- case 2: return [4 /*yield*/, relations_1.next()];
253
- case 3:
254
- if (!(relations_1_1 = _g.sent(), !relations_1_1.done)) return [3 /*break*/, 33];
255
- relation = relations_1_1.value;
256
- fieldName = relation.fieldName, tableName = relation.modelName, targetName = relation.targetName, relationType = relation.relationType;
257
- modelConstructor_1 = this.getModelConstructorByModelName(namespaceName, tableName);
258
- _d = relationType;
259
- switch (_d) {
260
- case 'HAS_ONE': return [3 /*break*/, 4];
261
- case 'BELONGS_TO': return [3 /*break*/, 17];
262
- case 'HAS_MANY': return [3 /*break*/, 30];
263
- }
264
- return [3 /*break*/, 31];
265
- case 4:
266
- _g.trys.push([4, 10, 11, 16]);
267
- records_1 = __asyncValues(records);
268
- _g.label = 5;
269
- case 5: return [4 /*yield*/, records_1.next()];
270
- case 6:
271
- if (!(records_1_1 = _g.sent(), !records_1_1.done)) return [3 /*break*/, 9];
272
- recordItem = records_1_1.value;
273
- getByfield = recordItem[targetName] ? targetName : fieldName;
274
- if (!recordItem[getByfield])
275
- return [3 /*break*/, 9];
276
- _e = __read(SQLiteUtils_1.queryByIdStatement(recordItem[getByfield], tableName), 2), queryStatement = _e[0], params = _e[1];
277
- return [4 /*yield*/, this.db.get(queryStatement, params)];
278
- case 7:
279
- connectionRecord = _g.sent();
280
- recordItem[fieldName] =
281
- connectionRecord &&
282
- this.modelInstanceCreator(modelConstructor_1, connectionRecord);
283
- _g.label = 8;
284
- case 8: return [3 /*break*/, 5];
285
- case 9: return [3 /*break*/, 16];
286
- case 10:
287
- e_3_1 = _g.sent();
288
- e_3 = { error: e_3_1 };
289
- return [3 /*break*/, 16];
290
- case 11:
291
- _g.trys.push([11, , 14, 15]);
292
- if (!(records_1_1 && !records_1_1.done && (_b = records_1.return))) return [3 /*break*/, 13];
293
- return [4 /*yield*/, _b.call(records_1)];
294
- case 12:
295
- _g.sent();
296
- _g.label = 13;
297
- case 13: return [3 /*break*/, 15];
298
- case 14:
299
- if (e_3) throw e_3.error;
300
- return [7 /*endfinally*/];
301
- case 15: return [7 /*endfinally*/];
302
- case 16: return [3 /*break*/, 32];
303
- case 17:
304
- _g.trys.push([17, 23, 24, 29]);
305
- records_2 = __asyncValues(records);
306
- _g.label = 18;
307
- case 18: return [4 /*yield*/, records_2.next()];
308
- case 19:
309
- if (!(records_2_1 = _g.sent(), !records_2_1.done)) return [3 /*break*/, 22];
310
- recordItem = records_2_1.value;
311
- if (!recordItem[targetName]) return [3 /*break*/, 21];
312
- _f = __read(SQLiteUtils_1.queryByIdStatement(recordItem[targetName], tableName), 2), queryStatement = _f[0], params = _f[1];
313
- return [4 /*yield*/, this.db.get(queryStatement, params)];
314
- case 20:
315
- connectionRecord = _g.sent();
316
- recordItem[fieldName] =
317
- connectionRecord &&
318
- this.modelInstanceCreator(modelConstructor_1, connectionRecord);
319
- delete recordItem[targetName];
320
- _g.label = 21;
321
- case 21: return [3 /*break*/, 18];
322
- case 22: return [3 /*break*/, 29];
323
- case 23:
324
- e_4_1 = _g.sent();
325
- e_4 = { error: e_4_1 };
326
- return [3 /*break*/, 29];
327
- case 24:
328
- _g.trys.push([24, , 27, 28]);
329
- if (!(records_2_1 && !records_2_1.done && (_c = records_2.return))) return [3 /*break*/, 26];
330
- return [4 /*yield*/, _c.call(records_2)];
331
- case 25:
332
- _g.sent();
333
- _g.label = 26;
334
- case 26: return [3 /*break*/, 28];
335
- case 27:
336
- if (e_4) throw e_4.error;
337
- return [7 /*endfinally*/];
338
- case 28: return [7 /*endfinally*/];
339
- case 29: return [3 /*break*/, 32];
340
- case 30:
341
- // TODO: Lazy loading
342
- return [3 /*break*/, 32];
343
- case 31:
344
- _ = relationType;
345
- throw new Error("invalid relation type " + relationType);
346
- case 32: return [3 /*break*/, 2];
347
- case 33: return [3 /*break*/, 40];
348
- case 34:
349
- e_2_1 = _g.sent();
350
- e_2 = { error: e_2_1 };
351
- return [3 /*break*/, 40];
352
- case 35:
353
- _g.trys.push([35, , 38, 39]);
354
- if (!(relations_1_1 && !relations_1_1.done && (_a = relations_1.return))) return [3 /*break*/, 37];
355
- return [4 /*yield*/, _a.call(relations_1)];
356
- case 36:
357
- _g.sent();
358
- _g.label = 37;
359
- case 37: return [3 /*break*/, 39];
360
- case 38:
361
- if (e_2) throw e_2.error;
362
- return [7 /*endfinally*/];
363
- case 39: return [7 /*endfinally*/];
364
- case 40: return [2 /*return*/, records.map(function (record) {
365
- return _this.modelInstanceCreator(modelConstructor, record);
366
- })];
367
- }
368
- });
369
- });
370
- };
371
- SQLiteAdapter.prototype.query = function (modelConstructor, predicate, pagination) {
372
- return __awaiter(this, void 0, void 0, function () {
373
- var tableName, namespaceName, predicates, sortPredicates, limit, page, queryById, records;
374
- var _this = this;
375
- return __generator(this, function (_a) {
376
- switch (_a.label) {
377
- case 0:
378
- tableName = modelConstructor.name;
379
- namespaceName = this.namespaceResolver(modelConstructor);
380
- predicates = predicate && datastore_1.ModelPredicateCreator.getPredicates(predicate);
381
- sortPredicates = pagination &&
382
- pagination.sort &&
383
- datastore_1.ModelSortPredicateCreator.getPredicates(pagination.sort);
384
- limit = pagination && pagination.limit;
385
- page = limit && pagination.page;
386
- queryById = predicates && this.idFromPredicate(predicates);
387
- return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
388
- var record, _a, queryStatement, params;
389
- return __generator(this, function (_b) {
390
- switch (_b.label) {
391
- case 0:
392
- if (!queryById) return [3 /*break*/, 2];
393
- return [4 /*yield*/, this.getById(tableName, queryById)];
394
- case 1:
395
- record = _b.sent();
396
- return [2 /*return*/, record ? [record] : []];
397
- case 2:
398
- _a = __read(SQLiteUtils_1.queryAllStatement(tableName, predicates, sortPredicates, limit, page), 2), queryStatement = _a[0], params = _a[1];
399
- return [4 /*yield*/, this.db.getAll(queryStatement, params)];
400
- case 3: return [2 /*return*/, _b.sent()];
401
- }
402
- });
403
- }); })()];
404
- case 1:
405
- records = _a.sent();
406
- return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, records)];
407
- case 2: return [2 /*return*/, _a.sent()];
408
- }
409
- });
410
- });
411
- };
412
- SQLiteAdapter.prototype.getById = function (tableName, id) {
413
- return __awaiter(this, void 0, void 0, function () {
414
- var _a, queryStatement, params, record;
415
- return __generator(this, function (_b) {
416
- switch (_b.label) {
417
- case 0:
418
- _a = __read(SQLiteUtils_1.queryByIdStatement(id, tableName), 2), queryStatement = _a[0], params = _a[1];
419
- return [4 /*yield*/, this.db.get(queryStatement, params)];
420
- case 1:
421
- record = _b.sent();
422
- return [2 /*return*/, record];
423
- }
424
- });
425
- });
426
- };
427
- SQLiteAdapter.prototype.idFromPredicate = function (predicates) {
428
- var predicateObjs = predicates.predicates;
429
- var idPredicate = predicateObjs.length === 1 &&
430
- predicateObjs.find(function (p) { return datastore_1.isPredicateObj(p) && p.field === 'id' && p.operator === 'eq'; });
431
- return idPredicate && idPredicate.operand;
432
- };
433
- SQLiteAdapter.prototype.queryOne = function (modelConstructor, firstOrLast) {
434
- if (firstOrLast === void 0) { firstOrLast = datastore_1.QueryOne.FIRST; }
435
- return __awaiter(this, void 0, void 0, function () {
436
- var tableName, _a, queryStatement, params, result, modelInstance;
437
- return __generator(this, function (_b) {
438
- switch (_b.label) {
439
- case 0:
440
- tableName = modelConstructor.name;
441
- _a = __read(SQLiteUtils_1.queryOneStatement(firstOrLast, tableName), 2), queryStatement = _a[0], params = _a[1];
442
- return [4 /*yield*/, this.db.get(queryStatement, params)];
443
- case 1:
444
- result = _b.sent();
445
- modelInstance = result && this.modelInstanceCreator(modelConstructor, result);
446
- return [2 /*return*/, modelInstance];
447
- }
448
- });
449
- });
450
- };
451
- // Currently does not cascade
452
- // TODO: use FKs in relations and have `ON DELETE CASCADE` set
453
- // For Has Many and Has One relations to have SQL handle cascades automatically
454
- SQLiteAdapter.prototype.delete = function (modelOrModelConstructor, condition) {
455
- return __awaiter(this, void 0, void 0, function () {
456
- var modelConstructor, namespaceName, tableName, predicates, queryStatement, deleteStatement, models, modelInstances, model, modelConstructor, tableName, _a, queryStatement, params, fromDB, msg, predicates, predicateObjs, type, isValid, msg, _b, deleteStatement, deleteParams, _c, deleteStatement, params;
457
- return __generator(this, function (_d) {
458
- switch (_d.label) {
459
- case 0:
460
- if (!isModelConstructor(modelOrModelConstructor)) return [3 /*break*/, 3];
461
- modelConstructor = modelOrModelConstructor;
462
- namespaceName = this.namespaceResolver(modelConstructor);
463
- tableName = modelConstructor.name;
464
- predicates = condition && datastore_1.ModelPredicateCreator.getPredicates(condition);
465
- queryStatement = SQLiteUtils_1.queryAllStatement(tableName, predicates);
466
- deleteStatement = SQLiteUtils_1.deleteByPredicateStatement(tableName, predicates);
467
- return [4 /*yield*/, this.db.selectAndDelete(queryStatement, deleteStatement)];
468
- case 1:
469
- models = _d.sent();
470
- return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, models)];
471
- case 2:
472
- modelInstances = _d.sent();
473
- return [2 /*return*/, [modelInstances, modelInstances]];
474
- case 3:
475
- model = modelOrModelConstructor;
476
- modelConstructor = Object.getPrototypeOf(model)
477
- .constructor;
478
- tableName = modelConstructor.name;
479
- if (!condition) return [3 /*break*/, 6];
480
- _a = __read(SQLiteUtils_1.queryByIdStatement(model.id, tableName), 2), queryStatement = _a[0], params = _a[1];
481
- return [4 /*yield*/, this.db.get(queryStatement, params)];
482
- case 4:
483
- fromDB = _d.sent();
484
- if (fromDB === undefined) {
485
- msg = 'Model instance not found in storage';
486
- logger.warn(msg, { model: model });
487
- return [2 /*return*/, [[model], []]];
488
- }
489
- predicates = datastore_1.ModelPredicateCreator.getPredicates(condition);
490
- predicateObjs = predicates.predicates, type = predicates.type;
491
- isValid = validatePredicate(fromDB, type, predicateObjs);
492
- if (!isValid) {
493
- msg = 'Conditional update failed';
494
- logger.error(msg, { model: fromDB, condition: predicateObjs });
495
- throw new Error(msg);
496
- }
497
- _b = __read(SQLiteUtils_1.deleteByIdStatement(model.id, tableName), 2), deleteStatement = _b[0], deleteParams = _b[1];
498
- return [4 /*yield*/, this.db.save(deleteStatement, deleteParams)];
499
- case 5:
500
- _d.sent();
501
- return [2 /*return*/, [[model], [model]]];
502
- case 6:
503
- _c = __read(SQLiteUtils_1.deleteByIdStatement(model.id, tableName), 2), deleteStatement = _c[0], params = _c[1];
504
- return [4 /*yield*/, this.db.save(deleteStatement, params)];
505
- case 7:
506
- _d.sent();
507
- return [2 /*return*/, [[model], [model]]];
508
- }
509
- });
510
- });
511
- };
512
- SQLiteAdapter.prototype.batchSave = function (modelConstructor, items) {
513
- return __awaiter(this, void 0, void 0, function () {
514
- var tableName, result, itemsToSave, queryStatements, deleteStatements, saveStatements, _loop_1, this_1, items_1, items_1_1, item, queryResponses;
515
- var e_5, _a;
516
- return __generator(this, function (_b) {
517
- switch (_b.label) {
518
- case 0:
519
- tableName = modelConstructor.name;
520
- result = [];
521
- itemsToSave = [];
522
- queryStatements = new Set();
523
- deleteStatements = new Set();
524
- saveStatements = new Set();
525
- _loop_1 = function (item) {
526
- var connectedModels = traverseModel(modelConstructor.name, this_1.modelInstanceCreator(modelConstructor, item), this_1.schema.namespaces[this_1.namespaceResolver(modelConstructor)], this_1.modelInstanceCreator, this_1.getModelConstructorByModelName);
527
- var id = item.id, _deleted = item._deleted;
528
- var instance = connectedModels.find(function (_a) {
529
- var instance = _a.instance;
530
- return instance.id === id;
531
- }).instance;
532
- if (_deleted) {
533
- // create the delete statements right away
534
- var deleteStatement = SQLiteUtils_1.deleteByIdStatement(instance.id, tableName);
535
- deleteStatements.add(deleteStatement);
536
- result.push([item, datastore_1.OpType.DELETE]);
537
- }
538
- else {
539
- // query statements for the saves at first
540
- var queryStatement = SQLiteUtils_1.queryByIdStatement(id, tableName);
541
- queryStatements.add(queryStatement);
542
- // combination of insert and update items
543
- itemsToSave.push(instance);
544
- }
545
- };
546
- this_1 = this;
547
- try {
548
- for (items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
549
- item = items_1_1.value;
550
- _loop_1(item);
551
- }
552
- }
553
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
554
- finally {
555
- try {
556
- if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
557
- }
558
- finally { if (e_5) throw e_5.error; }
559
- }
560
- return [4 /*yield*/, this.db.batchQuery(queryStatements)];
561
- case 1:
562
- queryResponses = _b.sent();
563
- queryResponses.forEach(function (response, idx) {
564
- if (response === undefined) {
565
- var insertStatement = SQLiteUtils_1.modelInsertStatement(itemsToSave[idx], tableName);
566
- saveStatements.add(insertStatement);
567
- result.push([itemsToSave[idx], datastore_1.OpType.INSERT]);
568
- }
569
- else {
570
- var updateStatement = SQLiteUtils_1.modelUpdateStatement(itemsToSave[idx], tableName);
571
- saveStatements.add(updateStatement);
572
- result.push([itemsToSave[idx], datastore_1.OpType.UPDATE]);
573
- }
574
- });
575
- // perform all of the insert/update/delete operations in a single transaction
576
- return [4 /*yield*/, this.db.batchSave(saveStatements, deleteStatements)];
577
- case 2:
578
- // perform all of the insert/update/delete operations in a single transaction
579
- _b.sent();
580
- return [2 /*return*/, result];
581
- }
582
- });
583
- });
584
- };
585
- return SQLiteAdapter;
586
- }());
587
- exports.SQLiteAdapter = SQLiteAdapter;
588
- exports.default = new SQLiteAdapter();
8
+ var SQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new SQLiteDatabase_1.default());
9
+ exports.default = SQLiteAdapter;
589
10
  //# sourceMappingURL=SQLiteAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLiteAdapter.js","sourceRoot":"","sources":["../../src/SQLiteAdapter/SQLiteAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLiteAdapter.js","sourceRoot":"","sources":["../../src/SQLiteAdapter/SQLiteAdapter.ts"],"names":[],"mappings":";;;;;AAAA,qEAAoE;AACpE,oEAA8C;AAE9C,IAAM,aAAa,GAAwB,IAAI,yCAAmB,CACjE,IAAI,wBAAc,EAAE,CACpB,CAAC;AAEF,kBAAe,aAAa,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { PersistentModel } from '@aws-amplify/datastore';
2
- import { ParameterizedStatement } from './SQLiteUtils';
3
- declare class SQLiteDatabase {
2
+ import { CommonSQLiteDatabase, ParameterizedStatement } from '../common/types';
3
+ declare class SQLiteDatabase implements CommonSQLiteDatabase {
4
4
  private db;
5
5
  init(): Promise<void>;
6
6
  createSchema(statements: string[]): Promise<void>;
7
7
  clear(): Promise<void>;
8
- get<T extends PersistentModel>(statement: string, params: any[]): Promise<T>;
9
- getAll<T extends PersistentModel>(statement: string, params: any[]): Promise<T[]>;
10
- save(statement: string, params: any[]): Promise<void>;
11
- batchQuery(queryStatements: Set<ParameterizedStatement>): Promise<any[]>;
12
- batchSave(saveStatements: Set<ParameterizedStatement>, deleteStatements?: Set<ParameterizedStatement>): Promise<void>;
13
- selectAndDelete(query: ParameterizedStatement, _delete: ParameterizedStatement): Promise<any[]>;
8
+ get<T extends PersistentModel>(statement: string, params: (string | number)[]): Promise<T>;
9
+ getAll<T extends PersistentModel>(statement: string, params: (string | number)[]): Promise<T[]>;
10
+ save(statement: string, params: (string | number)[]): Promise<void>;
11
+ batchQuery<T = any>(queryParameterizedStatements: Set<ParameterizedStatement>): Promise<T[]>;
12
+ batchSave(saveParameterizedStatements: Set<ParameterizedStatement>, deleteParameterizedStatements?: Set<ParameterizedStatement>): Promise<void>;
13
+ selectAndDelete<T = any>(queryParameterizedStatement: ParameterizedStatement, deleteParameterizedStatement: ParameterizedStatement): Promise<T[]>;
14
14
  private executeStatements;
15
15
  private closeDB;
16
16
  }