@aws-amplify/datastore-storage-adapter 1.2.3 → 1.2.4-custom-pk.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +149 -0
  2. package/ExpoSQLiteAdapter/index.d.ts +1 -0
  3. package/ExpoSQLiteAdapter/index.js +7 -0
  4. package/SQLiteAdapter/index.d.ts +1 -0
  5. package/SQLiteAdapter/index.js +7 -0
  6. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js +2509 -0
  7. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js.map +1 -0
  8. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js +2 -0
  9. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +1 -0
  10. package/dist/aws-amplify-datastore-storage-adapter.js +1227 -1158
  11. package/dist/aws-amplify-datastore-storage-adapter.js.map +1 -1
  12. package/dist/aws-amplify-datastore-storage-adapter.min.js +1 -1
  13. package/dist/aws-amplify-datastore-storage-adapter.min.js.map +1 -1
  14. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +3 -0
  15. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +10 -0
  16. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  17. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +17 -0
  18. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +362 -0
  19. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  20. package/lib/SQLiteAdapter/SQLiteAdapter.d.ts +3 -23
  21. package/lib/SQLiteAdapter/SQLiteAdapter.js +3 -580
  22. package/lib/SQLiteAdapter/SQLiteAdapter.js.map +1 -1
  23. package/lib/SQLiteAdapter/SQLiteDatabase.d.ts +8 -8
  24. package/lib/SQLiteAdapter/SQLiteDatabase.js +46 -42
  25. package/lib/SQLiteAdapter/SQLiteDatabase.js.map +1 -1
  26. package/lib/common/CommonSQLiteAdapter.d.ts +23 -0
  27. package/lib/common/CommonSQLiteAdapter.js +582 -0
  28. package/lib/common/CommonSQLiteAdapter.js.map +1 -0
  29. package/lib/{SQLiteAdapter → common}/SQLiteUtils.d.ts +3 -2
  30. package/lib/{SQLiteAdapter → common}/SQLiteUtils.js +54 -3
  31. package/lib/common/SQLiteUtils.js.map +1 -0
  32. package/lib/common/constants.d.ts +1 -0
  33. package/lib/common/constants.js +4 -0
  34. package/lib/common/constants.js.map +1 -0
  35. package/lib/common/types.d.ts +13 -0
  36. package/lib/common/types.js +3 -0
  37. package/lib/common/types.js.map +1 -0
  38. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +3 -0
  39. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +5 -0
  40. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  41. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +17 -0
  42. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +360 -0
  43. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  44. package/lib-esm/SQLiteAdapter/SQLiteAdapter.d.ts +3 -23
  45. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js +3 -580
  46. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js.map +1 -1
  47. package/lib-esm/SQLiteAdapter/SQLiteDatabase.d.ts +8 -8
  48. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js +46 -42
  49. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js.map +1 -1
  50. package/lib-esm/common/CommonSQLiteAdapter.d.ts +23 -0
  51. package/lib-esm/common/CommonSQLiteAdapter.js +580 -0
  52. package/lib-esm/common/CommonSQLiteAdapter.js.map +1 -0
  53. package/lib-esm/{SQLiteAdapter → common}/SQLiteUtils.d.ts +3 -2
  54. package/lib-esm/{SQLiteAdapter → common}/SQLiteUtils.js +52 -2
  55. package/lib-esm/common/SQLiteUtils.js.map +1 -0
  56. package/lib-esm/common/constants.d.ts +1 -0
  57. package/lib-esm/common/constants.js +2 -0
  58. package/lib-esm/common/constants.js.map +1 -0
  59. package/lib-esm/common/types.d.ts +13 -0
  60. package/lib-esm/common/types.js +1 -0
  61. package/lib-esm/common/types.js.map +1 -0
  62. package/package.json +13 -7
  63. package/src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts +8 -0
  64. package/src/ExpoSQLiteAdapter/ExpoSQLiteDatabase.ts +282 -0
  65. package/src/SQLiteAdapter/SQLiteAdapter.ts +5 -475
  66. package/src/SQLiteAdapter/SQLiteDatabase.ts +49 -53
  67. package/src/common/CommonSQLiteAdapter.ts +479 -0
  68. package/src/{SQLiteAdapter → common}/SQLiteUtils.ts +66 -5
  69. package/src/common/constants.ts +1 -0
  70. package/src/common/types.ts +29 -0
  71. package/webpack.config.dev.js +2 -0
  72. package/lib/SQLiteAdapter/SQLiteUtils.js.map +0 -1
  73. package/lib/SQLiteAdapter/types.d.ts +0 -2
  74. package/lib/SQLiteAdapter/types.js +0 -28
  75. package/lib/SQLiteAdapter/types.js.map +0 -1
  76. package/lib-esm/SQLiteAdapter/SQLiteUtils.js.map +0 -1
  77. package/lib-esm/SQLiteAdapter/types.d.ts +0 -2
  78. package/lib-esm/SQLiteAdapter/types.js +0 -25
  79. package/lib-esm/SQLiteAdapter/types.js.map +0 -1
  80. package/src/SQLiteAdapter/types.ts +0 -31
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///external \"@aws-amplify/datastore\"","webpack:///external \"@aws-amplify/core\"","webpack:///external \"react-native-sqlite-storage\"","webpack:///../../src/SQLiteAdapter/SQLiteDatabase.ts","webpack:///../../src/SQLiteAdapter/SQLiteUtils.ts","webpack:///../../src/SQLiteAdapter/types.ts","webpack:///../../src/SQLiteAdapter/SQLiteAdapter.ts"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__2__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","model","f"],"mappings":"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","file":"aws-amplify-datastore-storage-adapter.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@aws-amplify/datastore\"), require(\"@aws-amplify/core\"), require(\"react-native-sqlite-storage\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"aws-amplify-datastore-storage-adapter\", [\"@aws-amplify/datastore\", \"@aws-amplify/core\", \"react-native-sqlite-storage\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"aws-amplify-datastore-storage-adapter\"] = factory(require(\"@aws-amplify/datastore\"), require(\"@aws-amplify/core\"), require(\"react-native-sqlite-storage\"));\n\telse\n\t\troot[\"aws-amplify-datastore-storage-adapter\"] = factory(root[\"@aws-amplify/datastore\"], root[\"@aws-amplify/core\"], root[\"react-native-sqlite-storage\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__2__) {\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 = 3);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","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","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"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///external \"@aws-amplify/datastore\"","webpack:///external \"@aws-amplify/core\"","webpack:///../../src/common/constants.ts","webpack:///../../src/common/SQLiteUtils.ts","webpack:///../../src/common/CommonSQLiteAdapter.ts","webpack:///external \"react-native-sqlite-storage\"","webpack:///../../src/SQLiteAdapter/SQLiteDatabase.ts","webpack:///../../src/SQLiteAdapter/SQLiteAdapter.ts"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__4__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","DB_NAME","isNonModelConstructor","isModelConstructor","prepareValueForDML","includes","scalarTypes","isObjectType","_typeof","getPrototypeOf","constructor","Array","isArray","JSON","stringify","generateSchemaStatements","schema","keys","namespaces","flatMap","namespace","namespaceName","isUserModel","USER","values","models","map","model","userModel","implicitAuthFields","attributes","length","authRules","find","isModelAttributeAuth","properties","rules","filter","rule","ownerField","groupsField","authField","fields","f","implicitAuthFieldsForModel","reduce","acc","field","isGraphQLScalarType","type","columnParam_1","scalar","Error","getSQLiteType","isRequired","isModelFieldType","columnParam_2","isTargetNameAssociation","association","_a","targetName","required","columnParam","forEach","modelInsertStatement","tableName","k","join","keysFromModel","paramaterized","modelUpdateStatement","entries","_b","v","push","__spread","id","queryByIdStatement","comparisonOperatorMap","eq","ne","le","lt","ge","gt","logicalOperatorMap","beginsWith","contains","notContains","between","whereClauseFromPredicate","predicate","result","params","recurse","isPredicateGroup","groupPredicates","filterType","isNegation","groupType","groupResult","groupPredicates_1_1","isPredicateObj","operator","operand","specialNullClause","buildSpecialNullComparison","comparisonOperator","logicalOperatorKey","logicalOperator","rightExp","condition","conditionParams","apply","sortDirectionMap","ASCENDING","DESCENDING","queryAllStatement","sort","limit","page","statement","predicates","whereClause","whereParams","sortPredicate","orderByParts","sortDirection","orderByClauseFromSort","clause","offset","limitClause","limitParams","deleteByIdStatement","validatePredicate","logger","Logger","db","CommonSQLiteAdapter","theSchema","namespaceResolver","modelInstanceCreator","getModelConstructorByModelName","initPromise","Promise","res","rej","_this","resolve","reject","init","statements","createSchema","error_1","clear","undefined","modelConstructor","connectedModels","traverseModel","connectionStoreNames","modelName","item","instance","queryStatement","fromDB","_d","ModelPredicateCreator","getPredicates","predicateObjs","msg","error","saveStatements","Set","connectionStoreNames_1","resItem","_c","queryStatement_1","params_1","fromDB_1","opType","OpType","INSERT","UPDATE","saveStatement","add","batchSave","srcModelName","records","relations","relationships","relationTypes","connectionTableNames","record","relations_1","relation","fieldName","relationType","modelConstructor_1","records_1","recordItem","getByfield","_e","connectionRecord","_g","records_2","_f","pagination","sortPredicates","ModelSortPredicateCreator","queryById","idFromPredicate","getById","getAll","load","idPredicate","firstOrLast","QueryOne","FIRST","queryOneStatement","modelOrModelConstructor","deleteStatement","deleteByPredicateStatement","selectAndDelete","modelInstances","warn","deleteParams","save","items","itemsToSave","queryStatements","deleteStatements","this_1","_deleted","DELETE","items_1","items_1_1","batchQuery","response","idx","insertStatement","updateStatement","SQLite","enablePromise","LOG_LEVEL","DEBUG","SQLiteDatabase","openDatabase","location","executeStatements","closeDB","debug","deleteDatabase","executeSql","resultSet","rows","raw","queryParameterizedStatements","results","readTransaction","queryParameterizedStatements_1_1","tx","_","saveParameterizedStatements","deleteParameterizedStatements","transaction","saveParameterizedStatements_1_1","deleteParameterizedStatements_1_1","queryParameterizedStatement","deleteParameterizedStatement","queryParams","statements_1_1","close","SQLiteAdapter"],"mappings":"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","file":"aws-amplify-datastore-storage-adapter.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@aws-amplify/datastore\"), require(\"@aws-amplify/core\"), require(\"react-native-sqlite-storage\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"aws-amplify-datastore-storage-adapter\", [\"@aws-amplify/datastore\", \"@aws-amplify/core\", \"react-native-sqlite-storage\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"aws-amplify-datastore-storage-adapter\"] = factory(require(\"@aws-amplify/datastore\"), require(\"@aws-amplify/core\"), require(\"react-native-sqlite-storage\"));\n\telse\n\t\troot[\"aws-amplify-datastore-storage-adapter\"] = factory(root[\"@aws-amplify/datastore\"], root[\"@aws-amplify/core\"], root[\"react-native-sqlite-storage\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__4__) {\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 = 7);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;",null,null,null,"module.exports = __WEBPACK_EXTERNAL_MODULE__4__;",null,null],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';
2
+ declare const ExpoSQLiteAdapter: CommonSQLiteAdapter;
3
+ export default ExpoSQLiteAdapter;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var CommonSQLiteAdapter_1 = require("../common/CommonSQLiteAdapter");
7
+ var ExpoSQLiteDatabase_1 = __importDefault(require("./ExpoSQLiteDatabase"));
8
+ var ExpoSQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new ExpoSQLiteDatabase_1.default());
9
+ exports.default = ExpoSQLiteAdapter;
10
+ //# sourceMappingURL=ExpoSQLiteAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoSQLiteAdapter.js","sourceRoot":"","sources":["../../src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts"],"names":[],"mappings":";;;;;AAAA,qEAAoE;AACpE,4EAAsD;AAEtD,IAAM,iBAAiB,GAAwB,IAAI,yCAAmB,CACrE,IAAI,4BAAkB,EAAE,CACxB,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { PersistentModel } from '@aws-amplify/datastore';
2
+ import { CommonSQLiteDatabase, ParameterizedStatement } from '../common/types';
3
+ declare class ExpoSQLiteDatabase implements CommonSQLiteDatabase {
4
+ private db;
5
+ init(): Promise<void>;
6
+ createSchema(statements: string[]): Promise<void>;
7
+ clear(): Promise<void>;
8
+ get<T extends PersistentModel>(statement: string, params: (string | number)[]): Promise<T>;
9
+ getAll<T extends PersistentModel>(statement: string, params: (string | number)[]): Promise<T[]>;
10
+ save(statement: string, params: (string | number)[]): Promise<void>;
11
+ batchQuery<T = any>(queryParameterizedStatements?: Set<ParameterizedStatement>): Promise<T[]>;
12
+ batchSave(saveParameterizedStatements?: Set<ParameterizedStatement>, deleteParameterizedStatements?: Set<ParameterizedStatement>): Promise<void>;
13
+ selectAndDelete<T = any>(queryParameterizedStatement: ParameterizedStatement, deleteParameterizedStatement: ParameterizedStatement): Promise<T[]>;
14
+ private executeStatements;
15
+ private closeDB;
16
+ }
17
+ export default ExpoSQLiteDatabase;