@aws-amplify/datastore-storage-adapter 1.2.6-unstable.3 → 1.2.7-cloud-logging.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.2.6](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore-storage-adapter@1.2.5...@aws-amplify/datastore-storage-adapter@1.2.6) (2022-02-03)
7
+
8
+ **Note:** Version bump only for package @aws-amplify/datastore-storage-adapter
9
+
10
+
11
+
12
+
13
+
6
14
  ## [1.2.5](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore-storage-adapter@1.2.4...@aws-amplify/datastore-storage-adapter@1.2.5) (2022-01-27)
7
15
 
8
16
  **Note:** Version bump only for package @aws-amplify/datastore-storage-adapter
@@ -325,10 +325,31 @@ var __values = undefined && undefined.__values || function (o) {
325
325
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
326
326
  };
327
327
 
328
+ var __spread = undefined && undefined.__spread || function () {
329
+ for (var ar = [], i = 0; i < arguments.length; i++) {
330
+ ar = ar.concat(__read(arguments[i]));
331
+ }
332
+
333
+ return ar;
334
+ };
335
+
336
+
328
337
 
329
338
 
330
339
 
340
+ var NAMESPACES;
331
341
 
342
+ (function (NAMESPACES) {
343
+ NAMESPACES["DATASTORE"] = "datastore";
344
+ NAMESPACES["USER"] = "user";
345
+ NAMESPACES["SYNC"] = "sync";
346
+ NAMESPACES["STORAGE"] = "storage";
347
+ })(NAMESPACES || (NAMESPACES = {}));
348
+
349
+ var DATASTORE = NAMESPACES.DATASTORE;
350
+ var USER = NAMESPACES.USER;
351
+ var SYNC = NAMESPACES.SYNC;
352
+ var STORAGE = NAMESPACES.STORAGE;
332
353
  var traverseModel = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_3__["utils"].traverseModel,
333
354
  validatePredicate = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_3__["utils"].validatePredicate,
334
355
  isModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_3__["utils"].isModelConstructor;
@@ -1226,6 +1247,48 @@ function () {
1226
1247
  });
1227
1248
  };
1228
1249
 
1250
+ SQLiteAdapter.prototype.getDebugInfo = function () {
1251
+ return __awaiter(this, void 0, void 0, function () {
1252
+ var queryStatements, queryResponses, _a, _b, _c, _d, _e, _f;
1253
+
1254
+ var _g;
1255
+
1256
+ return __generator(this, function (_h) {
1257
+ switch (_h.label) {
1258
+ case 0:
1259
+ queryStatements = new Set();
1260
+ queryResponses = [];
1261
+ _b = (_a = queryResponses.push).apply;
1262
+ _c = [queryResponses];
1263
+ return [4
1264
+ /*yield*/
1265
+ , (_g = this.db).getAll.apply(_g, __spread(Object(_SQLiteUtils__WEBPACK_IMPORTED_MODULE_2__["queryAllStatement"])('ModelMetadata')))];
1266
+
1267
+ case 1:
1268
+ _b.apply(_a, _c.concat([__spread.apply(void 0, [_h.sent()])]));
1269
+
1270
+ queryStatements.add(Object(_SQLiteUtils__WEBPACK_IMPORTED_MODULE_2__["recordCountStatement"])('MutationEvent'));
1271
+ queryStatements.add(Object(_SQLiteUtils__WEBPACK_IMPORTED_MODULE_2__["queryOneStatement"])(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_3__["QueryOne"].FIRST, 'MutationEvent'));
1272
+ Object.values(this.schema.namespaces[USER].models).forEach(function (model) {
1273
+ queryStatements.add(Object(_SQLiteUtils__WEBPACK_IMPORTED_MODULE_2__["recordCountStatement"])(model.name));
1274
+ });
1275
+ _e = (_d = queryResponses.push).apply;
1276
+ _f = [queryResponses];
1277
+ return [4
1278
+ /*yield*/
1279
+ , this.db.batchQuery(queryStatements)];
1280
+
1281
+ case 2:
1282
+ _e.apply(_d, _f.concat([__spread.apply(void 0, [_h.sent()])]));
1283
+
1284
+ return [2
1285
+ /*return*/
1286
+ , queryResponses];
1287
+ }
1288
+ });
1289
+ });
1290
+ };
1291
+
1229
1292
  return SQLiteAdapter;
1230
1293
  }();
1231
1294
 
@@ -1815,7 +1878,7 @@ function () {
1815
1878
  /*!**********************************************!*\
1816
1879
  !*** ./lib-esm/SQLiteAdapter/SQLiteUtils.js ***!
1817
1880
  \**********************************************/
1818
- /*! exports provided: generateSchemaStatements, implicitAuthFieldsForModel, modelCreateTableStatement, modelInsertStatement, modelUpdateStatement, queryByIdStatement, whereClauseFromPredicate, orderByClauseFromSort, limitClauseFromPagination, queryAllStatement, queryOneStatement, deleteByIdStatement, deleteByPredicateStatement */
1881
+ /*! exports provided: generateSchemaStatements, implicitAuthFieldsForModel, modelCreateTableStatement, modelInsertStatement, modelUpdateStatement, queryByIdStatement, recordCountStatement, whereClauseFromPredicate, orderByClauseFromSort, limitClauseFromPagination, queryAllStatement, queryOneStatement, deleteByIdStatement, deleteByPredicateStatement */
1819
1882
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1820
1883
 
1821
1884
  "use strict";
@@ -1826,6 +1889,7 @@ __webpack_require__.r(__webpack_exports__);
1826
1889
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "modelInsertStatement", function() { return modelInsertStatement; });
1827
1890
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "modelUpdateStatement", function() { return modelUpdateStatement; });
1828
1891
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "queryByIdStatement", function() { return queryByIdStatement; });
1892
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recordCountStatement", function() { return recordCountStatement; });
1829
1893
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "whereClauseFromPredicate", function() { return whereClauseFromPredicate; });
1830
1894
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "orderByClauseFromSort", function() { return orderByClauseFromSort; });
1831
1895
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "limitClauseFromPagination", function() { return limitClauseFromPagination; });
@@ -2068,6 +2132,9 @@ function modelUpdateStatement(model, tableName) {
2068
2132
  function queryByIdStatement(id, tableName) {
2069
2133
  return ["SELECT * FROM \"" + tableName + "\" WHERE \"id\" = ?", [id]];
2070
2134
  }
2135
+ function recordCountStatement(tableName) {
2136
+ return ["SELECT COUNT(*) AS \"" + tableName + " - count\" FROM \"" + tableName + "\"", []];
2137
+ }
2071
2138
  /*
2072
2139
  Predicates supported by DataStore:
2073
2140
 
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///../../src/SQLiteAdapter/SQLiteAdapter.ts","webpack:///../../src/SQLiteAdapter/SQLiteDatabase.ts","webpack:///../../src/SQLiteAdapter/SQLiteUtils.ts","webpack:///../../src/SQLiteAdapter/types.ts","webpack:///../src/index.ts","webpack:///external \"@aws-amplify/core\"","webpack:///external \"@aws-amplify/datastore\"","webpack:///external \"react-native-sqlite-storage\""],"names":[],"mappings":"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","file":"aws-amplify-datastore-storage-adapter.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@aws-amplify/core\"), require(\"@aws-amplify/datastore\"), require(\"react-native-sqlite-storage\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"aws-amplify-datastore-storage-adapter\", [\"@aws-amplify/core\", \"@aws-amplify/datastore\", \"react-native-sqlite-storage\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"aws-amplify-datastore-storage-adapter\"] = factory(require(\"@aws-amplify/core\"), require(\"@aws-amplify/datastore\"), require(\"react-native-sqlite-storage\"));\n\telse\n\t\troot[\"aws-amplify-datastore-storage-adapter\"] = factory(root[\"@aws-amplify/core\"], root[\"@aws-amplify/datastore\"], root[\"react-native-sqlite-storage\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__aws_amplify_core__, __WEBPACK_EXTERNAL_MODULE__aws_amplify_datastore__, __WEBPACK_EXTERNAL_MODULE_react_native_sqlite_storage__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./lib-esm/index.js\");\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport SQLiteDatabase from './SQLiteDatabase';\nimport { generateSchemaStatements, queryByIdStatement, modelUpdateStatement, modelInsertStatement, queryAllStatement, queryOneStatement, deleteByIdStatement, deleteByPredicateStatement, } from './SQLiteUtils';\nimport { ModelPredicateCreator, ModelSortPredicateCreator, isPredicateObj, OpType, QueryOne, utils, } from '@aws-amplify/datastore';\nvar traverseModel = utils.traverseModel, validatePredicate = utils.validatePredicate, isModelConstructor = utils.isModelConstructor;\nvar logger = new Logger('DataStore');\nvar SQLiteAdapter = /** @class */ (function () {\n function SQLiteAdapter() {\n }\n SQLiteAdapter.prototype.setUp = function (theSchema, namespaceResolver, modelInstanceCreator, getModelConstructorByModelName) {\n return __awaiter(this, void 0, void 0, function () {\n var statements, error_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initPromise) return [3 /*break*/, 1];\n this.initPromise = new Promise(function (res, rej) {\n _this.resolve = res;\n _this.reject = rej;\n });\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, this.initPromise];\n case 2:\n _a.sent();\n return [2 /*return*/];\n case 3:\n this.schema = theSchema;\n this.namespaceResolver = namespaceResolver;\n this.modelInstanceCreator = modelInstanceCreator;\n this.getModelConstructorByModelName = getModelConstructorByModelName;\n _a.label = 4;\n case 4:\n _a.trys.push([4, 8, , 9]);\n if (!!this.db) return [3 /*break*/, 7];\n this.db = new SQLiteDatabase();\n return [4 /*yield*/, this.db.init()];\n case 5:\n _a.sent();\n statements = generateSchemaStatements(this.schema);\n return [4 /*yield*/, this.db.createSchema(statements)];\n case 6:\n _a.sent();\n this.resolve();\n _a.label = 7;\n case 7: return [3 /*break*/, 9];\n case 8:\n error_1 = _a.sent();\n this.reject(error_1);\n return [3 /*break*/, 9];\n case 9: return [2 /*return*/];\n }\n });\n });\n };\n SQLiteAdapter.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.db.clear()];\n case 1:\n _a.sent();\n this.db = undefined;\n this.initPromise = undefined;\n return [2 /*return*/];\n }\n });\n });\n };\n SQLiteAdapter.prototype.save = function (model, condition) {\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function () {\n 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;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n modelConstructor = Object.getPrototypeOf(model)\n .constructor;\n tableName = modelConstructor.name;\n connectedModels = traverseModel(modelConstructor.name, model, this.schema.namespaces[this.namespaceResolver(modelConstructor)], this.modelInstanceCreator, this.getModelConstructorByModelName);\n connectionStoreNames = Object.values(connectedModels).map(function (_a) {\n var modelName = _a.modelName, item = _a.item, instance = _a.instance;\n return { modelName: modelName, item: item, instance: instance };\n });\n _b = __read(queryByIdStatement(model.id, tableName), 2), queryStatement = _b[0], params = _b[1];\n return [4 /*yield*/, this.db.get(queryStatement, params)];\n case 1:\n fromDB = _d.sent();\n if (condition && fromDB) {\n predicates = ModelPredicateCreator.getPredicates(condition);\n predicateObjs = predicates.predicates, type = predicates.type;\n isValid = validatePredicate(fromDB, type, predicateObjs);\n if (!isValid) {\n msg = 'Conditional update failed';\n logger.error(msg, { model: fromDB, condition: predicateObjs });\n throw new Error(msg);\n }\n }\n result = [];\n saveStatements = new Set();\n _d.label = 2;\n case 2:\n _d.trys.push([2, 8, 9, 14]);\n connectionStoreNames_1 = __asyncValues(connectionStoreNames);\n _d.label = 3;\n case 3: return [4 /*yield*/, connectionStoreNames_1.next()];\n case 4:\n if (!(connectionStoreNames_1_1 = _d.sent(), !connectionStoreNames_1_1.done)) return [3 /*break*/, 7];\n resItem = connectionStoreNames_1_1.value;\n modelName = resItem.modelName, item = resItem.item, instance = resItem.instance;\n id = item.id;\n _c = __read(queryByIdStatement(id, modelName), 2), queryStatement_1 = _c[0], params_1 = _c[1];\n return [4 /*yield*/, this.db.get(queryStatement_1, params_1)];\n case 5:\n fromDB_1 = _d.sent();\n opType = fromDB_1 === undefined ? OpType.INSERT : OpType.UPDATE;\n saveStatement = fromDB_1\n ? modelUpdateStatement(instance, modelName)\n : modelInsertStatement(instance, modelName);\n saveStatements.add(saveStatement);\n result.push([instance, opType]);\n _d.label = 6;\n case 6: return [3 /*break*/, 3];\n case 7: return [3 /*break*/, 14];\n case 8:\n e_1_1 = _d.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 14];\n case 9:\n _d.trys.push([9, , 12, 13]);\n if (!(connectionStoreNames_1_1 && !connectionStoreNames_1_1.done && (_a = connectionStoreNames_1.return))) return [3 /*break*/, 11];\n return [4 /*yield*/, _a.call(connectionStoreNames_1)];\n case 10:\n _d.sent();\n _d.label = 11;\n case 11: return [3 /*break*/, 13];\n case 12:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 13: return [7 /*endfinally*/];\n case 14: return [4 /*yield*/, this.db.batchSave(saveStatements)];\n case 15:\n _d.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n SQLiteAdapter.prototype.load = function (namespaceName, srcModelName, records) {\n var records_1, records_1_1, records_2, records_2_1;\n var e_2, _a, e_3, _b, e_4, _c;\n return __awaiter(this, void 0, void 0, function () {\n 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;\n var _this = this;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n namespace = this.schema.namespaces[namespaceName];\n relations = namespace.relationships[srcModelName].relationTypes;\n connectionTableNames = relations.map(function (_a) {\n var modelName = _a.modelName;\n return modelName;\n });\n modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);\n if (connectionTableNames.length === 0) {\n return [2 /*return*/, records.map(function (record) {\n return _this.modelInstanceCreator(modelConstructor, record);\n })];\n }\n _g.label = 1;\n case 1:\n _g.trys.push([1, 34, 35, 40]);\n relations_1 = __asyncValues(relations);\n _g.label = 2;\n case 2: return [4 /*yield*/, relations_1.next()];\n case 3:\n if (!(relations_1_1 = _g.sent(), !relations_1_1.done)) return [3 /*break*/, 33];\n relation = relations_1_1.value;\n fieldName = relation.fieldName, tableName = relation.modelName, targetName = relation.targetName, relationType = relation.relationType;\n modelConstructor_1 = this.getModelConstructorByModelName(namespaceName, tableName);\n _d = relationType;\n switch (_d) {\n case 'HAS_ONE': return [3 /*break*/, 4];\n case 'BELONGS_TO': return [3 /*break*/, 17];\n case 'HAS_MANY': return [3 /*break*/, 30];\n }\n return [3 /*break*/, 31];\n case 4:\n _g.trys.push([4, 10, 11, 16]);\n records_1 = __asyncValues(records);\n _g.label = 5;\n case 5: return [4 /*yield*/, records_1.next()];\n case 6:\n if (!(records_1_1 = _g.sent(), !records_1_1.done)) return [3 /*break*/, 9];\n recordItem = records_1_1.value;\n getByfield = recordItem[targetName] ? targetName : fieldName;\n if (!recordItem[getByfield])\n return [3 /*break*/, 9];\n _e = __read(queryByIdStatement(recordItem[getByfield], tableName), 2), queryStatement = _e[0], params = _e[1];\n return [4 /*yield*/, this.db.get(queryStatement, params)];\n case 7:\n connectionRecord = _g.sent();\n recordItem[fieldName] =\n connectionRecord &&\n this.modelInstanceCreator(modelConstructor_1, connectionRecord);\n _g.label = 8;\n case 8: return [3 /*break*/, 5];\n case 9: return [3 /*break*/, 16];\n case 10:\n e_3_1 = _g.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 16];\n case 11:\n _g.trys.push([11, , 14, 15]);\n if (!(records_1_1 && !records_1_1.done && (_b = records_1.return))) return [3 /*break*/, 13];\n return [4 /*yield*/, _b.call(records_1)];\n case 12:\n _g.sent();\n _g.label = 13;\n case 13: return [3 /*break*/, 15];\n case 14:\n if (e_3) throw e_3.error;\n return [7 /*endfinally*/];\n case 15: return [7 /*endfinally*/];\n case 16: return [3 /*break*/, 32];\n case 17:\n _g.trys.push([17, 23, 24, 29]);\n records_2 = __asyncValues(records);\n _g.label = 18;\n case 18: return [4 /*yield*/, records_2.next()];\n case 19:\n if (!(records_2_1 = _g.sent(), !records_2_1.done)) return [3 /*break*/, 22];\n recordItem = records_2_1.value;\n if (!recordItem[targetName]) return [3 /*break*/, 21];\n _f = __read(queryByIdStatement(recordItem[targetName], tableName), 2), queryStatement = _f[0], params = _f[1];\n return [4 /*yield*/, this.db.get(queryStatement, params)];\n case 20:\n connectionRecord = _g.sent();\n recordItem[fieldName] =\n connectionRecord &&\n this.modelInstanceCreator(modelConstructor_1, connectionRecord);\n delete recordItem[targetName];\n _g.label = 21;\n case 21: return [3 /*break*/, 18];\n case 22: return [3 /*break*/, 29];\n case 23:\n e_4_1 = _g.sent();\n e_4 = { error: e_4_1 };\n return [3 /*break*/, 29];\n case 24:\n _g.trys.push([24, , 27, 28]);\n if (!(records_2_1 && !records_2_1.done && (_c = records_2.return))) return [3 /*break*/, 26];\n return [4 /*yield*/, _c.call(records_2)];\n case 25:\n _g.sent();\n _g.label = 26;\n case 26: return [3 /*break*/, 28];\n case 27:\n if (e_4) throw e_4.error;\n return [7 /*endfinally*/];\n case 28: return [7 /*endfinally*/];\n case 29: return [3 /*break*/, 32];\n case 30: \n // TODO: Lazy loading\n return [3 /*break*/, 32];\n case 31:\n _ = relationType;\n throw new Error(\"invalid relation type \" + relationType);\n case 32: return [3 /*break*/, 2];\n case 33: return [3 /*break*/, 40];\n case 34:\n e_2_1 = _g.sent();\n e_2 = { error: e_2_1 };\n return [3 /*break*/, 40];\n case 35:\n _g.trys.push([35, , 38, 39]);\n if (!(relations_1_1 && !relations_1_1.done && (_a = relations_1.return))) return [3 /*break*/, 37];\n return [4 /*yield*/, _a.call(relations_1)];\n case 36:\n _g.sent();\n _g.label = 37;\n case 37: return [3 /*break*/, 39];\n case 38:\n if (e_2) throw e_2.error;\n return [7 /*endfinally*/];\n case 39: return [7 /*endfinally*/];\n case 40: return [2 /*return*/, records.map(function (record) {\n return _this.modelInstanceCreator(modelConstructor, record);\n })];\n }\n });\n });\n };\n SQLiteAdapter.prototype.query = function (modelConstructor, predicate, pagination) {\n return __awaiter(this, void 0, void 0, function () {\n var tableName, namespaceName, predicates, sortPredicates, limit, page, queryById, records;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n tableName = modelConstructor.name;\n namespaceName = this.namespaceResolver(modelConstructor);\n predicates = predicate && ModelPredicateCreator.getPredicates(predicate);\n sortPredicates = pagination &&\n pagination.sort &&\n ModelSortPredicateCreator.getPredicates(pagination.sort);\n limit = pagination && pagination.limit;\n page = limit && pagination.page;\n queryById = predicates && this.idFromPredicate(predicates);\n return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {\n var record, _a, queryStatement, params;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!queryById) return [3 /*break*/, 2];\n return [4 /*yield*/, this.getById(tableName, queryById)];\n case 1:\n record = _b.sent();\n return [2 /*return*/, record ? [record] : []];\n case 2:\n _a = __read(queryAllStatement(tableName, predicates, sortPredicates, limit, page), 2), queryStatement = _a[0], params = _a[1];\n return [4 /*yield*/, this.db.getAll(queryStatement, params)];\n case 3: return [2 /*return*/, _b.sent()];\n }\n });\n }); })()];\n case 1:\n records = _a.sent();\n return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, records)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n SQLiteAdapter.prototype.getById = function (tableName, id) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, queryStatement, params, record;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = __read(queryByIdStatement(id, tableName), 2), queryStatement = _a[0], params = _a[1];\n return [4 /*yield*/, this.db.get(queryStatement, params)];\n case 1:\n record = _b.sent();\n return [2 /*return*/, record];\n }\n });\n });\n };\n SQLiteAdapter.prototype.idFromPredicate = function (predicates) {\n var predicateObjs = predicates.predicates;\n var idPredicate = predicateObjs.length === 1 &&\n predicateObjs.find(function (p) { return isPredicateObj(p) && p.field === 'id' && p.operator === 'eq'; });\n return idPredicate && idPredicate.operand;\n };\n SQLiteAdapter.prototype.queryOne = function (modelConstructor, firstOrLast) {\n if (firstOrLast === void 0) { firstOrLast = QueryOne.FIRST; }\n return __awaiter(this, void 0, void 0, function () {\n var tableName, _a, queryStatement, params, result, modelInstance;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n tableName = modelConstructor.name;\n _a = __read(queryOneStatement(firstOrLast, tableName), 2), queryStatement = _a[0], params = _a[1];\n return [4 /*yield*/, this.db.get(queryStatement, params)];\n case 1:\n result = _b.sent();\n modelInstance = result && this.modelInstanceCreator(modelConstructor, result);\n return [2 /*return*/, modelInstance];\n }\n });\n });\n };\n // Currently does not cascade\n // TODO: use FKs in relations and have `ON DELETE CASCADE` set\n // For Has Many and Has One relations to have SQL handle cascades automatically\n SQLiteAdapter.prototype.delete = function (modelOrModelConstructor, condition) {\n return __awaiter(this, void 0, void 0, function () {\n 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;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!isModelConstructor(modelOrModelConstructor)) return [3 /*break*/, 3];\n modelConstructor = modelOrModelConstructor;\n namespaceName = this.namespaceResolver(modelConstructor);\n tableName = modelConstructor.name;\n predicates = condition && ModelPredicateCreator.getPredicates(condition);\n queryStatement = queryAllStatement(tableName, predicates);\n deleteStatement = deleteByPredicateStatement(tableName, predicates);\n return [4 /*yield*/, this.db.selectAndDelete(queryStatement, deleteStatement)];\n case 1:\n models = _d.sent();\n return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, models)];\n case 2:\n modelInstances = _d.sent();\n return [2 /*return*/, [modelInstances, modelInstances]];\n case 3:\n model = modelOrModelConstructor;\n modelConstructor = Object.getPrototypeOf(model)\n .constructor;\n tableName = modelConstructor.name;\n if (!condition) return [3 /*break*/, 6];\n _a = __read(queryByIdStatement(model.id, tableName), 2), queryStatement = _a[0], params = _a[1];\n return [4 /*yield*/, this.db.get(queryStatement, params)];\n case 4:\n fromDB = _d.sent();\n if (fromDB === undefined) {\n msg = 'Model instance not found in storage';\n logger.warn(msg, { model: model });\n return [2 /*return*/, [[model], []]];\n }\n predicates = ModelPredicateCreator.getPredicates(condition);\n predicateObjs = predicates.predicates, type = predicates.type;\n isValid = validatePredicate(fromDB, type, predicateObjs);\n if (!isValid) {\n msg = 'Conditional update failed';\n logger.error(msg, { model: fromDB, condition: predicateObjs });\n throw new Error(msg);\n }\n _b = __read(deleteByIdStatement(model.id, tableName), 2), deleteStatement = _b[0], deleteParams = _b[1];\n return [4 /*yield*/, this.db.save(deleteStatement, deleteParams)];\n case 5:\n _d.sent();\n return [2 /*return*/, [[model], [model]]];\n case 6:\n _c = __read(deleteByIdStatement(model.id, tableName), 2), deleteStatement = _c[0], params = _c[1];\n return [4 /*yield*/, this.db.save(deleteStatement, params)];\n case 7:\n _d.sent();\n return [2 /*return*/, [[model], [model]]];\n }\n });\n });\n };\n SQLiteAdapter.prototype.batchSave = function (modelConstructor, items) {\n return __awaiter(this, void 0, void 0, function () {\n var tableName, result, itemsToSave, queryStatements, deleteStatements, saveStatements, _loop_1, this_1, items_1, items_1_1, item, queryResponses;\n var e_5, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n tableName = modelConstructor.name;\n result = [];\n itemsToSave = [];\n queryStatements = new Set();\n deleteStatements = new Set();\n saveStatements = new Set();\n _loop_1 = function (item) {\n var connectedModels = traverseModel(modelConstructor.name, this_1.modelInstanceCreator(modelConstructor, item), this_1.schema.namespaces[this_1.namespaceResolver(modelConstructor)], this_1.modelInstanceCreator, this_1.getModelConstructorByModelName);\n var id = item.id, _deleted = item._deleted;\n var instance = connectedModels.find(function (_a) {\n var instance = _a.instance;\n return instance.id === id;\n }).instance;\n if (_deleted) {\n // create the delete statements right away\n var deleteStatement = deleteByIdStatement(instance.id, tableName);\n deleteStatements.add(deleteStatement);\n result.push([item, OpType.DELETE]);\n }\n else {\n // query statements for the saves at first\n var queryStatement = queryByIdStatement(id, tableName);\n queryStatements.add(queryStatement);\n // combination of insert and update items\n itemsToSave.push(instance);\n }\n };\n this_1 = this;\n try {\n for (items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {\n item = items_1_1.value;\n _loop_1(item);\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return [4 /*yield*/, this.db.batchQuery(queryStatements)];\n case 1:\n queryResponses = _b.sent();\n queryResponses.forEach(function (response, idx) {\n if (response === undefined) {\n var insertStatement = modelInsertStatement(itemsToSave[idx], tableName);\n saveStatements.add(insertStatement);\n result.push([itemsToSave[idx], OpType.INSERT]);\n }\n else {\n var updateStatement = modelUpdateStatement(itemsToSave[idx], tableName);\n saveStatements.add(updateStatement);\n result.push([itemsToSave[idx], OpType.UPDATE]);\n }\n });\n // perform all of the insert/update/delete operations in a single transaction\n return [4 /*yield*/, this.db.batchSave(saveStatements, deleteStatements)];\n case 2:\n // perform all of the insert/update/delete operations in a single transaction\n _b.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n return SQLiteAdapter;\n}());\nexport { SQLiteAdapter };\nexport default new SQLiteAdapter();\n//# sourceMappingURL=SQLiteAdapter.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport SQLite from 'react-native-sqlite-storage';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('SQLiteDatabase');\nSQLite.enablePromise(true);\nif (Logger.LOG_LEVEL === 'DEBUG') {\n SQLite.DEBUG(true);\n}\nvar DB_NAME = 'AmplifyDatastore';\nvar DB_DISPLAYNAME = 'AWS Amplify DataStore SQLite Database';\n// TODO: make these configurable\nvar DB_SIZE = 200000;\nvar DB_VERSION = '1.0';\n/*\n\nNote:\nI purposely avoided using arrow functions () => {} in this class,\nBecause I ran into issues with them in some of the SQLite method callbacks\n\nAlso, even though the SQLite library is promisified, certain operations\nonly work correctly with callbacks. Specifically, any time you need to\nget the result of an `executeSql` command inside of a transaction\n(see the batchQuery method below)\n\n*/\nvar SQLiteDatabase = /** @class */ (function () {\n function SQLiteDatabase() {\n }\n SQLiteDatabase.prototype.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this;\n return [4 /*yield*/, SQLite.openDatabase(DB_NAME, DB_VERSION, DB_DISPLAYNAME, DB_SIZE)];\n case 1:\n _a.db = _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n SQLiteDatabase.prototype.createSchema = function (statements) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.executeStatements(statements)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n SQLiteDatabase.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.closeDB()];\n case 1:\n _a.sent();\n logger.debug('Deleting database');\n return [4 /*yield*/, SQLite.deleteDatabase(DB_NAME)];\n case 2:\n _a.sent();\n logger.debug('Database deleted');\n return [2 /*return*/];\n }\n });\n });\n };\n SQLiteDatabase.prototype.get = function (statement, params) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, resultSet, result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.db.executeSql(statement, params)];\n case 1:\n _a = __read.apply(void 0, [_b.sent(), 1]), resultSet = _a[0];\n result = resultSet &&\n resultSet.rows &&\n resultSet.rows.length &&\n resultSet.rows.raw &&\n resultSet.rows.raw();\n return [2 /*return*/, result[0] || undefined];\n }\n });\n });\n };\n SQLiteDatabase.prototype.getAll = function (statement, params) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, resultSet, result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.db.executeSql(statement, params)];\n case 1:\n _a = __read.apply(void 0, [_b.sent(), 1]), resultSet = _a[0];\n result = resultSet &&\n resultSet.rows &&\n resultSet.rows.length &&\n resultSet.rows.raw &&\n resultSet.rows.raw();\n return [2 /*return*/, result || []];\n }\n });\n });\n };\n SQLiteDatabase.prototype.save = function (statement, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.db.executeSql(statement, params)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n SQLiteDatabase.prototype.batchQuery = function (queryStatements) {\n return __awaiter(this, void 0, void 0, function () {\n var results;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n results = [];\n return [4 /*yield*/, this.db.readTransaction(function (tx) {\n var e_1, _a;\n try {\n for (var queryStatements_1 = __values(queryStatements), queryStatements_1_1 = queryStatements_1.next(); !queryStatements_1_1.done; queryStatements_1_1 = queryStatements_1.next()) {\n var _b = __read(queryStatements_1_1.value, 2), statement = _b[0], params = _b[1];\n tx.executeSql(statement, params, function (_tx, res) {\n results.push(res.rows.raw()[0]);\n }, logger.warn);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (queryStatements_1_1 && !queryStatements_1_1.done && (_a = queryStatements_1.return)) _a.call(queryStatements_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n })];\n case 1:\n _a.sent();\n return [2 /*return*/, results];\n }\n });\n });\n };\n SQLiteDatabase.prototype.batchSave = function (saveStatements, deleteStatements) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.db.transaction(function (tx) {\n var e_2, _a, e_3, _b;\n try {\n for (var saveStatements_1 = __values(saveStatements), saveStatements_1_1 = saveStatements_1.next(); !saveStatements_1_1.done; saveStatements_1_1 = saveStatements_1.next()) {\n var _c = __read(saveStatements_1_1.value, 2), statement = _c[0], params = _c[1];\n tx.executeSql(statement, params);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (saveStatements_1_1 && !saveStatements_1_1.done && (_a = saveStatements_1.return)) _a.call(saveStatements_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (deleteStatements) {\n try {\n for (var deleteStatements_1 = __values(deleteStatements), deleteStatements_1_1 = deleteStatements_1.next(); !deleteStatements_1_1.done; deleteStatements_1_1 = deleteStatements_1.next()) {\n var _d = __read(deleteStatements_1_1.value, 2), statement = _d[0], params = _d[1];\n tx.executeSql(statement, params);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (deleteStatements_1_1 && !deleteStatements_1_1.done && (_b = deleteStatements_1.return)) _b.call(deleteStatements_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n }\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n SQLiteDatabase.prototype.selectAndDelete = function (query, _delete) {\n return __awaiter(this, void 0, void 0, function () {\n var results, _a, queryStatement, queryParams, _b, deleteStatement, deleteParams;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n results = [];\n _a = __read(query, 2), queryStatement = _a[0], queryParams = _a[1];\n _b = __read(_delete, 2), deleteStatement = _b[0], deleteParams = _b[1];\n return [4 /*yield*/, this.db.transaction(function (tx) {\n tx.executeSql(queryStatement, queryParams, function (_tx, res) {\n results = res.rows.raw();\n }, logger.warn);\n tx.executeSql(deleteStatement, deleteParams, function () { }, logger.warn);\n })];\n case 1:\n _c.sent();\n return [2 /*return*/, results];\n }\n });\n });\n };\n SQLiteDatabase.prototype.executeStatements = function (statements) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.db.transaction(function (tx) {\n var e_4, _a;\n try {\n for (var statements_1 = __values(statements), statements_1_1 = statements_1.next(); !statements_1_1.done; statements_1_1 = statements_1.next()) {\n var statement = statements_1_1.value;\n tx.executeSql(statement);\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (statements_1_1 && !statements_1_1.done && (_a = statements_1.return)) _a.call(statements_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n SQLiteDatabase.prototype.closeDB = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.db) return [3 /*break*/, 2];\n logger.debug('Closing Database');\n return [4 /*yield*/, this.db.close()];\n case 1:\n _a.sent();\n logger.debug('Database closed');\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n return SQLiteDatabase;\n}());\nexport default SQLiteDatabase;\n//# sourceMappingURL=SQLiteDatabase.js.map","var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport { isGraphQLScalarType, QueryOne, isPredicateObj, isPredicateGroup, isModelFieldType, isTargetNameAssociation, isModelAttributeAuth, utils, } from '@aws-amplify/datastore';\nimport { getSQLiteType } from './types';\nvar USER = utils.USER, isNonModelConstructor = utils.isNonModelConstructor, isModelConstructor = utils.isModelConstructor;\nvar keysFromModel = function (model) {\n return Object.keys(model)\n .map(function (k) { return \"\\\"\" + k + \"\\\"\"; })\n .join(', ');\n};\nvar valuesFromModel = function (model) {\n var values = Object.values(model).map(prepareValueForDML);\n var paramaterized = values.map(function () { return '?'; }).join(', ');\n return [paramaterized, values];\n};\nvar updateSet = function (model) {\n var values = [];\n var paramaterized = Object.entries(model)\n .filter(function (_a) {\n var _b = __read(_a, 1), k = _b[0];\n return k !== 'id';\n })\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n values.push(prepareValueForDML(v));\n return \"\\\"\" + k + \"\\\"=?\";\n })\n .join(', ');\n return [paramaterized, values];\n};\nfunction prepareValueForDML(value) {\n var scalarTypes = ['string', 'number', 'boolean'];\n var isScalarType = value === null || value === undefined || scalarTypes.includes(typeof value);\n if (isScalarType) {\n return value;\n }\n var isObjectType = typeof value === 'object' &&\n (Object.getPrototypeOf(value).constructor === Object ||\n isNonModelConstructor(Object.getPrototypeOf(value).constructor) ||\n isModelConstructor(Object.getPrototypeOf(value).constructor));\n if (Array.isArray(value) || isObjectType) {\n return JSON.stringify(value);\n }\n return \"\" + value;\n}\nexport function generateSchemaStatements(schema) {\n return Object.keys(schema.namespaces).flatMap(function (namespaceName) {\n var namespace = schema.namespaces[namespaceName];\n var isUserModel = namespaceName === USER;\n return Object.values(namespace.models).map(function (model) {\n return modelCreateTableStatement(model, isUserModel);\n });\n });\n}\nexport var implicitAuthFieldsForModel = function (model) {\n if (!model.attributes || !model.attributes.length) {\n return [];\n }\n var authRules = model.attributes.find(isModelAttributeAuth);\n if (!authRules) {\n return [];\n }\n var authFieldsForModel = authRules.properties.rules\n .filter(function (rule) { return rule.ownerField || rule.groupsField; })\n .map(function (rule) { return rule.ownerField || rule.groupsField; });\n return authFieldsForModel.filter(function (authField) {\n var authFieldExplicitlyDefined = Object.values(model.fields).find(function (f) { return f.name === authField; });\n return !authFieldExplicitlyDefined;\n });\n};\nexport function modelCreateTableStatement(model, userModel) {\n if (userModel === void 0) { userModel = false; }\n // implicitly defined auth fields, e.g., `owner`, `groupsField`, etc.\n var implicitAuthFields = implicitAuthFieldsForModel(model);\n var fields = Object.values(model.fields).reduce(function (acc, field) {\n if (isGraphQLScalarType(field.type)) {\n if (field.name === 'id') {\n return acc + '\"id\" PRIMARY KEY NOT NULL';\n }\n var columnParam_1 = \"\\\"\" + field.name + \"\\\" \" + getSQLiteType(field.type);\n if (field.isRequired) {\n columnParam_1 += ' NOT NULL';\n }\n return acc + (\", \" + columnParam_1);\n }\n if (isModelFieldType(field.type)) {\n var columnParam_2 = \"\\\"\" + field.name + \"\\\" TEXT\";\n // add targetName as well as field name for BELONGS_TO relations\n if (isTargetNameAssociation(field.association)) {\n // check if this field has been explicitly defined in the model\n var fkDefinedInModel = Object.values(model.fields).find(function (f) { return f.name === field.association.targetName; });\n // if the FK is not explicitly defined in the model, we have to add it here\n if (!fkDefinedInModel) {\n var required = field.isRequired ? ' NOT NULL' : '';\n columnParam_2 += \", \\\"\" + field.association.targetName + \"\\\" TEXT\" + required;\n }\n }\n // ignore isRequired param for model fields, since they will not contain\n // the related data locally\n return acc + (\", \" + columnParam_2);\n }\n // default to TEXT\n var columnParam = \"\\\"\" + field.name + \"\\\" TEXT\";\n if (field.isRequired) {\n columnParam += ' NOT NULL';\n }\n return acc + (\", \" + columnParam);\n }, '');\n implicitAuthFields.forEach(function (authField) {\n fields += \", \" + authField + \" TEXT\";\n });\n if (userModel) {\n fields +=\n ', \"_version\" INTEGER, \"_lastChangedAt\" INTEGER, \"_deleted\" INTEGER';\n }\n var createTableStatement = \"CREATE TABLE IF NOT EXISTS \\\"\" + model.name + \"\\\" (\" + fields + \");\";\n return createTableStatement;\n}\nexport function modelInsertStatement(model, tableName) {\n var keys = keysFromModel(model);\n var _a = __read(valuesFromModel(model), 2), paramaterized = _a[0], values = _a[1];\n var insertStatement = \"INSERT INTO \\\"\" + tableName + \"\\\" (\" + keys + \") VALUES (\" + paramaterized + \")\";\n return [insertStatement, values];\n}\nexport function modelUpdateStatement(model, tableName) {\n var _a = __read(updateSet(model), 2), paramaterized = _a[0], values = _a[1];\n var updateStatement = \"UPDATE \\\"\" + tableName + \"\\\" SET \" + paramaterized + \" WHERE id=?\";\n return [updateStatement, __spread(values, [model.id])];\n}\nexport function queryByIdStatement(id, tableName) {\n return [\"SELECT * FROM \\\"\" + tableName + \"\\\" WHERE \\\"id\\\" = ?\", [id]];\n}\n/*\n Predicates supported by DataStore:\n\n Strings: eq | ne | le | lt | ge | gt | contains | notContains | beginsWith | between\n Numbers: eq | ne | le | lt | ge | gt | between\n Lists: contains | notContains\n*/\nvar comparisonOperatorMap = {\n eq: '=',\n ne: '!=',\n le: '<=',\n lt: '<',\n ge: '>=',\n gt: '>',\n};\nvar logicalOperatorMap = {\n beginsWith: 'LIKE',\n contains: 'LIKE',\n notContains: 'NOT LIKE',\n between: 'BETWEEN',\n};\nvar whereConditionFromPredicateObject = function (_a) {\n var field = _a.field, operator = _a.operator, operand = _a.operand;\n var comparisonOperator = comparisonOperatorMap[operator];\n if (comparisonOperator) {\n return [\"\\\"\" + field + \"\\\" \" + comparisonOperator + \" ?\", [operand]];\n }\n var logicalOperatorKey = operator;\n var logicalOperator = logicalOperatorMap[logicalOperatorKey];\n if (logicalOperator) {\n var rightExp = [];\n switch (logicalOperatorKey) {\n case 'between':\n rightExp = operand; // operand is a 2-tuple\n break;\n case 'beginsWith':\n rightExp = [operand + \"%\"];\n break;\n case 'contains':\n case 'notContains':\n rightExp = [\"%\" + operand + \"%\"];\n break;\n default:\n var _ = logicalOperatorKey;\n // Incorrect WHERE clause can result in data loss\n throw new Error('Cannot map predicate to a valid WHERE clause');\n }\n return [\n \"\\\"\" + field + \"\\\" \" + logicalOperator + \" \" + rightExp.map(function (_) { return '?'; }).join(' AND '),\n rightExp,\n ];\n }\n};\nexport function whereClauseFromPredicate(predicate) {\n var result = [];\n var params = [];\n recurse(predicate, result, params);\n var whereClause = \"WHERE \" + result.join(' ');\n return [whereClause, params];\n function recurse(predicate, result, params) {\n var e_1, _a;\n if (result === void 0) { result = []; }\n if (params === void 0) { params = []; }\n if (isPredicateGroup(predicate)) {\n var groupType = predicate.type, groupPredicates = predicate.predicates;\n var filterType = '';\n var isNegation = false;\n switch (groupType) {\n case 'not':\n isNegation = true;\n break;\n case 'and':\n filterType = 'AND';\n break;\n case 'or':\n filterType = 'OR';\n break;\n default:\n var _ = groupType;\n throw new Error(\"Invalid \" + groupType);\n }\n var groupResult = [];\n try {\n for (var groupPredicates_1 = __values(groupPredicates), groupPredicates_1_1 = groupPredicates_1.next(); !groupPredicates_1_1.done; groupPredicates_1_1 = groupPredicates_1.next()) {\n var p = groupPredicates_1_1.value;\n recurse(p, groupResult, params);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (groupPredicates_1_1 && !groupPredicates_1_1.done && (_a = groupPredicates_1.return)) _a.call(groupPredicates_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n result.push((isNegation ? 'NOT' : '') + \"(\" + groupResult.join(\" \" + filterType + \" \") + \")\");\n }\n else if (isPredicateObj(predicate)) {\n var _b = __read(whereConditionFromPredicateObject(predicate), 2), condition = _b[0], conditionParams = _b[1];\n result.push(condition);\n params.push.apply(params, __spread(conditionParams));\n }\n }\n}\nvar sortDirectionMap = {\n ASCENDING: 'ASC',\n DESCENDING: 'DESC',\n};\nexport function orderByClauseFromSort(sortPredicate) {\n if (sortPredicate === void 0) { sortPredicate = []; }\n var orderByParts = sortPredicate.map(function (_a) {\n var field = _a.field, sortDirection = _a.sortDirection;\n return \"\\\"\" + field + \"\\\" \" + sortDirectionMap[sortDirection];\n });\n // We always sort by _rowid_ last\n orderByParts.push(\"_rowid_ \" + sortDirectionMap.ASCENDING);\n return \"ORDER BY \" + orderByParts.join(', ');\n}\nexport function limitClauseFromPagination(limit, page) {\n if (page === void 0) { page = 0; }\n var params = [limit];\n var clause = 'LIMIT ?';\n if (page) {\n var offset = limit * page;\n params.push(offset);\n clause += ' OFFSET ?';\n }\n return [clause, params];\n}\nexport function queryAllStatement(tableName, predicate, sort, limit, page) {\n var statement = \"SELECT * FROM \\\"\" + tableName + \"\\\"\";\n var params = [];\n if (predicate && predicate.predicates.length) {\n var _a = __read(whereClauseFromPredicate(predicate), 2), whereClause = _a[0], whereParams = _a[1];\n statement += \" \" + whereClause;\n params.push.apply(params, __spread(whereParams));\n }\n var orderByClause = orderByClauseFromSort(sort);\n statement += \" \" + orderByClause;\n if (limit) {\n var _b = __read(limitClauseFromPagination(limit, page), 2), limitClause = _b[0], limitParams = _b[1];\n statement += \" \" + limitClause;\n params.push.apply(params, __spread(limitParams));\n }\n return [statement, params];\n}\nexport function queryOneStatement(firstOrLast, tableName) {\n if (firstOrLast === QueryOne.FIRST) {\n // ORDER BY rowid will no longer work as expected if a customer has\n // a field by that name in their schema. We may want to enforce it\n // as a reserved keyword in Codegen\n return [\"SELECT * FROM \" + tableName + \" ORDER BY _rowid_ LIMIT 1\", []];\n }\n else {\n return [\"SELECT * FROM \" + tableName + \" ORDER BY _rowid_ DESC LIMIT 1\", []];\n }\n}\nexport function deleteByIdStatement(id, tableName) {\n var deleteStatement = \"DELETE FROM \\\"\" + tableName + \"\\\" WHERE \\\"id\\\"=?\";\n return [deleteStatement, [id]];\n}\nexport function deleteByPredicateStatement(tableName, predicate) {\n var statement = \"DELETE FROM \\\"\" + tableName + \"\\\"\";\n var params = [];\n if (predicate && predicate.predicates.length) {\n var _a = __read(whereClauseFromPredicate(predicate), 2), whereClause = _a[0], whereParams = _a[1];\n statement += \" \" + whereClause;\n params.push.apply(params, __spread(whereParams));\n }\n return [statement, params];\n}\n//# sourceMappingURL=SQLiteUtils.js.map","export function getSQLiteType(scalar) {\n switch (scalar) {\n case 'Boolean':\n case 'Int':\n case 'AWSTimestamp':\n return 'INTEGER';\n case 'ID':\n case 'String':\n case 'AWSDate':\n case 'AWSTime':\n case 'AWSDateTime':\n case 'AWSEmail':\n case 'AWSJSON':\n case 'AWSURL':\n case 'AWSPhone':\n case 'AWSIPAddress':\n return 'TEXT';\n case 'Float':\n return 'REAL';\n default:\n var _ = scalar;\n throw new Error(\"unknown type \" + scalar);\n }\n}\n//# sourceMappingURL=types.js.map","import SQLiteAdapter from './SQLiteAdapter/SQLiteAdapter';\nexport { SQLiteAdapter };\n//# sourceMappingURL=index.js.map","module.exports = __WEBPACK_EXTERNAL_MODULE__aws_amplify_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__aws_amplify_datastore__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_native_sqlite_storage__;"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///../../src/SQLiteAdapter/SQLiteAdapter.ts","webpack:///../../src/SQLiteAdapter/SQLiteDatabase.ts","webpack:///../../src/SQLiteAdapter/SQLiteUtils.ts","webpack:///../../src/SQLiteAdapter/types.ts","webpack:///../src/index.ts","webpack:///external \"@aws-amplify/core\"","webpack:///external \"@aws-amplify/datastore\"","webpack:///external \"react-native-sqlite-storage\""],"names":["NAMESPACES","DATASTORE","USER","SYNC","STORAGE","validatePredicate","isModelConstructor","logger","Logger","SQLiteAdapter","theSchema","namespaceResolver","modelInstanceCreator","getModelConstructorByModelName","initPromise","Promise","res","rej","_this","resolve","reject","_a","schema","db","SQLiteDatabase","init","statements","generateSchemaStatements","createSchema","error_1","clear","undefined","model","condition","modelConstructor","Object","getPrototypeOf","constructor","tableName","connectedModels","traverseModel","name","namespaces","connectionStoreNames","values","map","modelName","item","instance","_b","queryByIdStatement","id","queryStatement","params","get","fromDB","_d","predicates","ModelPredicateCreator","getPredicates","predicateObjs","type","isValid","msg","error","Error","result","saveStatements","Set","connectionStoreNames_1","resItem","_c","queryStatement_1","params_1","fromDB_1","opType","OpType","INSERT","UPDATE","saveStatement","modelUpdateStatement","modelInsertStatement","add","push","batchSave","namespaceName","srcModelName","records","namespace","relations","relationships","relationTypes","connectionTableNames","length","record","relations_1","relation","fieldName","targetName","relationType","modelConstructor_1","records_1","recordItem","getByfield","_e","connectionRecord","_g","records_2","_f","_","predicate","pagination","sortPredicates","sort","ModelSortPredicateCreator","limit","page","queryById","idFromPredicate","getById","queryAllStatement","getAll","load","idPredicate","find","p","field","operator","operand","firstOrLast","QueryOne","FIRST","queryOneStatement","modelInstance","modelOrModelConstructor","deleteStatement","deleteByPredicateStatement","selectAndDelete","models","modelInstances","warn","deleteByIdStatement","deleteParams","save","items","itemsToSave","queryStatements","deleteStatements","this_1","_deleted","DELETE","items_1","items_1_1","batchQuery","queryResponses","forEach","response","idx","insertStatement","updateStatement","apply","__spread","_h","recordCountStatement","SQLite","enablePromise","LOG_LEVEL","DEBUG","DB_NAME","DB_DISPLAYNAME","DB_SIZE","DB_VERSION","openDatabase","executeStatements","closeDB","debug","deleteDatabase","statement","executeSql","resultSet","rows","raw","results","readTransaction","tx","queryStatements_1_1","_tx","transaction","saveStatements_1_1","deleteStatements_1_1","query","_delete","queryParams","statements_1_1","close","isNonModelConstructor","keysFromModel","keys","k","join","valuesFromModel","prepareValueForDML","paramaterized","updateSet","entries","filter","v","value","scalarTypes","isScalarType","includes","isObjectType","_typeof","Array","isArray","JSON","stringify","flatMap","isUserModel","implicitAuthFieldsForModel","attributes","authRules","isModelAttributeAuth","authFieldsForModel","properties","rules","rule","ownerField","groupsField","authField","authFieldExplicitlyDefined","fields","f","modelCreateTableStatement","userModel","implicitAuthFields","reduce","acc","isGraphQLScalarType","columnParam_1","getSQLiteType","isRequired","isModelFieldType","columnParam_2","isTargetNameAssociation","association","fkDefinedInModel","required","columnParam","createTableStatement","comparisonOperatorMap","eq","ne","le","lt","ge","gt","logicalOperatorMap","beginsWith","contains","notContains","between","whereConditionFromPredicateObject","comparisonOperator","logicalOperatorKey","logicalOperator","rightExp","whereClauseFromPredicate","recurse","whereClause","isPredicateGroup","groupPredicates","filterType","isNegation","groupType","groupResult","groupPredicates_1_1","isPredicateObj","conditionParams","sortDirectionMap","ASCENDING","DESCENDING","orderByClauseFromSort","sortPredicate","orderByParts","sortDirection","limitClauseFromPagination","clause","offset","whereParams","orderByClause","limitClause","limitParams","scalar"],"mappings":"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","file":"aws-amplify-datastore-storage-adapter.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@aws-amplify/core\"), require(\"@aws-amplify/datastore\"), require(\"react-native-sqlite-storage\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"aws-amplify-datastore-storage-adapter\", [\"@aws-amplify/core\", \"@aws-amplify/datastore\", \"react-native-sqlite-storage\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"aws-amplify-datastore-storage-adapter\"] = factory(require(\"@aws-amplify/core\"), require(\"@aws-amplify/datastore\"), require(\"react-native-sqlite-storage\"));\n\telse\n\t\troot[\"aws-amplify-datastore-storage-adapter\"] = factory(root[\"@aws-amplify/core\"], root[\"@aws-amplify/datastore\"], root[\"react-native-sqlite-storage\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__aws_amplify_core__, __WEBPACK_EXTERNAL_MODULE__aws_amplify_datastore__, __WEBPACK_EXTERNAL_MODULE_react_native_sqlite_storage__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./lib-esm/index.js\");\n",null,null,null,null,null,"module.exports = __WEBPACK_EXTERNAL_MODULE__aws_amplify_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__aws_amplify_datastore__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_native_sqlite_storage__;"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@aws-amplify/datastore"),require("@aws-amplify/core"),require("react-native-sqlite-storage")):"function"==typeof define&&define.amd?define("aws-amplify-datastore-storage-adapter",["@aws-amplify/datastore","@aws-amplify/core","react-native-sqlite-storage"],t):"object"==typeof exports?exports["aws-amplify-datastore-storage-adapter"]=t(require("@aws-amplify/datastore"),require("@aws-amplify/core"),require("react-native-sqlite-storage")):e["aws-amplify-datastore-storage-adapter"]=t(e["@aws-amplify/datastore"],e["@aws-amplify/core"],e["react-native-sqlite-storage"])}(window,(function(e,t,r){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t,r){"use strict";r.r(t),r.d(t,"SQLiteAdapter",(function(){return W}));var n=r(1),o=r(2),a=r.n(o),i=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}u((n=n.apply(e,t||[])).next())}))},s=function(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},u=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},c=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},l=new n.ConsoleLogger("SQLiteDatabase");a.a.enablePromise(!0),"DEBUG"===n.ConsoleLogger.LOG_LEVEL&&a.a.DEBUG(!0);var f=function(){function e(){}return e.prototype.init=function(){return i(this,void 0,void 0,(function(){var e;return s(this,(function(t){switch(t.label){case 0:return e=this,[4,a.a.openDatabase("AmplifyDatastore","1.0","AWS Amplify DataStore SQLite Database",2e5)];case 1:return e.db=t.sent(),[2]}}))}))},e.prototype.createSchema=function(e){return i(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return[4,this.executeStatements(e)];case 1:return[2,t.sent()]}}))}))},e.prototype.clear=function(){return i(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return[4,this.closeDB()];case 1:return e.sent(),l.debug("Deleting database"),[4,a.a.deleteDatabase("AmplifyDatastore")];case 2:return e.sent(),l.debug("Database deleted"),[2]}}))}))},e.prototype.get=function(e,t){return i(this,void 0,void 0,(function(){var r,n;return s(this,(function(o){switch(o.label){case 0:return[4,this.db.executeSql(e,t)];case 1:return r=u.apply(void 0,[o.sent(),1]),n=r[0],[2,(n&&n.rows&&n.rows.length&&n.rows.raw&&n.rows.raw())[0]||void 0]}}))}))},e.prototype.getAll=function(e,t){return i(this,void 0,void 0,(function(){var r,n;return s(this,(function(o){switch(o.label){case 0:return[4,this.db.executeSql(e,t)];case 1:return r=u.apply(void 0,[o.sent(),1]),n=r[0],[2,n&&n.rows&&n.rows.length&&n.rows.raw&&n.rows.raw()||[]]}}))}))},e.prototype.save=function(e,t){return i(this,void 0,void 0,(function(){return s(this,(function(r){switch(r.label){case 0:return[4,this.db.executeSql(e,t)];case 1:return r.sent(),[2]}}))}))},e.prototype.batchQuery=function(e){return i(this,void 0,void 0,(function(){var t;return s(this,(function(r){switch(r.label){case 0:return t=[],[4,this.db.readTransaction((function(r){var n,o;try{for(var a=c(e),i=a.next();!i.done;i=a.next()){var s=u(i.value,2),f=s[0],d=s[1];r.executeSql(f,d,(function(e,r){t.push(r.rows.raw()[0])}),l.warn)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}}))];case 1:return r.sent(),[2,t]}}))}))},e.prototype.batchSave=function(e,t){return i(this,void 0,void 0,(function(){return s(this,(function(r){switch(r.label){case 0:return[4,this.db.transaction((function(r){var n,o,a,i;try{for(var s=c(e),l=s.next();!l.done;l=s.next()){var f=u(l.value,2),d=f[0],h=f[1];r.executeSql(d,h)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}if(t)try{for(var p=c(t),y=p.next();!y.done;y=p.next()){var v=u(y.value,2);d=v[0],h=v[1];r.executeSql(d,h)}}catch(e){a={error:e}}finally{try{y&&!y.done&&(i=p.return)&&i.call(p)}finally{if(a)throw a.error}}}))];case 1:return r.sent(),[2]}}))}))},e.prototype.selectAndDelete=function(e,t){return i(this,void 0,void 0,(function(){var r,n,o,a,i,c,f;return s(this,(function(s){switch(s.label){case 0:return r=[],n=u(e,2),o=n[0],a=n[1],i=u(t,2),c=i[0],f=i[1],[4,this.db.transaction((function(e){e.executeSql(o,a,(function(e,t){r=t.rows.raw()}),l.warn),e.executeSql(c,f,(function(){}),l.warn)}))];case 1:return s.sent(),[2,r]}}))}))},e.prototype.executeStatements=function(e){return i(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return[4,this.db.transaction((function(t){var r,n;try{for(var o=c(e),a=o.next();!a.done;a=o.next()){var i=a.value;t.executeSql(i)}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}))];case 1:return[2,t.sent()]}}))}))},e.prototype.closeDB=function(){return i(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return this.db?(l.debug("Closing Database"),[4,this.db.close()]):[3,2];case 1:e.sent(),l.debug("Database closed"),e.label=2;case 2:return[2]}}))}))},e}(),d=r(0);function h(e){return(h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var p=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},y=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(p(arguments[t]));return e},v=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},b=d.utils.USER,m=d.utils.isNonModelConstructor,w=d.utils.isModelConstructor;function S(e){if(null==e||["string","number","boolean"].includes(h(e)))return e;var t="object"===h(e)&&(Object.getPrototypeOf(e).constructor===Object||m(Object.getPrototypeOf(e).constructor)||w(Object.getPrototypeOf(e).constructor));return Array.isArray(e)||t?JSON.stringify(e):""+e}function E(e){return Object.keys(e.namespaces).flatMap((function(t){var r=e.namespaces[t],n=t===b;return Object.values(r.models).map((function(e){return function(e,t){void 0===t&&(t=!1);var r=function(e){if(!e.attributes||!e.attributes.length)return[];var t=e.attributes.find(d.isModelAttributeAuth);if(!t)return[];return t.properties.rules.filter((function(e){return e.ownerField||e.groupsField})).map((function(e){return e.ownerField||e.groupsField})).filter((function(t){return!Object.values(e.fields).find((function(e){return e.name===t}))}))}(e),n=Object.values(e.fields).reduce((function(t,r){if(Object(d.isGraphQLScalarType)(r.type)){if("id"===r.name)return t+'"id" PRIMARY KEY NOT NULL';var n='"'+r.name+'" '+function(e){switch(e){case"Boolean":case"Int":case"AWSTimestamp":return"INTEGER";case"ID":case"String":case"AWSDate":case"AWSTime":case"AWSDateTime":case"AWSEmail":case"AWSJSON":case"AWSURL":case"AWSPhone":case"AWSIPAddress":return"TEXT";case"Float":return"REAL";default:throw new Error("unknown type "+e)}}(r.type);return r.isRequired&&(n+=" NOT NULL"),t+", "+n}if(Object(d.isModelFieldType)(r.type)){var o='"'+r.name+'" TEXT';if(Object(d.isTargetNameAssociation)(r.association))if(!Object.values(e.fields).find((function(e){return e.name===r.association.targetName}))){var a=r.isRequired?" NOT NULL":"";o+=', "'+r.association.targetName+'" TEXT'+a}return t+", "+o}var i='"'+r.name+'" TEXT';return r.isRequired&&(i+=" NOT NULL"),t+", "+i}),"");r.forEach((function(e){n+=", "+e+" TEXT"})),t&&(n+=', "_version" INTEGER, "_lastChangedAt" INTEGER, "_deleted" INTEGER');return'CREATE TABLE IF NOT EXISTS "'+e.name+'" ('+n+");"}(e,n)}))}))}function g(e,t){var r=function(e){return Object.keys(e).map((function(e){return'"'+e+'"'})).join(", ")}(e),n=p(function(e){var t=Object.values(e).map(S);return[t.map((function(){return"?"})).join(", "),t]}(e),2);return['INSERT INTO "'+t+'" ('+r+") VALUES ("+n[0]+")",n[1]]}function O(e,t){var r=p(function(e){var t=[];return[Object.entries(e).filter((function(e){return"id"!==p(e,1)[0]})).map((function(e){var r=p(e,2),n=r[0],o=r[1];return t.push(S(o)),'"'+n+'"=?'})).join(", "),t]}(e),2),n=r[0],o=r[1];return['UPDATE "'+t+'" SET '+n+" WHERE id=?",y(o,[e.id])]}function T(e,t){return['SELECT * FROM "'+t+'" WHERE "id" = ?',[e]]}var x={eq:"=",ne:"!=",le:"<=",lt:"<",ge:">=",gt:">"},N={beginsWith:"LIKE",contains:"LIKE",notContains:"NOT LIKE",between:"BETWEEN"};function j(e){var t=[],r=[];return function e(t,r,n){var o,a;void 0===r&&(r=[]);void 0===n&&(n=[]);if(Object(d.isPredicateGroup)(t)){var i=t.type,s=t.predicates,u="",c=!1;switch(i){case"not":c=!0;break;case"and":u="AND";break;case"or":u="OR";break;default:throw new Error("Invalid "+i)}var l=[];try{for(var f=v(s),h=f.next();!h.done;h=f.next()){var b=h.value;e(b,l,n)}}catch(e){o={error:e}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(o)throw o.error}}r.push((c?"NOT":"")+"("+l.join(" "+u+" ")+")")}else if(Object(d.isPredicateObj)(t)){var m=p(function(e){var t=e.field,r=e.operator,n=e.operand,o=x[r];if(o)return['"'+t+'" '+o+" ?",[n]];var a=r,i=N[a];if(i){var s=[];switch(a){case"between":s=n;break;case"beginsWith":s=[n+"%"];break;case"contains":case"notContains":s=["%"+n+"%"];break;default:throw new Error("Cannot map predicate to a valid WHERE clause")}return['"'+t+'" '+i+" "+s.map((function(e){return"?"})).join(" AND "),s]}}(t),2),w=m[0],S=m[1];r.push(w),n.push.apply(n,y(S))}}(e,t,r),["WHERE "+t.join(" "),r]}var I={ASCENDING:"ASC",DESCENDING:"DESC"};function C(e,t,r,n,o){var a='SELECT * FROM "'+e+'"',i=[];if(t&&t.predicates.length){var s=p(j(t),2),u=s[0],c=s[1];a+=" "+u,i.push.apply(i,y(c))}if(a+=" "+function(e){void 0===e&&(e=[]);var t=e.map((function(e){var t=e.field,r=e.sortDirection;return'"'+t+'" '+I[r]}));return t.push("_rowid_ "+I.ASCENDING),"ORDER BY "+t.join(", ")}(r),n){var l=p(function(e,t){void 0===t&&(t=0);var r=[e],n="LIMIT ?";if(t){var o=e*t;r.push(o),n+=" OFFSET ?"}return[n,r]}(n,o),2),f=l[0],d=l[1];a+=" "+f,i.push.apply(i,y(d))}return[a,i]}function P(e,t){return['DELETE FROM "'+t+'" WHERE "id"=?',[e]]}var A=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}u((n=n.apply(e,t||[])).next())}))},R=function(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},D=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof L?L(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,o,(t=e[r](t)).done,t.value)}))}}},M=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},L=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},q=d.utils.traverseModel,_=d.utils.validatePredicate,F=d.utils.isModelConstructor,B=new n.ConsoleLogger("DataStore"),W=new(function(){function e(){}return e.prototype.setUp=function(e,t,r,n){return A(this,void 0,void 0,(function(){var o,a,i=this;return R(this,(function(s){switch(s.label){case 0:return this.initPromise?[3,1]:(this.initPromise=new Promise((function(e,t){i.resolve=e,i.reject=t})),[3,3]);case 1:return[4,this.initPromise];case 2:return s.sent(),[2];case 3:this.schema=e,this.namespaceResolver=t,this.modelInstanceCreator=r,this.getModelConstructorByModelName=n,s.label=4;case 4:return s.trys.push([4,8,,9]),this.db?[3,7]:(this.db=new f,[4,this.db.init()]);case 5:return s.sent(),o=E(this.schema),[4,this.db.createSchema(o)];case 6:s.sent(),this.resolve(),s.label=7;case 7:return[3,9];case 8:return a=s.sent(),this.reject(a),[3,9];case 9:return[2]}}))}))},e.prototype.clear=function(){return A(this,void 0,void 0,(function(){return R(this,(function(e){switch(e.label){case 0:return[4,this.db.clear()];case 1:return e.sent(),this.db=void 0,this.initPromise=void 0,[2]}}))}))},e.prototype.save=function(e,t){var r,n;return A(this,void 0,void 0,(function(){var o,a,i,s,u,c,l,f,h,p,y,v,b,m,w,S,E,x,N,j,I,C,P,A,L,F,W,k;return R(this,(function(R){switch(R.label){case 0:return o=Object.getPrototypeOf(e).constructor,a=o.name,i=q(o.name,e,this.schema.namespaces[this.namespaceResolver(o)],this.modelInstanceCreator,this.getModelConstructorByModelName),s=Object.values(i).map((function(e){return{modelName:e.modelName,item:e.item,instance:e.instance}})),u=M(T(e.id,a),2),c=u[0],l=u[1],[4,this.db.get(c,l)];case 1:if(f=R.sent(),t&&f&&(h=d.ModelPredicateCreator.getPredicates(t),p=h.predicates,y=h.type,!_(f,y,p)))throw v="Conditional update failed",B.error(v,{model:f,condition:p}),new Error(v);b=[],m=new Set,R.label=2;case 2:R.trys.push([2,8,9,14]),w=D(s),R.label=3;case 3:return[4,w.next()];case 4:return(S=R.sent()).done?[3,7]:(E=S.value,x=E.modelName,N=E.item,j=E.instance,I=N.id,C=M(T(I,x),2),P=C[0],A=C[1],[4,this.db.get(P,A)]);case 5:L=R.sent(),F=void 0===L?d.OpType.INSERT:d.OpType.UPDATE,W=L?O(j,x):g(j,x),m.add(W),b.push([j,F]),R.label=6;case 6:return[3,3];case 7:return[3,14];case 8:return k=R.sent(),r={error:k},[3,14];case 9:return R.trys.push([9,,12,13]),S&&!S.done&&(n=w.return)?[4,n.call(w)]:[3,11];case 10:R.sent(),R.label=11;case 11:return[3,13];case 12:if(r)throw r.error;return[7];case 13:return[7];case 14:return[4,this.db.batchSave(m)];case 15:return R.sent(),[2,b]}}))}))},e.prototype.load=function(e,t,r){var n,o,a,i,s,u,c,l,f,d;return A(this,void 0,void 0,(function(){var h,p,y,v,b,m,w,S,E,g,O,x,N,j,I,C,P,A,L,q,_,F,B=this;return R(this,(function(R){switch(R.label){case 0:if(h=this.schema.namespaces[e],p=h.relationships[t].relationTypes,y=p.map((function(e){return e.modelName})),v=this.getModelConstructorByModelName(e,t),0===y.length)return[2,r.map((function(e){return B.modelInstanceCreator(v,e)}))];R.label=1;case 1:R.trys.push([1,34,35,40]),b=D(p),R.label=2;case 2:return[4,b.next()];case 3:if((m=R.sent()).done)return[3,33];switch(w=m.value,S=w.fieldName,E=w.modelName,g=w.targetName,O=w.relationType,x=this.getModelConstructorByModelName(e,E),O){case"HAS_ONE":return[3,4];case"BELONGS_TO":return[3,17];case"HAS_MANY":return[3,30]}return[3,31];case 4:R.trys.push([4,10,11,16]),n=D(r),R.label=5;case 5:return[4,n.next()];case 6:return(o=R.sent()).done?[3,9]:(C=o.value,N=C[g]?g:S,C[N]?(j=M(T(C[N],E),2),A=j[0],L=j[1],[4,this.db.get(A,L)]):[3,9]);case 7:q=R.sent(),C[S]=q&&this.modelInstanceCreator(x,q),R.label=8;case 8:return[3,5];case 9:return[3,16];case 10:return I=R.sent(),c={error:I},[3,16];case 11:return R.trys.push([11,,14,15]),o&&!o.done&&(l=n.return)?[4,l.call(n)]:[3,13];case 12:R.sent(),R.label=13;case 13:return[3,15];case 14:if(c)throw c.error;return[7];case 15:return[7];case 16:return[3,32];case 17:R.trys.push([17,23,24,29]),a=D(r),R.label=18;case 18:return[4,a.next()];case 19:return(i=R.sent()).done?[3,22]:(C=i.value)[g]?(P=M(T(C[g],E),2),A=P[0],L=P[1],[4,this.db.get(A,L)]):[3,21];case 20:q=R.sent(),C[S]=q&&this.modelInstanceCreator(x,q),delete C[g],R.label=21;case 21:return[3,18];case 22:return[3,29];case 23:return _=R.sent(),f={error:_},[3,29];case 24:return R.trys.push([24,,27,28]),i&&!i.done&&(d=a.return)?[4,d.call(a)]:[3,26];case 25:R.sent(),R.label=26;case 26:return[3,28];case 27:if(f)throw f.error;return[7];case 28:return[7];case 29:case 30:return[3,32];case 31:throw O,new Error("invalid relation type "+O);case 32:return[3,2];case 33:return[3,40];case 34:return F=R.sent(),s={error:F},[3,40];case 35:return R.trys.push([35,,38,39]),m&&!m.done&&(u=b.return)?[4,u.call(b)]:[3,37];case 36:R.sent(),R.label=37;case 37:return[3,39];case 38:if(s)throw s.error;return[7];case 39:return[7];case 40:return[2,r.map((function(e){return B.modelInstanceCreator(v,e)}))]}}))}))},e.prototype.query=function(e,t,r){return A(this,void 0,void 0,(function(){var n,o,a,i,s,u,c,l,f=this;return R(this,(function(h){switch(h.label){case 0:return n=e.name,o=this.namespaceResolver(e),a=t&&d.ModelPredicateCreator.getPredicates(t),i=r&&r.sort&&d.ModelSortPredicateCreator.getPredicates(r.sort),s=r&&r.limit,u=s&&r.page,c=a&&this.idFromPredicate(a),[4,A(f,void 0,void 0,(function(){var e,t,r,o;return R(this,(function(l){switch(l.label){case 0:return c?[4,this.getById(n,c)]:[3,2];case 1:return[2,(e=l.sent())?[e]:[]];case 2:return t=M(C(n,a,i,s,u),2),r=t[0],o=t[1],[4,this.db.getAll(r,o)];case 3:return[2,l.sent()]}}))}))];case 1:return l=h.sent(),[4,this.load(o,e.name,l)];case 2:return[2,h.sent()]}}))}))},e.prototype.getById=function(e,t){return A(this,void 0,void 0,(function(){var r,n,o;return R(this,(function(a){switch(a.label){case 0:return r=M(T(t,e),2),n=r[0],o=r[1],[4,this.db.get(n,o)];case 1:return[2,a.sent()]}}))}))},e.prototype.idFromPredicate=function(e){var t=e.predicates,r=1===t.length&&t.find((function(e){return Object(d.isPredicateObj)(e)&&"id"===e.field&&"eq"===e.operator}));return r&&r.operand},e.prototype.queryOne=function(e,t){return void 0===t&&(t=d.QueryOne.FIRST),A(this,void 0,void 0,(function(){var r,n,o,a,i;return R(this,(function(s){switch(s.label){case 0:return r=e.name,n=M(function(e,t){return e===d.QueryOne.FIRST?["SELECT * FROM "+t+" ORDER BY _rowid_ LIMIT 1",[]]:["SELECT * FROM "+t+" ORDER BY _rowid_ DESC LIMIT 1",[]]}(t,r),2),o=n[0],a=n[1],[4,this.db.get(o,a)];case 1:return i=s.sent(),[2,i&&this.modelInstanceCreator(e,i)]}}))}))},e.prototype.delete=function(e,t){return A(this,void 0,void 0,(function(){var r,n,o,a,i,s,u,c,l,f,h,v,b,m,w,S,E,g;return R(this,(function(O){switch(O.label){case 0:return F(e)?(i=e,r=this.namespaceResolver(i),s=i.name,f=t&&d.ModelPredicateCreator.getPredicates(t),c=C(s,f),E=function(e,t){var r='DELETE FROM "'+e+'"',n=[];if(t&&t.predicates.length){var o=p(j(t),2),a=o[0],i=o[1];r+=" "+a,n.push.apply(n,y(i))}return[r,n]}(s,f),[4,this.db.selectAndDelete(c,E)]):[3,3];case 1:return n=O.sent(),[4,this.load(r,i.name,n)];case 2:return[2,[o=O.sent(),o]];case 3:return a=e,i=Object.getPrototypeOf(a).constructor,s=i.name,t?(u=M(T(a.id,s),2),c=u[0],g=u[1],[4,this.db.get(c,g)]):[3,6];case 4:if(void 0===(l=O.sent()))return b="Model instance not found in storage",B.warn(b,{model:a}),[2,[[a],[]]];if(f=d.ModelPredicateCreator.getPredicates(t),h=f.predicates,v=f.type,!_(l,v,h))throw b="Conditional update failed",B.error(b,{model:l,condition:h}),new Error(b);return m=M(P(a.id,s),2),E=m[0],w=m[1],[4,this.db.save(E,w)];case 5:return O.sent(),[2,[[a],[a]]];case 6:return S=M(P(a.id,s),2),E=S[0],g=S[1],[4,this.db.save(E,g)];case 7:return O.sent(),[2,[[a],[a]]]}}))}))},e.prototype.batchSave=function(e,t){return A(this,void 0,void 0,(function(){var r,n,o,a,i,s,u,c,l,f,h,p,y;return R(this,(function(v){switch(v.label){case 0:r=e.name,n=[],o=[],a=new Set,i=new Set,s=new Set,u=function(t){var s=q(e.name,c.modelInstanceCreator(e,t),c.schema.namespaces[c.namespaceResolver(e)],c.modelInstanceCreator,c.getModelConstructorByModelName),u=t.id,l=t._deleted,f=s.find((function(e){return e.instance.id===u})).instance;if(l){var h=P(f.id,r);i.add(h),n.push([t,d.OpType.DELETE])}else{var p=T(u,r);a.add(p),o.push(f)}},c=this;try{for(l=L(t),f=l.next();!f.done;f=l.next())h=f.value,u(h)}catch(e){p={error:e}}finally{try{f&&!f.done&&(y=l.return)&&y.call(l)}finally{if(p)throw p.error}}return[4,this.db.batchQuery(a)];case 1:return v.sent().forEach((function(e,t){if(void 0===e){var a=g(o[t],r);s.add(a),n.push([o[t],d.OpType.INSERT])}else{var i=O(o[t],r);s.add(i),n.push([o[t],d.OpType.UPDATE])}})),[4,this.db.batchSave(s,i)];case 2:return v.sent(),[2,n]}}))}))},e}())}])}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@aws-amplify/datastore"),require("@aws-amplify/core"),require("react-native-sqlite-storage")):"function"==typeof define&&define.amd?define("aws-amplify-datastore-storage-adapter",["@aws-amplify/datastore","@aws-amplify/core","react-native-sqlite-storage"],t):"object"==typeof exports?exports["aws-amplify-datastore-storage-adapter"]=t(require("@aws-amplify/datastore"),require("@aws-amplify/core"),require("react-native-sqlite-storage")):e["aws-amplify-datastore-storage-adapter"]=t(e["@aws-amplify/datastore"],e["@aws-amplify/core"],e["react-native-sqlite-storage"])}(window,(function(e,t,r){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t,r){"use strict";r.r(t),r.d(t,"SQLiteAdapter",(function(){return Y}));var n=r(1),o=r(2),a=r.n(o),i=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}u((n=n.apply(e,t||[])).next())}))},s=function(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},u=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},c=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},l=new n.ConsoleLogger("SQLiteDatabase");a.a.enablePromise(!0),"DEBUG"===n.ConsoleLogger.LOG_LEVEL&&a.a.DEBUG(!0);var f=function(){function e(){}return e.prototype.init=function(){return i(this,void 0,void 0,(function(){var e;return s(this,(function(t){switch(t.label){case 0:return e=this,[4,a.a.openDatabase("AmplifyDatastore","1.0","AWS Amplify DataStore SQLite Database",2e5)];case 1:return e.db=t.sent(),[2]}}))}))},e.prototype.createSchema=function(e){return i(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return[4,this.executeStatements(e)];case 1:return[2,t.sent()]}}))}))},e.prototype.clear=function(){return i(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return[4,this.closeDB()];case 1:return e.sent(),l.debug("Deleting database"),[4,a.a.deleteDatabase("AmplifyDatastore")];case 2:return e.sent(),l.debug("Database deleted"),[2]}}))}))},e.prototype.get=function(e,t){return i(this,void 0,void 0,(function(){var r,n;return s(this,(function(o){switch(o.label){case 0:return[4,this.db.executeSql(e,t)];case 1:return r=u.apply(void 0,[o.sent(),1]),n=r[0],[2,(n&&n.rows&&n.rows.length&&n.rows.raw&&n.rows.raw())[0]||void 0]}}))}))},e.prototype.getAll=function(e,t){return i(this,void 0,void 0,(function(){var r,n;return s(this,(function(o){switch(o.label){case 0:return[4,this.db.executeSql(e,t)];case 1:return r=u.apply(void 0,[o.sent(),1]),n=r[0],[2,n&&n.rows&&n.rows.length&&n.rows.raw&&n.rows.raw()||[]]}}))}))},e.prototype.save=function(e,t){return i(this,void 0,void 0,(function(){return s(this,(function(r){switch(r.label){case 0:return[4,this.db.executeSql(e,t)];case 1:return r.sent(),[2]}}))}))},e.prototype.batchQuery=function(e){return i(this,void 0,void 0,(function(){var t;return s(this,(function(r){switch(r.label){case 0:return t=[],[4,this.db.readTransaction((function(r){var n,o;try{for(var a=c(e),i=a.next();!i.done;i=a.next()){var s=u(i.value,2),f=s[0],d=s[1];r.executeSql(f,d,(function(e,r){t.push(r.rows.raw()[0])}),l.warn)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}}))];case 1:return r.sent(),[2,t]}}))}))},e.prototype.batchSave=function(e,t){return i(this,void 0,void 0,(function(){return s(this,(function(r){switch(r.label){case 0:return[4,this.db.transaction((function(r){var n,o,a,i;try{for(var s=c(e),l=s.next();!l.done;l=s.next()){var f=u(l.value,2),d=f[0],p=f[1];r.executeSql(d,p)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}if(t)try{for(var h=c(t),y=h.next();!y.done;y=h.next()){var v=u(y.value,2);d=v[0],p=v[1];r.executeSql(d,p)}}catch(e){a={error:e}}finally{try{y&&!y.done&&(i=h.return)&&i.call(h)}finally{if(a)throw a.error}}}))];case 1:return r.sent(),[2]}}))}))},e.prototype.selectAndDelete=function(e,t){return i(this,void 0,void 0,(function(){var r,n,o,a,i,c,f;return s(this,(function(s){switch(s.label){case 0:return r=[],n=u(e,2),o=n[0],a=n[1],i=u(t,2),c=i[0],f=i[1],[4,this.db.transaction((function(e){e.executeSql(o,a,(function(e,t){r=t.rows.raw()}),l.warn),e.executeSql(c,f,(function(){}),l.warn)}))];case 1:return s.sent(),[2,r]}}))}))},e.prototype.executeStatements=function(e){return i(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return[4,this.db.transaction((function(t){var r,n;try{for(var o=c(e),a=o.next();!a.done;a=o.next()){var i=a.value;t.executeSql(i)}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}))];case 1:return[2,t.sent()]}}))}))},e.prototype.closeDB=function(){return i(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return this.db?(l.debug("Closing Database"),[4,this.db.close()]):[3,2];case 1:e.sent(),l.debug("Database closed"),e.label=2;case 2:return[2]}}))}))},e}(),d=r(0);function p(e){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var h=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},y=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e},v=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},b=d.utils.USER,m=d.utils.isNonModelConstructor,w=d.utils.isModelConstructor;function S(e){if(null==e||["string","number","boolean"].includes(p(e)))return e;var t="object"===p(e)&&(Object.getPrototypeOf(e).constructor===Object||m(Object.getPrototypeOf(e).constructor)||w(Object.getPrototypeOf(e).constructor));return Array.isArray(e)||t?JSON.stringify(e):""+e}function E(e){return Object.keys(e.namespaces).flatMap((function(t){var r=e.namespaces[t],n=t===b;return Object.values(r.models).map((function(e){return function(e,t){void 0===t&&(t=!1);var r=function(e){if(!e.attributes||!e.attributes.length)return[];var t=e.attributes.find(d.isModelAttributeAuth);if(!t)return[];return t.properties.rules.filter((function(e){return e.ownerField||e.groupsField})).map((function(e){return e.ownerField||e.groupsField})).filter((function(t){return!Object.values(e.fields).find((function(e){return e.name===t}))}))}(e),n=Object.values(e.fields).reduce((function(t,r){if(Object(d.isGraphQLScalarType)(r.type)){if("id"===r.name)return t+'"id" PRIMARY KEY NOT NULL';var n='"'+r.name+'" '+function(e){switch(e){case"Boolean":case"Int":case"AWSTimestamp":return"INTEGER";case"ID":case"String":case"AWSDate":case"AWSTime":case"AWSDateTime":case"AWSEmail":case"AWSJSON":case"AWSURL":case"AWSPhone":case"AWSIPAddress":return"TEXT";case"Float":return"REAL";default:throw new Error("unknown type "+e)}}(r.type);return r.isRequired&&(n+=" NOT NULL"),t+", "+n}if(Object(d.isModelFieldType)(r.type)){var o='"'+r.name+'" TEXT';if(Object(d.isTargetNameAssociation)(r.association))if(!Object.values(e.fields).find((function(e){return e.name===r.association.targetName}))){var a=r.isRequired?" NOT NULL":"";o+=', "'+r.association.targetName+'" TEXT'+a}return t+", "+o}var i='"'+r.name+'" TEXT';return r.isRequired&&(i+=" NOT NULL"),t+", "+i}),"");r.forEach((function(e){n+=", "+e+" TEXT"})),t&&(n+=', "_version" INTEGER, "_lastChangedAt" INTEGER, "_deleted" INTEGER');return'CREATE TABLE IF NOT EXISTS "'+e.name+'" ('+n+");"}(e,n)}))}))}function g(e,t){var r=function(e){return Object.keys(e).map((function(e){return'"'+e+'"'})).join(", ")}(e),n=h(function(e){var t=Object.values(e).map(S);return[t.map((function(){return"?"})).join(", "),t]}(e),2);return['INSERT INTO "'+t+'" ('+r+") VALUES ("+n[0]+")",n[1]]}function O(e,t){var r=h(function(e){var t=[];return[Object.entries(e).filter((function(e){return"id"!==h(e,1)[0]})).map((function(e){var r=h(e,2),n=r[0],o=r[1];return t.push(S(o)),'"'+n+'"=?'})).join(", "),t]}(e),2),n=r[0],o=r[1];return['UPDATE "'+t+'" SET '+n+" WHERE id=?",y(o,[e.id])]}function T(e,t){return['SELECT * FROM "'+t+'" WHERE "id" = ?',[e]]}function x(e){return['SELECT COUNT(*) AS "'+e+' - count" FROM "'+e+'"',[]]}var N={eq:"=",ne:"!=",le:"<=",lt:"<",ge:">=",gt:">"},A={beginsWith:"LIKE",contains:"LIKE",notContains:"NOT LIKE",between:"BETWEEN"};function R(e){var t=[],r=[];return function e(t,r,n){var o,a;void 0===r&&(r=[]);void 0===n&&(n=[]);if(Object(d.isPredicateGroup)(t)){var i=t.type,s=t.predicates,u="",c=!1;switch(i){case"not":c=!0;break;case"and":u="AND";break;case"or":u="OR";break;default:throw new Error("Invalid "+i)}var l=[];try{for(var f=v(s),p=f.next();!p.done;p=f.next()){var b=p.value;e(b,l,n)}}catch(e){o={error:e}}finally{try{p&&!p.done&&(a=f.return)&&a.call(f)}finally{if(o)throw o.error}}r.push((c?"NOT":"")+"("+l.join(" "+u+" ")+")")}else if(Object(d.isPredicateObj)(t)){var m=h(function(e){var t=e.field,r=e.operator,n=e.operand,o=N[r];if(o)return['"'+t+'" '+o+" ?",[n]];var a=r,i=A[a];if(i){var s=[];switch(a){case"between":s=n;break;case"beginsWith":s=[n+"%"];break;case"contains":case"notContains":s=["%"+n+"%"];break;default:throw new Error("Cannot map predicate to a valid WHERE clause")}return['"'+t+'" '+i+" "+s.map((function(e){return"?"})).join(" AND "),s]}}(t),2),w=m[0],S=m[1];r.push(w),n.push.apply(n,y(S))}}(e,t,r),["WHERE "+t.join(" "),r]}var j={ASCENDING:"ASC",DESCENDING:"DESC"};function C(e,t,r,n,o){var a='SELECT * FROM "'+e+'"',i=[];if(t&&t.predicates.length){var s=h(R(t),2),u=s[0],c=s[1];a+=" "+u,i.push.apply(i,y(c))}if(a+=" "+function(e){void 0===e&&(e=[]);var t=e.map((function(e){var t=e.field,r=e.sortDirection;return'"'+t+'" '+j[r]}));return t.push("_rowid_ "+j.ASCENDING),"ORDER BY "+t.join(", ")}(r),n){var l=h(function(e,t){void 0===t&&(t=0);var r=[e],n="LIMIT ?";if(t){var o=e*t;r.push(o),n+=" OFFSET ?"}return[n,r]}(n,o),2),f=l[0],d=l[1];a+=" "+f,i.push.apply(i,y(d))}return[a,i]}function I(e,t){return e===d.QueryOne.FIRST?["SELECT * FROM "+t+" ORDER BY _rowid_ LIMIT 1",[]]:["SELECT * FROM "+t+" ORDER BY _rowid_ DESC LIMIT 1",[]]}function M(e,t){return['DELETE FROM "'+t+'" WHERE "id"=?',[e]]}var D,P=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}u((n=n.apply(e,t||[])).next())}))},L=function(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},q=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof _?_(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,o,(t=e[r](t)).done,t.value)}))}}},F=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},_=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},B=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(F(arguments[t]));return e};!function(e){e.DATASTORE="datastore",e.USER="user",e.SYNC="sync",e.STORAGE="storage"}(D||(D={}));D.DATASTORE;var W=D.USER,k=(D.SYNC,D.STORAGE,d.utils.traverseModel),G=d.utils.validatePredicate,U=d.utils.isModelConstructor,Q=new n.ConsoleLogger("DataStore"),Y=new(function(){function e(){}return e.prototype.setUp=function(e,t,r,n){return P(this,void 0,void 0,(function(){var o,a,i=this;return L(this,(function(s){switch(s.label){case 0:return this.initPromise?[3,1]:(this.initPromise=new Promise((function(e,t){i.resolve=e,i.reject=t})),[3,3]);case 1:return[4,this.initPromise];case 2:return s.sent(),[2];case 3:this.schema=e,this.namespaceResolver=t,this.modelInstanceCreator=r,this.getModelConstructorByModelName=n,s.label=4;case 4:return s.trys.push([4,8,,9]),this.db?[3,7]:(this.db=new f,[4,this.db.init()]);case 5:return s.sent(),o=E(this.schema),[4,this.db.createSchema(o)];case 6:s.sent(),this.resolve(),s.label=7;case 7:return[3,9];case 8:return a=s.sent(),this.reject(a),[3,9];case 9:return[2]}}))}))},e.prototype.clear=function(){return P(this,void 0,void 0,(function(){return L(this,(function(e){switch(e.label){case 0:return[4,this.db.clear()];case 1:return e.sent(),this.db=void 0,this.initPromise=void 0,[2]}}))}))},e.prototype.save=function(e,t){var r,n;return P(this,void 0,void 0,(function(){var o,a,i,s,u,c,l,f,p,h,y,v,b,m,w,S,E,x,N,A,R,j,C,I,M,D,P,_;return L(this,(function(L){switch(L.label){case 0:return o=Object.getPrototypeOf(e).constructor,a=o.name,i=k(o.name,e,this.schema.namespaces[this.namespaceResolver(o)],this.modelInstanceCreator,this.getModelConstructorByModelName),s=Object.values(i).map((function(e){return{modelName:e.modelName,item:e.item,instance:e.instance}})),u=F(T(e.id,a),2),c=u[0],l=u[1],[4,this.db.get(c,l)];case 1:if(f=L.sent(),t&&f&&(p=d.ModelPredicateCreator.getPredicates(t),h=p.predicates,y=p.type,!G(f,y,h)))throw v="Conditional update failed",Q.error(v,{model:f,condition:h}),new Error(v);b=[],m=new Set,L.label=2;case 2:L.trys.push([2,8,9,14]),w=q(s),L.label=3;case 3:return[4,w.next()];case 4:return(S=L.sent()).done?[3,7]:(E=S.value,x=E.modelName,N=E.item,A=E.instance,R=N.id,j=F(T(R,x),2),C=j[0],I=j[1],[4,this.db.get(C,I)]);case 5:M=L.sent(),D=void 0===M?d.OpType.INSERT:d.OpType.UPDATE,P=M?O(A,x):g(A,x),m.add(P),b.push([A,D]),L.label=6;case 6:return[3,3];case 7:return[3,14];case 8:return _=L.sent(),r={error:_},[3,14];case 9:return L.trys.push([9,,12,13]),S&&!S.done&&(n=w.return)?[4,n.call(w)]:[3,11];case 10:L.sent(),L.label=11;case 11:return[3,13];case 12:if(r)throw r.error;return[7];case 13:return[7];case 14:return[4,this.db.batchSave(m)];case 15:return L.sent(),[2,b]}}))}))},e.prototype.load=function(e,t,r){var n,o,a,i,s,u,c,l,f,d;return P(this,void 0,void 0,(function(){var p,h,y,v,b,m,w,S,E,g,O,x,N,A,R,j,C,I,M,D,P,_,B=this;return L(this,(function(L){switch(L.label){case 0:if(p=this.schema.namespaces[e],h=p.relationships[t].relationTypes,y=h.map((function(e){return e.modelName})),v=this.getModelConstructorByModelName(e,t),0===y.length)return[2,r.map((function(e){return B.modelInstanceCreator(v,e)}))];L.label=1;case 1:L.trys.push([1,34,35,40]),b=q(h),L.label=2;case 2:return[4,b.next()];case 3:if((m=L.sent()).done)return[3,33];switch(w=m.value,S=w.fieldName,E=w.modelName,g=w.targetName,O=w.relationType,x=this.getModelConstructorByModelName(e,E),O){case"HAS_ONE":return[3,4];case"BELONGS_TO":return[3,17];case"HAS_MANY":return[3,30]}return[3,31];case 4:L.trys.push([4,10,11,16]),n=q(r),L.label=5;case 5:return[4,n.next()];case 6:return(o=L.sent()).done?[3,9]:(j=o.value,N=j[g]?g:S,j[N]?(A=F(T(j[N],E),2),I=A[0],M=A[1],[4,this.db.get(I,M)]):[3,9]);case 7:D=L.sent(),j[S]=D&&this.modelInstanceCreator(x,D),L.label=8;case 8:return[3,5];case 9:return[3,16];case 10:return R=L.sent(),c={error:R},[3,16];case 11:return L.trys.push([11,,14,15]),o&&!o.done&&(l=n.return)?[4,l.call(n)]:[3,13];case 12:L.sent(),L.label=13;case 13:return[3,15];case 14:if(c)throw c.error;return[7];case 15:return[7];case 16:return[3,32];case 17:L.trys.push([17,23,24,29]),a=q(r),L.label=18;case 18:return[4,a.next()];case 19:return(i=L.sent()).done?[3,22]:(j=i.value)[g]?(C=F(T(j[g],E),2),I=C[0],M=C[1],[4,this.db.get(I,M)]):[3,21];case 20:D=L.sent(),j[S]=D&&this.modelInstanceCreator(x,D),delete j[g],L.label=21;case 21:return[3,18];case 22:return[3,29];case 23:return P=L.sent(),f={error:P},[3,29];case 24:return L.trys.push([24,,27,28]),i&&!i.done&&(d=a.return)?[4,d.call(a)]:[3,26];case 25:L.sent(),L.label=26;case 26:return[3,28];case 27:if(f)throw f.error;return[7];case 28:return[7];case 29:case 30:return[3,32];case 31:throw O,new Error("invalid relation type "+O);case 32:return[3,2];case 33:return[3,40];case 34:return _=L.sent(),s={error:_},[3,40];case 35:return L.trys.push([35,,38,39]),m&&!m.done&&(u=b.return)?[4,u.call(b)]:[3,37];case 36:L.sent(),L.label=37;case 37:return[3,39];case 38:if(s)throw s.error;return[7];case 39:return[7];case 40:return[2,r.map((function(e){return B.modelInstanceCreator(v,e)}))]}}))}))},e.prototype.query=function(e,t,r){return P(this,void 0,void 0,(function(){var n,o,a,i,s,u,c,l,f=this;return L(this,(function(p){switch(p.label){case 0:return n=e.name,o=this.namespaceResolver(e),a=t&&d.ModelPredicateCreator.getPredicates(t),i=r&&r.sort&&d.ModelSortPredicateCreator.getPredicates(r.sort),s=r&&r.limit,u=s&&r.page,c=a&&this.idFromPredicate(a),[4,P(f,void 0,void 0,(function(){var e,t,r,o;return L(this,(function(l){switch(l.label){case 0:return c?[4,this.getById(n,c)]:[3,2];case 1:return[2,(e=l.sent())?[e]:[]];case 2:return t=F(C(n,a,i,s,u),2),r=t[0],o=t[1],[4,this.db.getAll(r,o)];case 3:return[2,l.sent()]}}))}))];case 1:return l=p.sent(),[4,this.load(o,e.name,l)];case 2:return[2,p.sent()]}}))}))},e.prototype.getById=function(e,t){return P(this,void 0,void 0,(function(){var r,n,o;return L(this,(function(a){switch(a.label){case 0:return r=F(T(t,e),2),n=r[0],o=r[1],[4,this.db.get(n,o)];case 1:return[2,a.sent()]}}))}))},e.prototype.idFromPredicate=function(e){var t=e.predicates,r=1===t.length&&t.find((function(e){return Object(d.isPredicateObj)(e)&&"id"===e.field&&"eq"===e.operator}));return r&&r.operand},e.prototype.queryOne=function(e,t){return void 0===t&&(t=d.QueryOne.FIRST),P(this,void 0,void 0,(function(){var r,n,o,a,i;return L(this,(function(s){switch(s.label){case 0:return r=e.name,n=F(I(t,r),2),o=n[0],a=n[1],[4,this.db.get(o,a)];case 1:return i=s.sent(),[2,i&&this.modelInstanceCreator(e,i)]}}))}))},e.prototype.delete=function(e,t){return P(this,void 0,void 0,(function(){var r,n,o,a,i,s,u,c,l,f,p,v,b,m,w,S,E,g;return L(this,(function(O){switch(O.label){case 0:return U(e)?(i=e,r=this.namespaceResolver(i),s=i.name,f=t&&d.ModelPredicateCreator.getPredicates(t),c=C(s,f),E=function(e,t){var r='DELETE FROM "'+e+'"',n=[];if(t&&t.predicates.length){var o=h(R(t),2),a=o[0],i=o[1];r+=" "+a,n.push.apply(n,y(i))}return[r,n]}(s,f),[4,this.db.selectAndDelete(c,E)]):[3,3];case 1:return n=O.sent(),[4,this.load(r,i.name,n)];case 2:return[2,[o=O.sent(),o]];case 3:return a=e,i=Object.getPrototypeOf(a).constructor,s=i.name,t?(u=F(T(a.id,s),2),c=u[0],g=u[1],[4,this.db.get(c,g)]):[3,6];case 4:if(void 0===(l=O.sent()))return b="Model instance not found in storage",Q.warn(b,{model:a}),[2,[[a],[]]];if(f=d.ModelPredicateCreator.getPredicates(t),p=f.predicates,v=f.type,!G(l,v,p))throw b="Conditional update failed",Q.error(b,{model:l,condition:p}),new Error(b);return m=F(M(a.id,s),2),E=m[0],w=m[1],[4,this.db.save(E,w)];case 5:return O.sent(),[2,[[a],[a]]];case 6:return S=F(M(a.id,s),2),E=S[0],g=S[1],[4,this.db.save(E,g)];case 7:return O.sent(),[2,[[a],[a]]]}}))}))},e.prototype.batchSave=function(e,t){return P(this,void 0,void 0,(function(){var r,n,o,a,i,s,u,c,l,f,p,h,y;return L(this,(function(v){switch(v.label){case 0:r=e.name,n=[],o=[],a=new Set,i=new Set,s=new Set,u=function(t){var s=k(e.name,c.modelInstanceCreator(e,t),c.schema.namespaces[c.namespaceResolver(e)],c.modelInstanceCreator,c.getModelConstructorByModelName),u=t.id,l=t._deleted,f=s.find((function(e){return e.instance.id===u})).instance;if(l){var p=M(f.id,r);i.add(p),n.push([t,d.OpType.DELETE])}else{var h=T(u,r);a.add(h),o.push(f)}},c=this;try{for(l=_(t),f=l.next();!f.done;f=l.next())p=f.value,u(p)}catch(e){h={error:e}}finally{try{f&&!f.done&&(y=l.return)&&y.call(l)}finally{if(h)throw h.error}}return[4,this.db.batchQuery(a)];case 1:return v.sent().forEach((function(e,t){if(void 0===e){var a=g(o[t],r);s.add(a),n.push([o[t],d.OpType.INSERT])}else{var i=O(o[t],r);s.add(i),n.push([o[t],d.OpType.UPDATE])}})),[4,this.db.batchSave(s,i)];case 2:return v.sent(),[2,n]}}))}))},e.prototype.getDebugInfo=function(){return P(this,void 0,void 0,(function(){var e,t,r,n,o,a,i,s,u;return L(this,(function(c){switch(c.label){case 0:return e=new Set,n=(r=(t=[]).push).apply,o=[t],[4,(u=this.db).getAll.apply(u,B(C("ModelMetadata")))];case 1:return n.apply(r,o.concat([B.apply(void 0,[c.sent()])])),e.add(x("MutationEvent")),e.add(I(d.QueryOne.FIRST,"MutationEvent")),Object.values(this.schema.namespaces[W].models).forEach((function(t){e.add(x(t.name))})),i=(a=t.push).apply,s=[t],[4,this.db.batchQuery(e)];case 2:return i.apply(a,s.concat([B.apply(void 0,[c.sent()])])),[2,t]}}))}))},e}())}])}));
2
2
  //# sourceMappingURL=aws-amplify-datastore-storage-adapter.min.js.map