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

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