@aws-amplify/datastore-storage-adapter 1.3.16-unstable.1 → 1.3.16-unstable.11

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.
@@ -136,7 +136,6 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
136
136
  resolve(value);
137
137
  });
138
138
  }
139
-
140
139
  return new (P || (P = Promise))(function (resolve, reject) {
141
140
  function fulfilled(value) {
142
141
  try {
@@ -145,7 +144,6 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
145
144
  reject(e);
146
145
  }
147
146
  }
148
-
149
147
  function rejected(value) {
150
148
  try {
151
149
  step(generator["throw"](value));
@@ -153,29 +151,26 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
153
151
  reject(e);
154
152
  }
155
153
  }
156
-
157
154
  function step(result) {
158
155
  result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
159
156
  }
160
-
161
157
  step((generator = generator.apply(thisArg, _arguments || [])).next());
162
158
  });
163
159
  };
164
-
165
160
  var __generator = undefined && undefined.__generator || function (thisArg, body) {
166
161
  var _ = {
167
- label: 0,
168
- sent: function sent() {
169
- if (t[0] & 1) throw t[1];
170
- return t[1];
162
+ label: 0,
163
+ sent: function sent() {
164
+ if (t[0] & 1) throw t[1];
165
+ return t[1];
166
+ },
167
+ trys: [],
168
+ ops: []
171
169
  },
172
- trys: [],
173
- ops: []
174
- },
175
- f,
176
- y,
177
- t,
178
- g;
170
+ f,
171
+ y,
172
+ t,
173
+ g;
179
174
  return g = {
180
175
  next: verb(0),
181
176
  "throw": verb(1),
@@ -183,79 +178,60 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
183
178
  }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
184
179
  return this;
185
180
  }), g;
186
-
187
181
  function verb(n) {
188
182
  return function (v) {
189
183
  return step([n, v]);
190
184
  };
191
185
  }
192
-
193
186
  function step(op) {
194
187
  if (f) throw new TypeError("Generator is already executing.");
195
-
196
188
  while (_) {
197
189
  try {
198
190
  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;
199
191
  if (y = 0, t) op = [op[0] & 2, t.value];
200
-
201
192
  switch (op[0]) {
202
193
  case 0:
203
194
  case 1:
204
195
  t = op;
205
196
  break;
206
-
207
197
  case 4:
208
198
  _.label++;
209
199
  return {
210
200
  value: op[1],
211
201
  done: false
212
202
  };
213
-
214
203
  case 5:
215
204
  _.label++;
216
205
  y = op[1];
217
206
  op = [0];
218
207
  continue;
219
-
220
208
  case 7:
221
209
  op = _.ops.pop();
222
-
223
210
  _.trys.pop();
224
-
225
211
  continue;
226
-
227
212
  default:
228
213
  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
229
214
  _ = 0;
230
215
  continue;
231
216
  }
232
-
233
217
  if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
234
218
  _.label = op[1];
235
219
  break;
236
220
  }
237
-
238
221
  if (op[0] === 6 && _.label < t[1]) {
239
222
  _.label = t[1];
240
223
  t = op;
241
224
  break;
242
225
  }
243
-
244
226
  if (t && _.label < t[2]) {
245
227
  _.label = t[2];
246
-
247
228
  _.ops.push(op);
248
-
249
229
  break;
250
230
  }
251
-
252
231
  if (t[2]) _.ops.pop();
253
-
254
232
  _.trys.pop();
255
-
256
233
  continue;
257
234
  }
258
-
259
235
  op = body.call(thisArg, _);
260
236
  } catch (e) {
261
237
  op = [6, e];
@@ -264,7 +240,6 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
264
240
  f = t = 0;
265
241
  }
266
242
  }
267
-
268
243
  if (op[0] & 5) throw op[1];
269
244
  return {
270
245
  value: op[0] ? op[1] : void 0,
@@ -272,15 +247,13 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
272
247
  };
273
248
  }
274
249
  };
275
-
276
250
  var __read = undefined && undefined.__read || function (o, n) {
277
251
  var m = typeof Symbol === "function" && o[Symbol.iterator];
278
252
  if (!m) return o;
279
253
  var i = m.call(o),
280
- r,
281
- ar = [],
282
- e;
283
-
254
+ r,
255
+ ar = [],
256
+ e;
284
257
  try {
285
258
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
286
259
  ar.push(r.value);
@@ -296,22 +269,18 @@ var __read = undefined && undefined.__read || function (o, n) {
296
269
  if (e) throw e.error;
297
270
  }
298
271
  }
299
-
300
272
  return ar;
301
273
  };
302
-
303
274
  var __spread = undefined && undefined.__spread || function () {
304
275
  for (var ar = [], i = 0; i < arguments.length; i++) {
305
276
  ar = ar.concat(__read(arguments[i]));
306
277
  }
307
-
308
278
  return ar;
309
279
  };
310
280
 
311
281
 
312
282
 
313
283
 
314
-
315
284
  var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('ExpoSQLiteDatabase');
316
285
  /*
317
286
 
@@ -321,12 +290,8 @@ error was handled or not. Returning a true value indicates the error was handled
321
290
  rollback the whole transaction.
322
291
 
323
292
  */
324
-
325
- var ExpoSQLiteDatabase =
326
- /** @class */
327
- function () {
293
+ var ExpoSQLiteDatabase = /** @class */function () {
328
294
  function ExpoSQLiteDatabase() {}
329
-
330
295
  ExpoSQLiteDatabase.prototype.init = function () {
331
296
  return __awaiter(this, void 0, void 0, function () {
332
297
  return __generator(this, function (_a) {
@@ -337,10 +302,7 @@ function () {
337
302
  // Hence, we do not need those arguments.
338
303
  this.db = Object(expo_sqlite__WEBPACK_IMPORTED_MODULE_2__["openDatabase"])(_common_constants__WEBPACK_IMPORTED_MODULE_3__["DB_NAME"]);
339
304
  }
340
-
341
- return [2
342
- /*return*/
343
- ];
305
+ return [2 /*return*/];
344
306
  });
345
307
  });
346
308
  };
@@ -348,7 +310,6 @@ function () {
348
310
  ExpoSQLiteDatabase.prototype.createSchema = function (statements) {
349
311
  return this.executeStatements(statements);
350
312
  };
351
-
352
313
  ExpoSQLiteDatabase.prototype.clear = function () {
353
314
  return __awaiter(this, void 0, void 0, function () {
354
315
  var error_1;
@@ -356,44 +317,27 @@ function () {
356
317
  switch (_a.label) {
357
318
  case 0:
358
319
  _a.trys.push([0, 3,, 4]);
359
-
360
320
  logger.debug('Clearing database');
361
- return [4
362
- /*yield*/
363
- , this.closeDB()];
364
-
321
+ return [4 /*yield*/, this.closeDB()];
365
322
  case 1:
366
- _a.sent(); // delete database is not supported by expo-sqlite.
323
+ _a.sent();
324
+ // delete database is not supported by expo-sqlite.
367
325
  // Database file needs to be deleted using deleteAsync from expo-file-system
368
-
369
-
370
- return [4
371
- /*yield*/
372
- , Object(expo_file_system__WEBPACK_IMPORTED_MODULE_1__["deleteAsync"])(expo_file_system__WEBPACK_IMPORTED_MODULE_1__["documentDirectory"] + "SQLite/" + _common_constants__WEBPACK_IMPORTED_MODULE_3__["DB_NAME"])];
373
-
326
+ return [4 /*yield*/, Object(expo_file_system__WEBPACK_IMPORTED_MODULE_1__["deleteAsync"])(expo_file_system__WEBPACK_IMPORTED_MODULE_1__["documentDirectory"] + "SQLite/" + _common_constants__WEBPACK_IMPORTED_MODULE_3__["DB_NAME"])];
374
327
  case 2:
375
328
  // delete database is not supported by expo-sqlite.
376
329
  // Database file needs to be deleted using deleteAsync from expo-file-system
377
330
  _a.sent();
378
-
379
331
  logger.debug('Database cleared');
380
- return [3
381
- /*break*/
382
- , 4];
383
-
332
+ return [3 /*break*/, 4];
384
333
  case 3:
385
334
  error_1 = _a.sent();
386
- logger.warn('Error clearing the database.', error_1); // open database if it was closed earlier and this.db was set to undefined.
387
-
335
+ logger.warn('Error clearing the database.', error_1);
336
+ // open database if it was closed earlier and this.db was set to undefined.
388
337
  this.init();
389
- return [3
390
- /*break*/
391
- , 4];
392
-
338
+ return [3 /*break*/, 4];
393
339
  case 4:
394
- return [2
395
- /*return*/
396
- ];
340
+ return [2 /*return*/];
397
341
  }
398
342
  });
399
343
  });
@@ -405,23 +349,16 @@ function () {
405
349
  return __generator(this, function (_a) {
406
350
  switch (_a.label) {
407
351
  case 0:
408
- return [4
409
- /*yield*/
410
- , this.getAll(statement, params)];
411
-
352
+ return [4 /*yield*/, this.getAll(statement, params)];
412
353
  case 1:
413
354
  results = _a.sent();
414
- return [2
415
- /*return*/
416
- , results[0]];
355
+ return [2 /*return*/, results[0]];
417
356
  }
418
357
  });
419
358
  });
420
359
  };
421
-
422
360
  ExpoSQLiteDatabase.prototype.getAll = function (statement, params) {
423
361
  var _this = this;
424
-
425
362
  return new Promise(function (resolve, reject) {
426
363
  _this.db.readTransaction(function (transaction) {
427
364
  transaction.executeSql(statement, params, function (_, result) {
@@ -434,10 +371,8 @@ function () {
434
371
  });
435
372
  });
436
373
  };
437
-
438
374
  ExpoSQLiteDatabase.prototype.save = function (statement, params) {
439
375
  var _this = this;
440
-
441
376
  return new Promise(function (resolve, reject) {
442
377
  _this.db.transaction(function (transaction) {
443
378
  transaction.executeSql(statement, params, function () {
@@ -450,14 +385,11 @@ function () {
450
385
  });
451
386
  });
452
387
  };
453
-
454
388
  ExpoSQLiteDatabase.prototype.batchQuery = function (queryParameterizedStatements) {
455
389
  var _this = this;
456
-
457
390
  if (queryParameterizedStatements === void 0) {
458
391
  queryParameterizedStatements = new Set();
459
392
  }
460
-
461
393
  return new Promise(function (resolveTransaction, rejectTransaction) {
462
394
  _this.db.transaction(function (transaction) {
463
395
  return __awaiter(_this, void 0, void 0, function () {
@@ -466,14 +398,10 @@ function () {
466
398
  switch (_a.label) {
467
399
  case 0:
468
400
  _a.trys.push([0, 2,, 3]);
469
-
470
- return [4
471
- /*yield*/
472
- , Promise.all(__spread(queryParameterizedStatements).map(function (_a) {
401
+ return [4 /*yield*/, Promise.all(__spread(queryParameterizedStatements).map(function (_a) {
473
402
  var _b = __read(_a, 2),
474
- statement = _b[0],
475
- params = _b[1];
476
-
403
+ statement = _b[0],
404
+ params = _b[1];
477
405
  return new Promise(function (resolve, reject) {
478
406
  transaction.executeSql(statement, params, function (_, result) {
479
407
  resolve(result.rows._array[0]);
@@ -484,26 +412,17 @@ function () {
484
412
  });
485
413
  });
486
414
  }))];
487
-
488
415
  case 1:
489
416
  results = _a.sent();
490
417
  resolveTransaction(results);
491
- return [3
492
- /*break*/
493
- , 3];
494
-
418
+ return [3 /*break*/, 3];
495
419
  case 2:
496
420
  error_2 = _a.sent();
497
421
  rejectTransaction(error_2);
498
422
  logger.warn(error_2);
499
- return [3
500
- /*break*/
501
- , 3];
502
-
423
+ return [3 /*break*/, 3];
503
424
  case 3:
504
- return [2
505
- /*return*/
506
- ];
425
+ return [2 /*return*/];
507
426
  }
508
427
  });
509
428
  });
@@ -513,11 +432,9 @@ function () {
513
432
 
514
433
  ExpoSQLiteDatabase.prototype.batchSave = function (saveParameterizedStatements, deleteParameterizedStatements) {
515
434
  var _this = this;
516
-
517
435
  if (saveParameterizedStatements === void 0) {
518
436
  saveParameterizedStatements = new Set();
519
437
  }
520
-
521
438
  return new Promise(function (resolveTransaction, rejectTransaction) {
522
439
  _this.db.transaction(function (transaction) {
523
440
  return __awaiter(_this, void 0, void 0, function () {
@@ -525,16 +442,12 @@ function () {
525
442
  return __generator(this, function (_a) {
526
443
  switch (_a.label) {
527
444
  case 0:
528
- _a.trys.push([0, 4,, 5]); // await for all sql statements promises to resolve
529
-
530
-
531
- return [4
532
- /*yield*/
533
- , Promise.all(__spread(saveParameterizedStatements).map(function (_a) {
445
+ _a.trys.push([0, 4,, 5]);
446
+ // await for all sql statements promises to resolve
447
+ return [4 /*yield*/, Promise.all(__spread(saveParameterizedStatements).map(function (_a) {
534
448
  var _b = __read(_a, 2),
535
- statement = _b[0],
536
- params = _b[1];
537
-
449
+ statement = _b[0],
450
+ params = _b[1];
538
451
  return new Promise(function (resolve, reject) {
539
452
  transaction.executeSql(statement, params, function () {
540
453
  resolve(null);
@@ -545,21 +458,14 @@ function () {
545
458
  });
546
459
  });
547
460
  }))];
548
-
549
461
  case 1:
550
462
  // await for all sql statements promises to resolve
551
463
  _a.sent();
552
-
553
- if (!deleteParameterizedStatements) return [3
554
- /*break*/
555
- , 3];
556
- return [4
557
- /*yield*/
558
- , Promise.all(__spread(deleteParameterizedStatements).map(function (_a) {
464
+ if (!deleteParameterizedStatements) return [3 /*break*/, 3];
465
+ return [4 /*yield*/, Promise.all(__spread(deleteParameterizedStatements).map(function (_a) {
559
466
  var _b = __read(_a, 2),
560
- statement = _b[0],
561
- params = _b[1];
562
-
467
+ statement = _b[0],
468
+ params = _b[1];
563
469
  return new Promise(function (resolve, reject) {
564
470
  return transaction.executeSql(statement, params, function () {
565
471
  resolve(null);
@@ -570,30 +476,19 @@ function () {
570
476
  });
571
477
  });
572
478
  }))];
573
-
574
479
  case 2:
575
480
  _a.sent();
576
-
577
481
  _a.label = 3;
578
-
579
482
  case 3:
580
483
  resolveTransaction(null);
581
- return [3
582
- /*break*/
583
- , 5];
584
-
484
+ return [3 /*break*/, 5];
585
485
  case 4:
586
486
  error_3 = _a.sent();
587
487
  rejectTransaction(error_3);
588
488
  logger.warn(error_3);
589
- return [3
590
- /*break*/
591
- , 5];
592
-
489
+ return [3 /*break*/, 5];
593
490
  case 5:
594
- return [2
595
- /*return*/
596
- ];
491
+ return [2 /*return*/];
597
492
  }
598
493
  });
599
494
  });
@@ -603,15 +498,12 @@ function () {
603
498
 
604
499
  ExpoSQLiteDatabase.prototype.selectAndDelete = function (queryParameterizedStatement, deleteParameterizedStatement) {
605
500
  var _this = this;
606
-
607
501
  var _a = __read(queryParameterizedStatement, 2),
608
- queryStatement = _a[0],
609
- queryParams = _a[1];
610
-
502
+ queryStatement = _a[0],
503
+ queryParams = _a[1];
611
504
  var _b = __read(deleteParameterizedStatement, 2),
612
- deleteStatement = _b[0],
613
- deleteParams = _b[1];
614
-
505
+ deleteStatement = _b[0],
506
+ deleteParams = _b[1];
615
507
  return new Promise(function (resolveTransaction, rejectTransaction) {
616
508
  _this.db.transaction(function (transaction) {
617
509
  return __awaiter(_this, void 0, void 0, function () {
@@ -620,10 +512,7 @@ function () {
620
512
  switch (_a.label) {
621
513
  case 0:
622
514
  _a.trys.push([0, 3,, 4]);
623
-
624
- return [4
625
- /*yield*/
626
- , new Promise(function (resolve, reject) {
515
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
627
516
  transaction.executeSql(queryStatement, queryParams, function (_, result) {
628
517
  resolve(result.rows._array || []);
629
518
  }, function (_, error) {
@@ -632,12 +521,9 @@ function () {
632
521
  return true;
633
522
  });
634
523
  })];
635
-
636
524
  case 1:
637
525
  result = _a.sent();
638
- return [4
639
- /*yield*/
640
- , new Promise(function (resolve, reject) {
526
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
641
527
  transaction.executeSql(deleteStatement, deleteParams, function () {
642
528
  resolve(null);
643
529
  }, function (_, error) {
@@ -646,27 +532,17 @@ function () {
646
532
  return true;
647
533
  });
648
534
  })];
649
-
650
535
  case 2:
651
536
  _a.sent();
652
-
653
537
  resolveTransaction(result);
654
- return [3
655
- /*break*/
656
- , 4];
657
-
538
+ return [3 /*break*/, 4];
658
539
  case 3:
659
540
  error_4 = _a.sent();
660
541
  rejectTransaction(error_4);
661
542
  logger.warn(error_4);
662
- return [3
663
- /*break*/
664
- , 4];
665
-
543
+ return [3 /*break*/, 4];
666
544
  case 4:
667
- return [2
668
- /*return*/
669
- ];
545
+ return [2 /*return*/];
670
546
  }
671
547
  });
672
548
  });
@@ -676,7 +552,6 @@ function () {
676
552
 
677
553
  ExpoSQLiteDatabase.prototype.executeStatements = function (statements) {
678
554
  var _this = this;
679
-
680
555
  return new Promise(function (resolveTransaction, rejectTransaction) {
681
556
  _this.db.transaction(function (transaction) {
682
557
  return __awaiter(_this, void 0, void 0, function () {
@@ -685,10 +560,7 @@ function () {
685
560
  switch (_a.label) {
686
561
  case 0:
687
562
  _a.trys.push([0, 2,, 3]);
688
-
689
- return [4
690
- /*yield*/
691
- , Promise.all(statements.map(function (statement) {
563
+ return [4 /*yield*/, Promise.all(statements.map(function (statement) {
692
564
  return new Promise(function (resolve, reject) {
693
565
  transaction.executeSql(statement, [], function () {
694
566
  resolve(null);
@@ -698,27 +570,17 @@ function () {
698
570
  });
699
571
  });
700
572
  }))];
701
-
702
573
  case 1:
703
574
  _a.sent();
704
-
705
575
  resolveTransaction(null);
706
- return [3
707
- /*break*/
708
- , 3];
709
-
576
+ return [3 /*break*/, 3];
710
577
  case 2:
711
578
  error_5 = _a.sent();
712
579
  rejectTransaction(error_5);
713
580
  logger.warn(error_5);
714
- return [3
715
- /*break*/
716
- , 3];
717
-
581
+ return [3 /*break*/, 3];
718
582
  case 3:
719
- return [2
720
- /*return*/
721
- ];
583
+ return [2 /*return*/];
722
584
  }
723
585
  });
724
586
  });
@@ -731,29 +593,20 @@ function () {
731
593
  return __generator(this, function (_a) {
732
594
  switch (_a.label) {
733
595
  case 0:
734
- if (!this.db) return [3
735
- /*break*/
736
- , 2];
737
- logger.debug('Closing Database'); // closing database is not supported by expo-sqlite.
596
+ if (!this.db) return [3 /*break*/, 2];
597
+ logger.debug('Closing Database');
598
+ // closing database is not supported by expo-sqlite.
738
599
  // Workaround is to access the private db variable and call the close() method.
739
-
740
- return [4
741
- /*yield*/
742
- , this.db._db.close()];
743
-
600
+ return [4 /*yield*/, this.db._db.close()];
744
601
  case 1:
745
602
  // closing database is not supported by expo-sqlite.
746
603
  // Workaround is to access the private db variable and call the close() method.
747
604
  _a.sent();
748
-
749
605
  logger.debug('Database closed');
750
606
  this.db = undefined;
751
607
  _a.label = 2;
752
-
753
608
  case 2:
754
- return [2
755
- /*return*/
756
- ];
609
+ return [2 /*return*/];
757
610
  }
758
611
  });
759
612
  });
@@ -761,7 +614,6 @@ function () {
761
614
 
762
615
  return ExpoSQLiteDatabase;
763
616
  }();
764
-
765
617
  /* harmony default export */ __webpack_exports__["default"] = (ExpoSQLiteDatabase);
766
618
 
767
619
  /***/ }),
@@ -787,7 +639,6 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
787
639
  resolve(value);
788
640
  });
789
641
  }
790
-
791
642
  return new (P || (P = Promise))(function (resolve, reject) {
792
643
  function fulfilled(value) {
793
644
  try {
@@ -796,7 +647,6 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
796
647
  reject(e);
797
648
  }
798
649
  }
799
-
800
650
  function rejected(value) {
801
651
  try {
802
652
  step(generator["throw"](value));
@@ -804,29 +654,26 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
804
654
  reject(e);
805
655
  }
806
656
  }
807
-
808
657
  function step(result) {
809
658
  result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
810
659
  }
811
-
812
660
  step((generator = generator.apply(thisArg, _arguments || [])).next());
813
661
  });
814
662
  };
815
-
816
663
  var __generator = undefined && undefined.__generator || function (thisArg, body) {
817
664
  var _ = {
818
- label: 0,
819
- sent: function sent() {
820
- if (t[0] & 1) throw t[1];
821
- return t[1];
665
+ label: 0,
666
+ sent: function sent() {
667
+ if (t[0] & 1) throw t[1];
668
+ return t[1];
669
+ },
670
+ trys: [],
671
+ ops: []
822
672
  },
823
- trys: [],
824
- ops: []
825
- },
826
- f,
827
- y,
828
- t,
829
- g;
673
+ f,
674
+ y,
675
+ t,
676
+ g;
830
677
  return g = {
831
678
  next: verb(0),
832
679
  "throw": verb(1),
@@ -834,79 +681,60 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
834
681
  }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
835
682
  return this;
836
683
  }), g;
837
-
838
684
  function verb(n) {
839
685
  return function (v) {
840
686
  return step([n, v]);
841
687
  };
842
688
  }
843
-
844
689
  function step(op) {
845
690
  if (f) throw new TypeError("Generator is already executing.");
846
-
847
691
  while (_) {
848
692
  try {
849
693
  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;
850
694
  if (y = 0, t) op = [op[0] & 2, t.value];
851
-
852
695
  switch (op[0]) {
853
696
  case 0:
854
697
  case 1:
855
698
  t = op;
856
699
  break;
857
-
858
700
  case 4:
859
701
  _.label++;
860
702
  return {
861
703
  value: op[1],
862
704
  done: false
863
705
  };
864
-
865
706
  case 5:
866
707
  _.label++;
867
708
  y = op[1];
868
709
  op = [0];
869
710
  continue;
870
-
871
711
  case 7:
872
712
  op = _.ops.pop();
873
-
874
713
  _.trys.pop();
875
-
876
714
  continue;
877
-
878
715
  default:
879
716
  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
880
717
  _ = 0;
881
718
  continue;
882
719
  }
883
-
884
720
  if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
885
721
  _.label = op[1];
886
722
  break;
887
723
  }
888
-
889
724
  if (op[0] === 6 && _.label < t[1]) {
890
725
  _.label = t[1];
891
726
  t = op;
892
727
  break;
893
728
  }
894
-
895
729
  if (t && _.label < t[2]) {
896
730
  _.label = t[2];
897
-
898
731
  _.ops.push(op);
899
-
900
732
  break;
901
733
  }
902
-
903
734
  if (t[2]) _.ops.pop();
904
-
905
735
  _.trys.pop();
906
-
907
736
  continue;
908
737
  }
909
-
910
738
  op = body.call(thisArg, _);
911
739
  } catch (e) {
912
740
  op = [6, e];
@@ -915,7 +743,6 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
915
743
  f = t = 0;
916
744
  }
917
745
  }
918
-
919
746
  if (op[0] & 5) throw op[1];
920
747
  return {
921
748
  value: op[0] ? op[1] : void 0,
@@ -923,15 +750,13 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
923
750
  };
924
751
  }
925
752
  };
926
-
927
753
  var __asyncValues = undefined && undefined.__asyncValues || function (o) {
928
754
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
929
755
  var m = o[Symbol.asyncIterator],
930
- i;
756
+ i;
931
757
  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 () {
932
758
  return this;
933
759
  }, i);
934
-
935
760
  function verb(n) {
936
761
  i[n] = o[n] && function (v) {
937
762
  return new Promise(function (resolve, reject) {
@@ -939,7 +764,6 @@ var __asyncValues = undefined && undefined.__asyncValues || function (o) {
939
764
  });
940
765
  };
941
766
  }
942
-
943
767
  function settle(resolve, reject, d, v) {
944
768
  Promise.resolve(v).then(function (v) {
945
769
  resolve({
@@ -949,15 +773,13 @@ var __asyncValues = undefined && undefined.__asyncValues || function (o) {
949
773
  }, reject);
950
774
  }
951
775
  };
952
-
953
776
  var __read = undefined && undefined.__read || function (o, n) {
954
777
  var m = typeof Symbol === "function" && o[Symbol.iterator];
955
778
  if (!m) return o;
956
779
  var i = m.call(o),
957
- r,
958
- ar = [],
959
- e;
960
-
780
+ r,
781
+ ar = [],
782
+ e;
961
783
  try {
962
784
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
963
785
  ar.push(r.value);
@@ -973,14 +795,12 @@ var __read = undefined && undefined.__read || function (o, n) {
973
795
  if (e) throw e.error;
974
796
  }
975
797
  }
976
-
977
798
  return ar;
978
799
  };
979
-
980
800
  var __values = undefined && undefined.__values || function (o) {
981
801
  var s = typeof Symbol === "function" && Symbol.iterator,
982
- m = s && o[s],
983
- i = 0;
802
+ m = s && o[s],
803
+ i = 0;
984
804
  if (m) return m.call(o);
985
805
  if (o && typeof o.length === "number") return {
986
806
  next: function next() {
@@ -996,92 +816,55 @@ var __values = undefined && undefined.__values || function (o) {
996
816
 
997
817
 
998
818
 
999
-
1000
819
  var traverseModel = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["utils"].traverseModel,
1001
- validatePredicate = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["utils"].validatePredicate,
1002
- isModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["utils"].isModelConstructor;
820
+ validatePredicate = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["utils"].validatePredicate,
821
+ isModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["utils"].isModelConstructor;
1003
822
  var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('DataStore');
1004
-
1005
- var CommonSQLiteAdapter =
1006
- /** @class */
1007
- function () {
823
+ var CommonSQLiteAdapter = /** @class */function () {
1008
824
  function CommonSQLiteAdapter(db) {
1009
825
  this.db = db;
1010
826
  }
1011
-
1012
827
  CommonSQLiteAdapter.prototype.setUp = function (theSchema, namespaceResolver, modelInstanceCreator, getModelConstructorByModelName) {
1013
828
  return __awaiter(this, void 0, void 0, function () {
1014
829
  var statements, error_1;
1015
-
1016
830
  var _this = this;
1017
-
1018
831
  return __generator(this, function (_a) {
1019
832
  switch (_a.label) {
1020
833
  case 0:
1021
- if (!!this.initPromise) return [3
1022
- /*break*/
1023
- , 1];
834
+ if (!!this.initPromise) return [3 /*break*/, 1];
1024
835
  this.initPromise = new Promise(function (res, rej) {
1025
836
  _this.resolve = res;
1026
837
  _this.reject = rej;
1027
838
  });
1028
- return [3
1029
- /*break*/
1030
- , 3];
1031
-
839
+ return [3 /*break*/, 3];
1032
840
  case 1:
1033
- return [4
1034
- /*yield*/
1035
- , this.initPromise];
1036
-
841
+ return [4 /*yield*/, this.initPromise];
1037
842
  case 2:
1038
843
  _a.sent();
1039
-
1040
- return [2
1041
- /*return*/
1042
- ];
1043
-
844
+ return [2 /*return*/];
1044
845
  case 3:
1045
846
  this.schema = theSchema;
1046
847
  this.namespaceResolver = namespaceResolver;
1047
848
  this.modelInstanceCreator = modelInstanceCreator;
1048
849
  this.getModelConstructorByModelName = getModelConstructorByModelName;
1049
850
  _a.label = 4;
1050
-
1051
851
  case 4:
1052
852
  _a.trys.push([4, 7,, 8]);
1053
-
1054
- return [4
1055
- /*yield*/
1056
- , this.db.init()];
1057
-
853
+ return [4 /*yield*/, this.db.init()];
1058
854
  case 5:
1059
855
  _a.sent();
1060
-
1061
856
  statements = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["generateSchemaStatements"])(this.schema);
1062
- return [4
1063
- /*yield*/
1064
- , this.db.createSchema(statements)];
1065
-
857
+ return [4 /*yield*/, this.db.createSchema(statements)];
1066
858
  case 6:
1067
859
  _a.sent();
1068
-
1069
860
  this.resolve();
1070
- return [3
1071
- /*break*/
1072
- , 8];
1073
-
861
+ return [3 /*break*/, 8];
1074
862
  case 7:
1075
863
  error_1 = _a.sent();
1076
864
  this.reject(error_1);
1077
- return [3
1078
- /*break*/
1079
- , 8];
1080
-
865
+ return [3 /*break*/, 8];
1081
866
  case 8:
1082
- return [2
1083
- /*return*/
1084
- ];
867
+ return [2 /*return*/];
1085
868
  }
1086
869
  });
1087
870
  });
@@ -1092,17 +875,11 @@ function () {
1092
875
  return __generator(this, function (_a) {
1093
876
  switch (_a.label) {
1094
877
  case 0:
1095
- return [4
1096
- /*yield*/
1097
- , this.db.clear()];
1098
-
878
+ return [4 /*yield*/, this.db.clear()];
1099
879
  case 1:
1100
880
  _a.sent();
1101
-
1102
881
  this.initPromise = undefined;
1103
- return [2
1104
- /*return*/
1105
- ];
882
+ return [2 /*return*/];
1106
883
  }
1107
884
  });
1108
885
  });
@@ -1110,10 +887,8 @@ function () {
1110
887
 
1111
888
  CommonSQLiteAdapter.prototype.save = function (model, condition) {
1112
889
  var e_1, _a;
1113
-
1114
890
  return __awaiter(this, void 0, void 0, function () {
1115
891
  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;
1116
-
1117
892
  return __generator(this, function (_d) {
1118
893
  switch (_d.label) {
1119
894
  case 0:
@@ -1122,8 +897,8 @@ function () {
1122
897
  connectedModels = traverseModel(modelConstructor.name, model, this.schema.namespaces[this.namespaceResolver(modelConstructor)], this.modelInstanceCreator, this.getModelConstructorByModelName);
1123
898
  connectionStoreNames = Object.values(connectedModels).map(function (_a) {
1124
899
  var modelName = _a.modelName,
1125
- item = _a.item,
1126
- instance = _a.instance;
900
+ item = _a.item,
901
+ instance = _a.instance;
1127
902
  return {
1128
903
  modelName: modelName,
1129
904
  item: item,
@@ -1131,18 +906,13 @@ function () {
1131
906
  };
1132
907
  });
1133
908
  _b = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(model.id, tableName), 2), queryStatement = _b[0], params = _b[1];
1134
- return [4
1135
- /*yield*/
1136
- , this.db.get(queryStatement, params)];
1137
-
909
+ return [4 /*yield*/, this.db.get(queryStatement, params)];
1138
910
  case 1:
1139
911
  fromDB = _d.sent();
1140
-
1141
912
  if (condition && fromDB) {
1142
913
  predicates = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["ModelPredicateCreator"].getPredicates(condition);
1143
914
  predicateObjs = predicates.predicates, type = predicates.type;
1144
915
  isValid = validatePredicate(fromDB, type, predicateObjs);
1145
-
1146
916
  if (!isValid) {
1147
917
  msg = 'Conditional update failed';
1148
918
  logger.error(msg, {
@@ -1152,122 +922,70 @@ function () {
1152
922
  throw new Error(msg);
1153
923
  }
1154
924
  }
1155
-
1156
925
  result = [];
1157
926
  saveStatements = new Set();
1158
927
  _d.label = 2;
1159
-
1160
928
  case 2:
1161
929
  _d.trys.push([2, 8, 9, 14]);
1162
-
1163
930
  connectionStoreNames_1 = __asyncValues(connectionStoreNames);
1164
931
  _d.label = 3;
1165
-
1166
932
  case 3:
1167
- return [4
1168
- /*yield*/
1169
- , connectionStoreNames_1.next()];
1170
-
933
+ return [4 /*yield*/, connectionStoreNames_1.next()];
1171
934
  case 4:
1172
- if (!(connectionStoreNames_1_1 = _d.sent(), !connectionStoreNames_1_1.done)) return [3
1173
- /*break*/
1174
- , 7];
935
+ if (!(connectionStoreNames_1_1 = _d.sent(), !connectionStoreNames_1_1.done)) return [3 /*break*/, 7];
1175
936
  resItem = connectionStoreNames_1_1.value;
1176
937
  modelName = resItem.modelName, item = resItem.item, instance = resItem.instance;
1177
938
  id = item.id;
1178
939
  _c = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(id, modelName), 2), queryStatement_1 = _c[0], params_1 = _c[1];
1179
- return [4
1180
- /*yield*/
1181
- , this.db.get(queryStatement_1, params_1)];
1182
-
940
+ return [4 /*yield*/, this.db.get(queryStatement_1, params_1)];
1183
941
  case 5:
1184
942
  fromDB_1 = _d.sent();
1185
943
  opType = fromDB_1 === undefined ? _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["OpType"].INSERT : _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["OpType"].UPDATE;
1186
944
  saveStatement = fromDB_1 ? Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["modelUpdateStatement"])(instance, modelName) : Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["modelInsertStatement"])(instance, modelName);
1187
-
1188
945
  if (id === model.id || opType === _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["OpType"].INSERT) {
1189
946
  saveStatements.add(saveStatement);
1190
947
  result.push([instance, opType]);
1191
948
  }
1192
-
1193
949
  _d.label = 6;
1194
-
1195
950
  case 6:
1196
- return [3
1197
- /*break*/
1198
- , 3];
1199
-
951
+ return [3 /*break*/, 3];
1200
952
  case 7:
1201
- return [3
1202
- /*break*/
1203
- , 14];
1204
-
953
+ return [3 /*break*/, 14];
1205
954
  case 8:
1206
955
  e_1_1 = _d.sent();
1207
956
  e_1 = {
1208
957
  error: e_1_1
1209
958
  };
1210
- return [3
1211
- /*break*/
1212
- , 14];
1213
-
959
+ return [3 /*break*/, 14];
1214
960
  case 9:
1215
961
  _d.trys.push([9,, 12, 13]);
1216
-
1217
- if (!(connectionStoreNames_1_1 && !connectionStoreNames_1_1.done && (_a = connectionStoreNames_1["return"]))) return [3
1218
- /*break*/
1219
- , 11];
1220
- return [4
1221
- /*yield*/
1222
- , _a.call(connectionStoreNames_1)];
1223
-
962
+ if (!(connectionStoreNames_1_1 && !connectionStoreNames_1_1.done && (_a = connectionStoreNames_1["return"]))) return [3 /*break*/, 11];
963
+ return [4 /*yield*/, _a.call(connectionStoreNames_1)];
1224
964
  case 10:
1225
965
  _d.sent();
1226
-
1227
966
  _d.label = 11;
1228
-
1229
967
  case 11:
1230
- return [3
1231
- /*break*/
1232
- , 13];
1233
-
968
+ return [3 /*break*/, 13];
1234
969
  case 12:
1235
970
  if (e_1) throw e_1.error;
1236
- return [7
1237
- /*endfinally*/
1238
- ];
1239
-
971
+ return [7 /*endfinally*/];
1240
972
  case 13:
1241
- return [7
1242
- /*endfinally*/
1243
- ];
1244
-
973
+ return [7 /*endfinally*/];
1245
974
  case 14:
1246
- return [4
1247
- /*yield*/
1248
- , this.db.batchSave(saveStatements)];
1249
-
975
+ return [4 /*yield*/, this.db.batchSave(saveStatements)];
1250
976
  case 15:
1251
977
  _d.sent();
1252
-
1253
- return [2
1254
- /*return*/
1255
- , result];
978
+ return [2 /*return*/, result];
1256
979
  }
1257
980
  });
1258
981
  });
1259
982
  };
1260
-
1261
983
  CommonSQLiteAdapter.prototype.load = function (namespaceName, srcModelName, records) {
1262
984
  var records_1, records_1_1, records_2, records_2_1;
1263
-
1264
985
  var e_2, _a, e_3, _b, e_4, _c;
1265
-
1266
986
  return __awaiter(this, void 0, void 0, function () {
1267
987
  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;
1268
-
1269
988
  var _this = this;
1270
-
1271
989
  return __generator(this, function (_g) {
1272
990
  switch (_g.label) {
1273
991
  case 0:
@@ -1278,305 +996,161 @@ function () {
1278
996
  return modelName;
1279
997
  });
1280
998
  modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);
1281
-
1282
999
  if (connectionTableNames.length === 0) {
1283
- return [2
1284
- /*return*/
1285
- , records.map(function (record) {
1000
+ return [2 /*return*/, records.map(function (record) {
1286
1001
  return _this.modelInstanceCreator(modelConstructor, record);
1287
1002
  })];
1288
1003
  }
1289
-
1290
1004
  _g.label = 1;
1291
-
1292
1005
  case 1:
1293
1006
  _g.trys.push([1, 34, 35, 40]);
1294
-
1295
1007
  relations_1 = __asyncValues(relations);
1296
1008
  _g.label = 2;
1297
-
1298
1009
  case 2:
1299
- return [4
1300
- /*yield*/
1301
- , relations_1.next()];
1302
-
1010
+ return [4 /*yield*/, relations_1.next()];
1303
1011
  case 3:
1304
- if (!(relations_1_1 = _g.sent(), !relations_1_1.done)) return [3
1305
- /*break*/
1306
- , 33];
1012
+ if (!(relations_1_1 = _g.sent(), !relations_1_1.done)) return [3 /*break*/, 33];
1307
1013
  relation = relations_1_1.value;
1308
1014
  fieldName = relation.fieldName, tableName = relation.modelName, targetName = relation.targetName, relationType = relation.relationType;
1309
1015
  modelConstructor_1 = this.getModelConstructorByModelName(namespaceName, tableName);
1310
1016
  _d = relationType;
1311
-
1312
1017
  switch (_d) {
1313
1018
  case 'HAS_ONE':
1314
- return [3
1315
- /*break*/
1316
- , 4];
1317
-
1019
+ return [3 /*break*/, 4];
1318
1020
  case 'BELONGS_TO':
1319
- return [3
1320
- /*break*/
1321
- , 17];
1322
-
1021
+ return [3 /*break*/, 17];
1323
1022
  case 'HAS_MANY':
1324
- return [3
1325
- /*break*/
1326
- , 30];
1023
+ return [3 /*break*/, 30];
1327
1024
  }
1328
-
1329
- return [3
1330
- /*break*/
1331
- , 31];
1332
-
1025
+ return [3 /*break*/, 31];
1333
1026
  case 4:
1334
1027
  _g.trys.push([4, 10, 11, 16]);
1335
-
1336
1028
  records_1 = __asyncValues(records);
1337
1029
  _g.label = 5;
1338
-
1339
1030
  case 5:
1340
- return [4
1341
- /*yield*/
1342
- , records_1.next()];
1343
-
1031
+ return [4 /*yield*/, records_1.next()];
1344
1032
  case 6:
1345
- if (!(records_1_1 = _g.sent(), !records_1_1.done)) return [3
1346
- /*break*/
1347
- , 9];
1033
+ if (!(records_1_1 = _g.sent(), !records_1_1.done)) return [3 /*break*/, 9];
1348
1034
  recordItem = records_1_1.value;
1349
1035
  getByfield = recordItem[targetName] ? targetName : fieldName;
1350
- if (!recordItem[getByfield]) return [3
1351
- /*break*/
1352
- , 9];
1036
+ if (!recordItem[getByfield]) return [3 /*break*/, 9];
1353
1037
  _e = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(recordItem[getByfield], tableName), 2), queryStatement = _e[0], params = _e[1];
1354
- return [4
1355
- /*yield*/
1356
- , this.db.get(queryStatement, params)];
1357
-
1038
+ return [4 /*yield*/, this.db.get(queryStatement, params)];
1358
1039
  case 7:
1359
1040
  connectionRecord = _g.sent();
1360
1041
  recordItem[fieldName] = connectionRecord && this.modelInstanceCreator(modelConstructor_1, connectionRecord);
1361
1042
  _g.label = 8;
1362
-
1363
1043
  case 8:
1364
- return [3
1365
- /*break*/
1366
- , 5];
1367
-
1044
+ return [3 /*break*/, 5];
1368
1045
  case 9:
1369
- return [3
1370
- /*break*/
1371
- , 16];
1372
-
1046
+ return [3 /*break*/, 16];
1373
1047
  case 10:
1374
1048
  e_3_1 = _g.sent();
1375
1049
  e_3 = {
1376
1050
  error: e_3_1
1377
1051
  };
1378
- return [3
1379
- /*break*/
1380
- , 16];
1381
-
1052
+ return [3 /*break*/, 16];
1382
1053
  case 11:
1383
1054
  _g.trys.push([11,, 14, 15]);
1384
-
1385
- if (!(records_1_1 && !records_1_1.done && (_b = records_1["return"]))) return [3
1386
- /*break*/
1387
- , 13];
1388
- return [4
1389
- /*yield*/
1390
- , _b.call(records_1)];
1391
-
1055
+ if (!(records_1_1 && !records_1_1.done && (_b = records_1["return"]))) return [3 /*break*/, 13];
1056
+ return [4 /*yield*/, _b.call(records_1)];
1392
1057
  case 12:
1393
1058
  _g.sent();
1394
-
1395
1059
  _g.label = 13;
1396
-
1397
1060
  case 13:
1398
- return [3
1399
- /*break*/
1400
- , 15];
1401
-
1061
+ return [3 /*break*/, 15];
1402
1062
  case 14:
1403
1063
  if (e_3) throw e_3.error;
1404
- return [7
1405
- /*endfinally*/
1406
- ];
1407
-
1064
+ return [7 /*endfinally*/];
1408
1065
  case 15:
1409
- return [7
1410
- /*endfinally*/
1411
- ];
1412
-
1066
+ return [7 /*endfinally*/];
1413
1067
  case 16:
1414
- return [3
1415
- /*break*/
1416
- , 32];
1417
-
1068
+ return [3 /*break*/, 32];
1418
1069
  case 17:
1419
1070
  _g.trys.push([17, 23, 24, 29]);
1420
-
1421
1071
  records_2 = __asyncValues(records);
1422
1072
  _g.label = 18;
1423
-
1424
1073
  case 18:
1425
- return [4
1426
- /*yield*/
1427
- , records_2.next()];
1428
-
1074
+ return [4 /*yield*/, records_2.next()];
1429
1075
  case 19:
1430
- if (!(records_2_1 = _g.sent(), !records_2_1.done)) return [3
1431
- /*break*/
1432
- , 22];
1076
+ if (!(records_2_1 = _g.sent(), !records_2_1.done)) return [3 /*break*/, 22];
1433
1077
  recordItem = records_2_1.value;
1434
- if (!recordItem[targetName]) return [3
1435
- /*break*/
1436
- , 21];
1078
+ if (!recordItem[targetName]) return [3 /*break*/, 21];
1437
1079
  _f = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(recordItem[targetName], tableName), 2), queryStatement = _f[0], params = _f[1];
1438
- return [4
1439
- /*yield*/
1440
- , this.db.get(queryStatement, params)];
1441
-
1080
+ return [4 /*yield*/, this.db.get(queryStatement, params)];
1442
1081
  case 20:
1443
1082
  connectionRecord = _g.sent();
1444
1083
  recordItem[fieldName] = connectionRecord && this.modelInstanceCreator(modelConstructor_1, connectionRecord);
1445
1084
  delete recordItem[targetName];
1446
1085
  _g.label = 21;
1447
-
1448
1086
  case 21:
1449
- return [3
1450
- /*break*/
1451
- , 18];
1452
-
1087
+ return [3 /*break*/, 18];
1453
1088
  case 22:
1454
- return [3
1455
- /*break*/
1456
- , 29];
1457
-
1089
+ return [3 /*break*/, 29];
1458
1090
  case 23:
1459
1091
  e_4_1 = _g.sent();
1460
1092
  e_4 = {
1461
1093
  error: e_4_1
1462
1094
  };
1463
- return [3
1464
- /*break*/
1465
- , 29];
1466
-
1095
+ return [3 /*break*/, 29];
1467
1096
  case 24:
1468
1097
  _g.trys.push([24,, 27, 28]);
1469
-
1470
- if (!(records_2_1 && !records_2_1.done && (_c = records_2["return"]))) return [3
1471
- /*break*/
1472
- , 26];
1473
- return [4
1474
- /*yield*/
1475
- , _c.call(records_2)];
1476
-
1098
+ if (!(records_2_1 && !records_2_1.done && (_c = records_2["return"]))) return [3 /*break*/, 26];
1099
+ return [4 /*yield*/, _c.call(records_2)];
1477
1100
  case 25:
1478
1101
  _g.sent();
1479
-
1480
1102
  _g.label = 26;
1481
-
1482
1103
  case 26:
1483
- return [3
1484
- /*break*/
1485
- , 28];
1486
-
1104
+ return [3 /*break*/, 28];
1487
1105
  case 27:
1488
1106
  if (e_4) throw e_4.error;
1489
- return [7
1490
- /*endfinally*/
1491
- ];
1492
-
1107
+ return [7 /*endfinally*/];
1493
1108
  case 28:
1494
- return [7
1495
- /*endfinally*/
1496
- ];
1497
-
1109
+ return [7 /*endfinally*/];
1498
1110
  case 29:
1499
- return [3
1500
- /*break*/
1501
- , 32];
1502
-
1111
+ return [3 /*break*/, 32];
1503
1112
  case 30:
1504
1113
  // TODO: Lazy loading
1505
- return [3
1506
- /*break*/
1507
- , 32];
1508
-
1114
+ return [3 /*break*/, 32];
1509
1115
  case 31:
1510
1116
  _ = relationType;
1511
1117
  throw new Error("invalid relation type " + relationType);
1512
-
1513
1118
  case 32:
1514
- return [3
1515
- /*break*/
1516
- , 2];
1517
-
1119
+ return [3 /*break*/, 2];
1518
1120
  case 33:
1519
- return [3
1520
- /*break*/
1521
- , 40];
1522
-
1121
+ return [3 /*break*/, 40];
1523
1122
  case 34:
1524
1123
  e_2_1 = _g.sent();
1525
1124
  e_2 = {
1526
1125
  error: e_2_1
1527
1126
  };
1528
- return [3
1529
- /*break*/
1530
- , 40];
1531
-
1127
+ return [3 /*break*/, 40];
1532
1128
  case 35:
1533
1129
  _g.trys.push([35,, 38, 39]);
1534
-
1535
- if (!(relations_1_1 && !relations_1_1.done && (_a = relations_1["return"]))) return [3
1536
- /*break*/
1537
- , 37];
1538
- return [4
1539
- /*yield*/
1540
- , _a.call(relations_1)];
1541
-
1130
+ if (!(relations_1_1 && !relations_1_1.done && (_a = relations_1["return"]))) return [3 /*break*/, 37];
1131
+ return [4 /*yield*/, _a.call(relations_1)];
1542
1132
  case 36:
1543
1133
  _g.sent();
1544
-
1545
1134
  _g.label = 37;
1546
-
1547
1135
  case 37:
1548
- return [3
1549
- /*break*/
1550
- , 39];
1551
-
1136
+ return [3 /*break*/, 39];
1552
1137
  case 38:
1553
1138
  if (e_2) throw e_2.error;
1554
- return [7
1555
- /*endfinally*/
1556
- ];
1557
-
1139
+ return [7 /*endfinally*/];
1558
1140
  case 39:
1559
- return [7
1560
- /*endfinally*/
1561
- ];
1562
-
1141
+ return [7 /*endfinally*/];
1563
1142
  case 40:
1564
- return [2
1565
- /*return*/
1566
- , records.map(function (record) {
1143
+ return [2 /*return*/, records.map(function (record) {
1567
1144
  return _this.modelInstanceCreator(modelConstructor, record);
1568
1145
  })];
1569
1146
  }
1570
1147
  });
1571
1148
  });
1572
1149
  };
1573
-
1574
1150
  CommonSQLiteAdapter.prototype.query = function (modelConstructor, predicate, pagination) {
1575
1151
  return __awaiter(this, void 0, void 0, function () {
1576
1152
  var tableName, namespaceName, predicates, sortPredicates, limit, page, queryById, records;
1577
-
1578
1153
  var _this = this;
1579
-
1580
1154
  return __generator(this, function (_a) {
1581
1155
  switch (_a.label) {
1582
1156
  case 0:
@@ -1587,80 +1161,50 @@ function () {
1587
1161
  limit = pagination && pagination.limit;
1588
1162
  page = limit && pagination.page;
1589
1163
  queryById = predicates && this.idFromPredicate(predicates);
1590
- return [4
1591
- /*yield*/
1592
- , function () {
1164
+ return [4 /*yield*/, function () {
1593
1165
  return __awaiter(_this, void 0, void 0, function () {
1594
1166
  var record, _a, queryStatement, params;
1595
-
1596
1167
  return __generator(this, function (_b) {
1597
1168
  switch (_b.label) {
1598
1169
  case 0:
1599
- if (!queryById) return [3
1600
- /*break*/
1601
- , 2];
1602
- return [4
1603
- /*yield*/
1604
- , this.getById(tableName, queryById)];
1605
-
1170
+ if (!queryById) return [3 /*break*/, 2];
1171
+ return [4 /*yield*/, this.getById(tableName, queryById)];
1606
1172
  case 1:
1607
1173
  record = _b.sent();
1608
- return [2
1609
- /*return*/
1610
- , record ? [record] : []];
1611
-
1174
+ return [2 /*return*/, record ? [record] : []];
1612
1175
  case 2:
1613
1176
  _a = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryAllStatement"])(tableName, predicates, sortPredicates, limit, page), 2), queryStatement = _a[0], params = _a[1];
1614
- return [4
1615
- /*yield*/
1616
- , this.db.getAll(queryStatement, params)];
1617
-
1177
+ return [4 /*yield*/, this.db.getAll(queryStatement, params)];
1618
1178
  case 3:
1619
- return [2
1620
- /*return*/
1621
- , _b.sent()];
1179
+ return [2 /*return*/, _b.sent()];
1622
1180
  }
1623
1181
  });
1624
1182
  });
1625
1183
  }()];
1626
-
1627
1184
  case 1:
1628
1185
  records = _a.sent();
1629
- return [4
1630
- /*yield*/
1631
- , this.load(namespaceName, modelConstructor.name, records)];
1632
-
1186
+ return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, records)];
1633
1187
  case 2:
1634
- return [2
1635
- /*return*/
1636
- , _a.sent()];
1188
+ return [2 /*return*/, _a.sent()];
1637
1189
  }
1638
1190
  });
1639
1191
  });
1640
1192
  };
1641
-
1642
1193
  CommonSQLiteAdapter.prototype.getById = function (tableName, id) {
1643
1194
  return __awaiter(this, void 0, void 0, function () {
1644
1195
  var _a, queryStatement, params, record;
1645
-
1646
1196
  return __generator(this, function (_b) {
1647
1197
  switch (_b.label) {
1648
1198
  case 0:
1649
1199
  _a = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(id, tableName), 2), queryStatement = _a[0], params = _a[1];
1650
- return [4
1651
- /*yield*/
1652
- , this.db.get(queryStatement, params)];
1653
-
1200
+ return [4 /*yield*/, this.db.get(queryStatement, params)];
1654
1201
  case 1:
1655
1202
  record = _b.sent();
1656
- return [2
1657
- /*return*/
1658
- , record];
1203
+ return [2 /*return*/, record];
1659
1204
  }
1660
1205
  });
1661
1206
  });
1662
1207
  };
1663
-
1664
1208
  CommonSQLiteAdapter.prototype.idFromPredicate = function (predicates) {
1665
1209
  var predicateObjs = predicates.predicates;
1666
1210
  var idPredicate = predicateObjs.length === 1 && predicateObjs.find(function (p) {
@@ -1668,99 +1212,68 @@ function () {
1668
1212
  });
1669
1213
  return idPredicate && idPredicate.operand;
1670
1214
  };
1671
-
1672
1215
  CommonSQLiteAdapter.prototype.queryOne = function (modelConstructor, firstOrLast) {
1673
1216
  if (firstOrLast === void 0) {
1674
1217
  firstOrLast = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["QueryOne"].FIRST;
1675
1218
  }
1676
-
1677
1219
  return __awaiter(this, void 0, void 0, function () {
1678
1220
  var tableName, _a, queryStatement, params, result, modelInstance;
1679
-
1680
1221
  return __generator(this, function (_b) {
1681
1222
  switch (_b.label) {
1682
1223
  case 0:
1683
1224
  tableName = modelConstructor.name;
1684
1225
  _a = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryOneStatement"])(firstOrLast, tableName), 2), queryStatement = _a[0], params = _a[1];
1685
- return [4
1686
- /*yield*/
1687
- , this.db.get(queryStatement, params)];
1688
-
1226
+ return [4 /*yield*/, this.db.get(queryStatement, params)];
1689
1227
  case 1:
1690
1228
  result = _b.sent();
1691
1229
  modelInstance = result && this.modelInstanceCreator(modelConstructor, result);
1692
- return [2
1693
- /*return*/
1694
- , modelInstance];
1230
+ return [2 /*return*/, modelInstance];
1695
1231
  }
1696
1232
  });
1697
1233
  });
1698
- }; // Currently does not cascade
1234
+ };
1235
+ // Currently does not cascade
1699
1236
  // TODO: use FKs in relations and have `ON DELETE CASCADE` set
1700
1237
  // For Has Many and Has One relations to have SQL handle cascades automatically
1701
-
1702
-
1703
1238
  CommonSQLiteAdapter.prototype["delete"] = function (modelOrModelConstructor, condition) {
1704
1239
  return __awaiter(this, void 0, void 0, function () {
1705
1240
  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;
1706
-
1707
1241
  return __generator(this, function (_d) {
1708
1242
  switch (_d.label) {
1709
1243
  case 0:
1710
- if (!isModelConstructor(modelOrModelConstructor)) return [3
1711
- /*break*/
1712
- , 3];
1244
+ if (!isModelConstructor(modelOrModelConstructor)) return [3 /*break*/, 3];
1713
1245
  modelConstructor = modelOrModelConstructor;
1714
1246
  namespaceName = this.namespaceResolver(modelConstructor);
1715
1247
  tableName = modelConstructor.name;
1716
1248
  predicates = condition && _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["ModelPredicateCreator"].getPredicates(condition);
1717
1249
  queryStatement = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryAllStatement"])(tableName, predicates);
1718
1250
  deleteStatement = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["deleteByPredicateStatement"])(tableName, predicates);
1719
- return [4
1720
- /*yield*/
1721
- , this.db.selectAndDelete(queryStatement, deleteStatement)];
1722
-
1251
+ return [4 /*yield*/, this.db.selectAndDelete(queryStatement, deleteStatement)];
1723
1252
  case 1:
1724
1253
  models = _d.sent();
1725
- return [4
1726
- /*yield*/
1727
- , this.load(namespaceName, modelConstructor.name, models)];
1728
-
1254
+ return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, models)];
1729
1255
  case 2:
1730
1256
  modelInstances = _d.sent();
1731
- return [2
1732
- /*return*/
1733
- , [modelInstances, modelInstances]];
1734
-
1257
+ return [2 /*return*/, [modelInstances, modelInstances]];
1735
1258
  case 3:
1736
1259
  model = modelOrModelConstructor;
1737
1260
  modelConstructor = Object.getPrototypeOf(model).constructor;
1738
1261
  tableName = modelConstructor.name;
1739
- if (!condition) return [3
1740
- /*break*/
1741
- , 6];
1262
+ if (!condition) return [3 /*break*/, 6];
1742
1263
  _a = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(model.id, tableName), 2), queryStatement = _a[0], params = _a[1];
1743
- return [4
1744
- /*yield*/
1745
- , this.db.get(queryStatement, params)];
1746
-
1264
+ return [4 /*yield*/, this.db.get(queryStatement, params)];
1747
1265
  case 4:
1748
1266
  fromDB = _d.sent();
1749
-
1750
1267
  if (fromDB === undefined) {
1751
1268
  msg = 'Model instance not found in storage';
1752
1269
  logger.warn(msg, {
1753
1270
  model: model
1754
1271
  });
1755
- return [2
1756
- /*return*/
1757
- , [[model], []]];
1272
+ return [2 /*return*/, [[model], []]];
1758
1273
  }
1759
-
1760
1274
  predicates = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["ModelPredicateCreator"].getPredicates(condition);
1761
1275
  predicateObjs = predicates.predicates, type = predicates.type;
1762
1276
  isValid = validatePredicate(fromDB, type, predicateObjs);
1763
-
1764
1277
  if (!isValid) {
1765
1278
  msg = 'Conditional update failed';
1766
1279
  logger.error(msg, {
@@ -1769,42 +1282,25 @@ function () {
1769
1282
  });
1770
1283
  throw new Error(msg);
1771
1284
  }
1772
-
1773
1285
  _b = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["deleteByIdStatement"])(model.id, tableName), 2), deleteStatement = _b[0], deleteParams = _b[1];
1774
- return [4
1775
- /*yield*/
1776
- , this.db.save(deleteStatement, deleteParams)];
1777
-
1286
+ return [4 /*yield*/, this.db.save(deleteStatement, deleteParams)];
1778
1287
  case 5:
1779
1288
  _d.sent();
1780
-
1781
- return [2
1782
- /*return*/
1783
- , [[model], [model]]];
1784
-
1289
+ return [2 /*return*/, [[model], [model]]];
1785
1290
  case 6:
1786
1291
  _c = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["deleteByIdStatement"])(model.id, tableName), 2), deleteStatement = _c[0], params = _c[1];
1787
- return [4
1788
- /*yield*/
1789
- , this.db.save(deleteStatement, params)];
1790
-
1292
+ return [4 /*yield*/, this.db.save(deleteStatement, params)];
1791
1293
  case 7:
1792
1294
  _d.sent();
1793
-
1794
- return [2
1795
- /*return*/
1796
- , [[model], [model]]];
1295
+ return [2 /*return*/, [[model], [model]]];
1797
1296
  }
1798
1297
  });
1799
1298
  });
1800
1299
  };
1801
-
1802
1300
  CommonSQLiteAdapter.prototype.batchSave = function (modelConstructor, items) {
1803
1301
  return __awaiter(this, void 0, void 0, function () {
1804
1302
  var tableName, result, itemsToSave, queryStatements, deleteStatements, saveStatements, _loop_1, this_1, items_1, items_1_1, item, queryResponses;
1805
-
1806
1303
  var e_5, _a;
1807
-
1808
1304
  return __generator(this, function (_b) {
1809
1305
  switch (_b.label) {
1810
1306
  case 0:
@@ -1814,16 +1310,14 @@ function () {
1814
1310
  queryStatements = new Set();
1815
1311
  deleteStatements = new Set();
1816
1312
  saveStatements = new Set();
1817
-
1818
1313
  _loop_1 = function _loop_1(item) {
1819
1314
  var connectedModels = traverseModel(modelConstructor.name, this_1.modelInstanceCreator(modelConstructor, item), this_1.schema.namespaces[this_1.namespaceResolver(modelConstructor)], this_1.modelInstanceCreator, this_1.getModelConstructorByModelName);
1820
1315
  var id = item.id,
1821
- _deleted = item._deleted;
1316
+ _deleted = item._deleted;
1822
1317
  var instance = connectedModels.find(function (_a) {
1823
1318
  var instance = _a.instance;
1824
1319
  return instance.id === id;
1825
1320
  }).instance;
1826
-
1827
1321
  if (_deleted) {
1828
1322
  // create the delete statements right away
1829
1323
  var deleteStatement = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["deleteByIdStatement"])(instance.id, tableName);
@@ -1832,18 +1326,15 @@ function () {
1832
1326
  } else {
1833
1327
  // query statements for the saves at first
1834
1328
  var queryStatement = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(id, tableName);
1835
- queryStatements.add(queryStatement); // combination of insert and update items
1836
-
1329
+ queryStatements.add(queryStatement);
1330
+ // combination of insert and update items
1837
1331
  itemsToSave.push(instance);
1838
1332
  }
1839
1333
  };
1840
-
1841
1334
  this_1 = this;
1842
-
1843
1335
  try {
1844
1336
  for (items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
1845
1337
  item = items_1_1.value;
1846
-
1847
1338
  _loop_1(item);
1848
1339
  }
1849
1340
  } catch (e_5_1) {
@@ -1857,11 +1348,7 @@ function () {
1857
1348
  if (e_5) throw e_5.error;
1858
1349
  }
1859
1350
  }
1860
-
1861
- return [4
1862
- /*yield*/
1863
- , this.db.batchQuery(queryStatements)];
1864
-
1351
+ return [4 /*yield*/, this.db.batchQuery(queryStatements)];
1865
1352
  case 1:
1866
1353
  queryResponses = _b.sent();
1867
1354
  queryResponses.forEach(function (response, idx) {
@@ -1874,29 +1361,21 @@ function () {
1874
1361
  saveStatements.add(updateStatement);
1875
1362
  result.push([itemsToSave[idx], _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["OpType"].UPDATE]);
1876
1363
  }
1877
- }); // perform all of the insert/update/delete operations in a single transaction
1878
-
1879
- return [4
1880
- /*yield*/
1881
- , this.db.batchSave(saveStatements, deleteStatements)];
1882
-
1364
+ });
1365
+ // perform all of the insert/update/delete operations in a single transaction
1366
+ return [4 /*yield*/, this.db.batchSave(saveStatements, deleteStatements)];
1883
1367
  case 2:
1884
1368
  // perform all of the insert/update/delete operations in a single transaction
1885
1369
  _b.sent();
1886
-
1887
- return [2
1888
- /*return*/
1889
- , result];
1370
+ return [2 /*return*/, result];
1890
1371
  }
1891
1372
  });
1892
1373
  });
1893
1374
  };
1894
-
1895
1375
  return CommonSQLiteAdapter;
1896
1376
  }();
1897
1377
 
1898
1378
 
1899
-
1900
1379
  /***/ }),
1901
1380
 
1902
1381
  /***/ "./lib-esm/common/SQLiteUtils.js":
@@ -1933,15 +1412,13 @@ function _typeof(obj) {
1933
1412
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1934
1413
  }, _typeof(obj);
1935
1414
  }
1936
-
1937
1415
  var __read = undefined && undefined.__read || function (o, n) {
1938
1416
  var m = typeof Symbol === "function" && o[Symbol.iterator];
1939
1417
  if (!m) return o;
1940
1418
  var i = m.call(o),
1941
- r,
1942
- ar = [],
1943
- e;
1944
-
1419
+ r,
1420
+ ar = [],
1421
+ e;
1945
1422
  try {
1946
1423
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
1947
1424
  ar.push(r.value);
@@ -1957,22 +1434,18 @@ var __read = undefined && undefined.__read || function (o, n) {
1957
1434
  if (e) throw e.error;
1958
1435
  }
1959
1436
  }
1960
-
1961
1437
  return ar;
1962
1438
  };
1963
-
1964
1439
  var __spread = undefined && undefined.__spread || function () {
1965
1440
  for (var ar = [], i = 0; i < arguments.length; i++) {
1966
1441
  ar = ar.concat(__read(arguments[i]));
1967
1442
  }
1968
-
1969
1443
  return ar;
1970
1444
  };
1971
-
1972
1445
  var __values = undefined && undefined.__values || function (o) {
1973
1446
  var s = typeof Symbol === "function" && Symbol.iterator,
1974
- m = s && o[s],
1975
- i = 0;
1447
+ m = s && o[s],
1448
+ i = 0;
1976
1449
  if (m) return m.call(o);
1977
1450
  if (o && typeof o.length === "number") return {
1978
1451
  next: function next() {
@@ -1986,17 +1459,14 @@ var __values = undefined && undefined.__values || function (o) {
1986
1459
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
1987
1460
  };
1988
1461
 
1989
-
1990
1462
  var USER = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["utils"].USER,
1991
- isNonModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["utils"].isNonModelConstructor,
1992
- isModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["utils"].isModelConstructor;
1993
-
1463
+ isNonModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["utils"].isNonModelConstructor,
1464
+ isModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["utils"].isModelConstructor;
1994
1465
  var keysFromModel = function keysFromModel(model) {
1995
1466
  return Object.keys(model).map(function (k) {
1996
1467
  return "\"" + k + "\"";
1997
1468
  }).join(', ');
1998
1469
  };
1999
-
2000
1470
  var valuesFromModel = function valuesFromModel(model) {
2001
1471
  var values = Object.values(model).map(prepareValueForDML);
2002
1472
  var paramaterized = values.map(function () {
@@ -2004,49 +1474,39 @@ var valuesFromModel = function valuesFromModel(model) {
2004
1474
  }).join(', ');
2005
1475
  return [paramaterized, values];
2006
1476
  };
2007
-
2008
1477
  var updateSet = function updateSet(model) {
2009
1478
  var values = [];
2010
1479
  var paramaterized = Object.entries(model).filter(function (_a) {
2011
1480
  var _b = __read(_a, 1),
2012
- k = _b[0];
2013
-
1481
+ k = _b[0];
2014
1482
  return k !== 'id';
2015
1483
  }).map(function (_a) {
2016
1484
  var _b = __read(_a, 2),
2017
- k = _b[0],
2018
- v = _b[1];
2019
-
1485
+ k = _b[0],
1486
+ v = _b[1];
2020
1487
  values.push(prepareValueForDML(v));
2021
1488
  return "\"" + k + "\"=?";
2022
1489
  }).join(', ');
2023
1490
  return [paramaterized, values];
2024
1491
  };
2025
-
2026
1492
  function prepareValueForDML(value) {
2027
1493
  var scalarTypes = ['string', 'number', 'boolean'];
2028
1494
  var isScalarType = value === null || value === undefined || scalarTypes.includes(_typeof(value));
2029
-
2030
1495
  if (isScalarType) {
2031
1496
  return value;
2032
1497
  }
2033
-
2034
1498
  var isObjectType = _typeof(value) === 'object' && (Object.getPrototypeOf(value).constructor === Object || isNonModelConstructor(Object.getPrototypeOf(value).constructor) || isModelConstructor(Object.getPrototypeOf(value).constructor));
2035
-
2036
1499
  if (Array.isArray(value) || isObjectType) {
2037
1500
  return JSON.stringify(value);
2038
1501
  }
2039
-
2040
1502
  return "" + value;
2041
1503
  }
2042
-
2043
1504
  function getSQLiteType(scalar) {
2044
1505
  switch (scalar) {
2045
1506
  case 'Boolean':
2046
1507
  case 'Int':
2047
1508
  case 'AWSTimestamp':
2048
1509
  return 'INTEGER';
2049
-
2050
1510
  case 'ID':
2051
1511
  case 'String':
2052
1512
  case 'AWSDate':
@@ -2058,10 +1518,8 @@ function getSQLiteType(scalar) {
2058
1518
  case 'AWSPhone':
2059
1519
  case 'AWSIPAddress':
2060
1520
  return 'TEXT';
2061
-
2062
1521
  case 'Float':
2063
1522
  return 'REAL';
2064
-
2065
1523
  default:
2066
1524
  var _ = scalar;
2067
1525
  throw new Error("unknown type " + scalar);
@@ -2080,13 +1538,10 @@ var implicitAuthFieldsForModel = function implicitAuthFieldsForModel(model) {
2080
1538
  if (!model.attributes || !model.attributes.length) {
2081
1539
  return [];
2082
1540
  }
2083
-
2084
1541
  var authRules = model.attributes.find(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isModelAttributeAuth"]);
2085
-
2086
1542
  if (!authRules) {
2087
1543
  return [];
2088
1544
  }
2089
-
2090
1545
  var authFieldsForModel = authRules.properties.rules.filter(function (rule) {
2091
1546
  return rule.ownerField || rule.groupsField;
2092
1547
  }).map(function (rule) {
@@ -2102,82 +1557,67 @@ var implicitAuthFieldsForModel = function implicitAuthFieldsForModel(model) {
2102
1557
  function modelCreateTableStatement(model, userModel) {
2103
1558
  if (userModel === void 0) {
2104
1559
  userModel = false;
2105
- } // implicitly defined auth fields, e.g., `owner`, `groupsField`, etc.
2106
-
2107
-
1560
+ }
1561
+ // implicitly defined auth fields, e.g., `owner`, `groupsField`, etc.
2108
1562
  var implicitAuthFields = implicitAuthFieldsForModel(model);
2109
1563
  var fields = Object.values(model.fields).reduce(function (acc, field) {
2110
1564
  if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isGraphQLScalarType"])(field.type)) {
2111
1565
  if (field.name === 'id') {
2112
1566
  return __spread(acc, ['"id" PRIMARY KEY NOT NULL']);
2113
1567
  }
2114
-
2115
1568
  var columnParam_1 = "\"" + field.name + "\" " + getSQLiteType(field.type);
2116
-
2117
1569
  if (field.isRequired) {
2118
1570
  columnParam_1 += ' NOT NULL';
2119
1571
  }
2120
-
2121
1572
  return __spread(acc, ["" + columnParam_1]);
2122
1573
  }
2123
-
2124
1574
  if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isModelFieldType"])(field.type)) {
2125
- var columnParam_2 = "\"" + field.name + "\" TEXT"; // add targetName as well as field name for BELONGS_TO relations
2126
-
1575
+ var columnParam_2 = "\"" + field.name + "\" TEXT";
1576
+ // add targetName as well as field name for BELONGS_TO relations
2127
1577
  if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isTargetNameAssociation"])(field.association)) {
2128
1578
  // check if this field has been explicitly defined in the model
2129
1579
  var fkDefinedInModel = Object.values(model.fields).find(function (f) {
2130
1580
  var _a;
2131
-
2132
1581
  return f.name === ((_a = field === null || field === void 0 ? void 0 : field.association) === null || _a === void 0 ? void 0 : _a.targetName);
2133
- }); // if the FK is not explicitly defined in the model, we have to add it here
2134
-
1582
+ });
1583
+ // if the FK is not explicitly defined in the model, we have to add it here
2135
1584
  if (!fkDefinedInModel) {
2136
1585
  var required = field.isRequired ? ' NOT NULL' : '';
2137
1586
  columnParam_2 += ", \"" + field.association.targetName + "\" TEXT" + required;
2138
1587
  }
2139
- } // ignore isRequired param for model fields, since they will not contain
1588
+ }
1589
+ // ignore isRequired param for model fields, since they will not contain
2140
1590
  // the related data locally
2141
-
2142
-
2143
1591
  return __spread(acc, ["" + columnParam_2]);
2144
- } // default to TEXT
2145
-
2146
-
1592
+ }
1593
+ // default to TEXT
2147
1594
  var columnParam = "\"" + field.name + "\" TEXT";
2148
-
2149
1595
  if (field.isRequired) {
2150
1596
  columnParam += ' NOT NULL';
2151
1597
  }
2152
-
2153
1598
  return __spread(acc, ["" + columnParam]);
2154
1599
  }, []);
2155
1600
  implicitAuthFields.forEach(function (authField) {
2156
1601
  fields.push(authField + " TEXT");
2157
1602
  });
2158
-
2159
1603
  if (userModel) {
2160
1604
  fields = __spread(fields, ["\"_version\" INTEGER", "\"_lastChangedAt\" INTEGER", "\"_deleted\" INTEGER"]);
2161
1605
  }
2162
-
2163
1606
  var createTableStatement = "CREATE TABLE IF NOT EXISTS \"" + model.name + "\" (" + fields.join(', ') + ");";
2164
1607
  return createTableStatement;
2165
1608
  }
2166
1609
  function modelInsertStatement(model, tableName) {
2167
1610
  var keys = keysFromModel(model);
2168
-
2169
1611
  var _a = __read(valuesFromModel(model), 2),
2170
- paramaterized = _a[0],
2171
- values = _a[1];
2172
-
1612
+ paramaterized = _a[0],
1613
+ values = _a[1];
2173
1614
  var insertStatement = "INSERT INTO \"" + tableName + "\" (" + keys + ") VALUES (" + paramaterized + ")";
2174
1615
  return [insertStatement, values];
2175
1616
  }
2176
1617
  function modelUpdateStatement(model, tableName) {
2177
1618
  var _a = __read(updateSet(model), 2),
2178
- paramaterized = _a[0],
2179
- values = _a[1];
2180
-
1619
+ paramaterized = _a[0],
1620
+ values = _a[1];
2181
1621
  var updateStatement = "UPDATE \"" + tableName + "\" SET " + paramaterized + " WHERE id=?";
2182
1622
  return [updateStatement, __spread(values, [model.id])];
2183
1623
  }
@@ -2191,7 +1631,6 @@ function queryByIdStatement(id, tableName) {
2191
1631
  Numbers: eq | ne | le | lt | ge | gt | between
2192
1632
  Lists: contains | notContains
2193
1633
  */
2194
-
2195
1634
  var comparisonOperatorMap = {
2196
1635
  eq: '=',
2197
1636
  ne: '!=',
@@ -2217,7 +1656,6 @@ var logicalOperatorMap = {
2217
1656
  * @param operand any
2218
1657
  * @returns (string | null) The `WHERE` clause component or `null` if N/A.
2219
1658
  */
2220
-
2221
1659
  function buildSpecialNullComparison(field, operator, operand) {
2222
1660
  if (operand === null || operand === undefined) {
2223
1661
  if (operator === 'eq') {
@@ -2225,105 +1663,81 @@ function buildSpecialNullComparison(field, operator, operand) {
2225
1663
  } else if (operator === 'ne') {
2226
1664
  return "\"" + field + "\" IS NOT NULL";
2227
1665
  }
2228
- } // no special null handling required
2229
-
2230
-
1666
+ }
1667
+ // no special null handling required
2231
1668
  return null;
2232
1669
  }
2233
-
2234
1670
  var whereConditionFromPredicateObject = function whereConditionFromPredicateObject(_a) {
2235
1671
  var field = _a.field,
2236
- operator = _a.operator,
2237
- operand = _a.operand;
1672
+ operator = _a.operator,
1673
+ operand = _a.operand;
2238
1674
  var specialNullClause = buildSpecialNullComparison(field, operator, operand);
2239
-
2240
1675
  if (specialNullClause) {
2241
1676
  return [specialNullClause, []];
2242
1677
  }
2243
-
2244
1678
  var comparisonOperator = comparisonOperatorMap[operator];
2245
-
2246
1679
  if (comparisonOperator) {
2247
1680
  return ["\"" + field + "\" " + comparisonOperator + " ?", [operand]];
2248
1681
  }
2249
-
2250
1682
  var logicalOperatorKey = operator;
2251
1683
  var logicalOperator = logicalOperatorMap[logicalOperatorKey];
2252
-
2253
1684
  if (logicalOperator) {
2254
1685
  var rightExp = [];
2255
-
2256
1686
  switch (logicalOperatorKey) {
2257
1687
  case 'between':
2258
1688
  rightExp = operand; // operand is a 2-tuple
2259
-
2260
1689
  break;
2261
-
2262
1690
  case 'beginsWith':
2263
1691
  rightExp = [operand + "%"];
2264
1692
  break;
2265
-
2266
1693
  case 'contains':
2267
1694
  case 'notContains':
2268
1695
  rightExp = ["%" + operand + "%"];
2269
1696
  break;
2270
-
2271
1697
  default:
2272
- var _ = logicalOperatorKey; // Incorrect WHERE clause can result in data loss
2273
-
1698
+ var _ = logicalOperatorKey;
1699
+ // Incorrect WHERE clause can result in data loss
2274
1700
  throw new Error('Cannot map predicate to a valid WHERE clause');
2275
1701
  }
2276
-
2277
1702
  return ["\"" + field + "\" " + logicalOperator + " " + rightExp.map(function (_) {
2278
1703
  return '?';
2279
1704
  }).join(' AND '), rightExp];
2280
1705
  }
2281
1706
  };
2282
-
2283
1707
  function whereClauseFromPredicate(predicate) {
2284
1708
  var result = [];
2285
1709
  var params = [];
2286
1710
  recurse(predicate, result, params);
2287
1711
  var whereClause = "WHERE " + result.join(' ');
2288
1712
  return [whereClause, params];
2289
-
2290
1713
  function recurse(predicate, result, params) {
2291
1714
  var e_1, _a;
2292
-
2293
1715
  if (result === void 0) {
2294
1716
  result = [];
2295
1717
  }
2296
-
2297
1718
  if (params === void 0) {
2298
1719
  params = [];
2299
1720
  }
2300
-
2301
1721
  if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isPredicateGroup"])(predicate)) {
2302
1722
  var groupType = predicate.type,
2303
- groupPredicates = predicate.predicates;
1723
+ groupPredicates = predicate.predicates;
2304
1724
  var filterType = '';
2305
1725
  var isNegation = false;
2306
-
2307
1726
  switch (groupType) {
2308
1727
  case 'not':
2309
1728
  isNegation = true;
2310
1729
  break;
2311
-
2312
1730
  case 'and':
2313
1731
  filterType = 'AND';
2314
1732
  break;
2315
-
2316
1733
  case 'or':
2317
1734
  filterType = 'OR';
2318
1735
  break;
2319
-
2320
1736
  default:
2321
1737
  var _ = groupType;
2322
1738
  throw new Error("Invalid " + groupType);
2323
1739
  }
2324
-
2325
1740
  var groupResult = [];
2326
-
2327
1741
  try {
2328
1742
  for (var groupPredicates_1 = __values(groupPredicates), groupPredicates_1_1 = groupPredicates_1.next(); !groupPredicates_1_1.done; groupPredicates_1_1 = groupPredicates_1.next()) {
2329
1743
  var p = groupPredicates_1_1.value;
@@ -2340,13 +1754,11 @@ function whereClauseFromPredicate(predicate) {
2340
1754
  if (e_1) throw e_1.error;
2341
1755
  }
2342
1756
  }
2343
-
2344
1757
  result.push((isNegation ? 'NOT' : '') + "(" + groupResult.join(" " + filterType + " ") + ")");
2345
1758
  } else if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isPredicateObj"])(predicate)) {
2346
1759
  var _b = __read(whereConditionFromPredicateObject(predicate), 2),
2347
- condition = _b[0],
2348
- conditionParams = _b[1];
2349
-
1760
+ condition = _b[0],
1761
+ conditionParams = _b[1];
2350
1762
  result.push(condition);
2351
1763
  params.push.apply(params, __spread(conditionParams));
2352
1764
  }
@@ -2360,13 +1772,12 @@ function orderByClauseFromSort(sortPredicate) {
2360
1772
  if (sortPredicate === void 0) {
2361
1773
  sortPredicate = [];
2362
1774
  }
2363
-
2364
1775
  var orderByParts = sortPredicate.map(function (_a) {
2365
1776
  var field = _a.field,
2366
- sortDirection = _a.sortDirection;
1777
+ sortDirection = _a.sortDirection;
2367
1778
  return "\"" + field + "\" " + sortDirectionMap[sortDirection];
2368
- }); // We always sort by _rowid_ last
2369
-
1779
+ });
1780
+ // We always sort by _rowid_ last
2370
1781
  orderByParts.push("_rowid_ " + sortDirectionMap.ASCENDING);
2371
1782
  return "ORDER BY " + orderByParts.join(', ');
2372
1783
  }
@@ -2374,43 +1785,34 @@ function limitClauseFromPagination(limit, page) {
2374
1785
  if (page === void 0) {
2375
1786
  page = 0;
2376
1787
  }
2377
-
2378
1788
  var params = [limit];
2379
1789
  var clause = 'LIMIT ?';
2380
-
2381
1790
  if (page) {
2382
1791
  var offset = limit * page;
2383
1792
  params.push(offset);
2384
1793
  clause += ' OFFSET ?';
2385
1794
  }
2386
-
2387
1795
  return [clause, params];
2388
1796
  }
2389
1797
  function queryAllStatement(tableName, predicate, sort, limit, page) {
2390
1798
  var statement = "SELECT * FROM \"" + tableName + "\"";
2391
1799
  var params = [];
2392
-
2393
1800
  if (predicate && predicate.predicates.length) {
2394
1801
  var _a = __read(whereClauseFromPredicate(predicate), 2),
2395
- whereClause = _a[0],
2396
- whereParams = _a[1];
2397
-
1802
+ whereClause = _a[0],
1803
+ whereParams = _a[1];
2398
1804
  statement += " " + whereClause;
2399
1805
  params.push.apply(params, __spread(whereParams));
2400
1806
  }
2401
-
2402
1807
  var orderByClause = orderByClauseFromSort(sort);
2403
1808
  statement += " " + orderByClause;
2404
-
2405
1809
  if (limit) {
2406
1810
  var _b = __read(limitClauseFromPagination(limit, page), 2),
2407
- limitClause = _b[0],
2408
- limitParams = _b[1];
2409
-
1811
+ limitClause = _b[0],
1812
+ limitParams = _b[1];
2410
1813
  statement += " " + limitClause;
2411
1814
  params.push.apply(params, __spread(limitParams));
2412
1815
  }
2413
-
2414
1816
  return [statement, params];
2415
1817
  }
2416
1818
  function queryOneStatement(firstOrLast, tableName) {
@@ -2430,16 +1832,13 @@ function deleteByIdStatement(id, tableName) {
2430
1832
  function deleteByPredicateStatement(tableName, predicate) {
2431
1833
  var statement = "DELETE FROM \"" + tableName + "\"";
2432
1834
  var params = [];
2433
-
2434
1835
  if (predicate && predicate.predicates.length) {
2435
1836
  var _a = __read(whereClauseFromPredicate(predicate), 2),
2436
- whereClause = _a[0],
2437
- whereParams = _a[1];
2438
-
1837
+ whereClause = _a[0],
1838
+ whereParams = _a[1];
2439
1839
  statement += " " + whereClause;
2440
1840
  params.push.apply(params, __spread(whereParams));
2441
1841
  }
2442
-
2443
1842
  return [statement, params];
2444
1843
  }
2445
1844