@aws-amplify/datastore-storage-adapter 1.3.16-unstable.7 → 1.4.0

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