@aws-amplify/datastore-storage-adapter 2.1.1-unstable.cfbde4c.0 → 2.1.1

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 (98) hide show
  1. package/{lib → dist/cjs}/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +3 -2
  2. package/dist/cjs/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  3. package/{lib → dist/cjs}/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +5 -4
  4. package/dist/cjs/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  5. package/{lib → dist/cjs}/SQLiteAdapter/SQLiteAdapter.js +3 -2
  6. package/dist/cjs/SQLiteAdapter/SQLiteAdapter.js.map +1 -0
  7. package/{lib → dist/cjs}/SQLiteAdapter/SQLiteDatabase.js +3 -2
  8. package/dist/cjs/SQLiteAdapter/SQLiteDatabase.js.map +1 -0
  9. package/{lib → dist/cjs}/common/CommonSQLiteAdapter.js +22 -20
  10. package/dist/cjs/common/CommonSQLiteAdapter.js.map +1 -0
  11. package/{lib → dist/cjs}/common/SQLiteUtils.js +15 -14
  12. package/dist/cjs/common/SQLiteUtils.js.map +1 -0
  13. package/{lib → dist/cjs}/common/constants.js +4 -2
  14. package/dist/cjs/common/constants.js.map +1 -0
  15. package/{lib → dist/cjs}/common/types.js +3 -2
  16. package/dist/cjs/common/types.js.map +1 -0
  17. package/{lib → dist/cjs}/index.js +4 -2
  18. package/dist/cjs/index.js.map +1 -0
  19. package/{lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js → dist/esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.mjs} +6 -4
  20. package/dist/esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.mjs.map +1 -0
  21. package/{lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js → dist/esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.mjs} +7 -5
  22. package/dist/esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.mjs.map +1 -0
  23. package/{lib-esm/SQLiteAdapter/SQLiteAdapter.js → dist/esm/SQLiteAdapter/SQLiteAdapter.mjs} +6 -4
  24. package/dist/esm/SQLiteAdapter/SQLiteAdapter.mjs.map +1 -0
  25. package/{lib-esm/SQLiteAdapter/SQLiteDatabase.js → dist/esm/SQLiteAdapter/SQLiteDatabase.mjs} +7 -5
  26. package/dist/esm/SQLiteAdapter/SQLiteDatabase.mjs.map +1 -0
  27. package/{lib-esm/common/CommonSQLiteAdapter.js → dist/esm/common/CommonSQLiteAdapter.mjs} +8 -5
  28. package/dist/esm/common/CommonSQLiteAdapter.mjs.map +1 -0
  29. package/{lib-esm → dist/esm}/common/SQLiteUtils.d.ts +16 -1
  30. package/{lib-esm/common/SQLiteUtils.js → dist/esm/common/SQLiteUtils.mjs} +20 -20
  31. package/dist/esm/common/SQLiteUtils.mjs.map +1 -0
  32. package/{lib-esm/common/constants.js → dist/esm/common/constants.mjs} +4 -2
  33. package/dist/esm/common/constants.mjs.map +1 -0
  34. package/{lib → dist/esm}/common/types.d.ts +2 -2
  35. package/dist/esm/common/types.mjs +2 -0
  36. package/dist/esm/common/types.mjs.map +1 -0
  37. package/dist/esm/index.mjs +2 -0
  38. package/dist/esm/index.mjs.map +1 -0
  39. package/dist/umd/aws-amplify-datastore-sqlite-adapter-expo.js +991 -0
  40. package/dist/umd/aws-amplify-datastore-sqlite-adapter-expo.js.map +1 -0
  41. package/dist/umd/aws-amplify-datastore-sqlite-adapter-expo.min.js +2 -0
  42. package/dist/umd/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +1 -0
  43. package/dist/umd/aws-amplify-datastore-storage-adapter.js +915 -0
  44. package/dist/umd/aws-amplify-datastore-storage-adapter.js.map +1 -0
  45. package/dist/umd/aws-amplify-datastore-storage-adapter.min.js +2 -0
  46. package/dist/umd/aws-amplify-datastore-storage-adapter.min.js.map +1 -0
  47. package/package.json +102 -103
  48. package/rollup.config.mjs +31 -0
  49. package/webpack.config.dev.js +2 -2
  50. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js +0 -2680
  51. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js.map +0 -1
  52. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js +0 -3
  53. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.LICENSE.txt +0 -1
  54. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +0 -1
  55. package/dist/aws-amplify-datastore-storage-adapter.js +0 -2699
  56. package/dist/aws-amplify-datastore-storage-adapter.js.map +0 -1
  57. package/dist/aws-amplify-datastore-storage-adapter.min.js +0 -3
  58. package/dist/aws-amplify-datastore-storage-adapter.min.js.LICENSE.txt +0 -1
  59. package/dist/aws-amplify-datastore-storage-adapter.min.js.map +0 -1
  60. package/lib/.tsbuildinfo +0 -3
  61. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +0 -3
  62. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +0 -1
  63. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +0 -17
  64. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +0 -1
  65. package/lib/SQLiteAdapter/SQLiteAdapter.d.ts +0 -3
  66. package/lib/SQLiteAdapter/SQLiteAdapter.js.map +0 -1
  67. package/lib/SQLiteAdapter/SQLiteDatabase.d.ts +0 -17
  68. package/lib/SQLiteAdapter/SQLiteDatabase.js.map +0 -1
  69. package/lib/common/CommonSQLiteAdapter.d.ts +0 -23
  70. package/lib/common/CommonSQLiteAdapter.js.map +0 -1
  71. package/lib/common/SQLiteUtils.d.ts +0 -21
  72. package/lib/common/SQLiteUtils.js.map +0 -1
  73. package/lib/common/constants.d.ts +0 -1
  74. package/lib/common/constants.js.map +0 -1
  75. package/lib/common/types.js.map +0 -1
  76. package/lib/index.d.ts +0 -2
  77. package/lib/index.js.map +0 -1
  78. package/lib-esm/.tsbuildinfo +0 -3
  79. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +0 -1
  80. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +0 -1
  81. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js.map +0 -1
  82. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js.map +0 -1
  83. package/lib-esm/common/CommonSQLiteAdapter.js.map +0 -1
  84. package/lib-esm/common/SQLiteUtils.js.map +0 -1
  85. package/lib-esm/common/constants.js.map +0 -1
  86. package/lib-esm/common/types.d.ts +0 -16
  87. package/lib-esm/common/types.js +0 -1
  88. package/lib-esm/common/types.js.map +0 -1
  89. package/lib-esm/index.js +0 -5
  90. package/lib-esm/index.js.map +0 -1
  91. package/tsconfig.build.json +0 -5
  92. /package/{lib-esm → dist/esm}/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +0 -0
  93. /package/{lib-esm → dist/esm}/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +0 -0
  94. /package/{lib-esm → dist/esm}/SQLiteAdapter/SQLiteAdapter.d.ts +0 -0
  95. /package/{lib-esm → dist/esm}/SQLiteAdapter/SQLiteDatabase.d.ts +0 -0
  96. /package/{lib-esm → dist/esm}/common/CommonSQLiteAdapter.d.ts +0 -0
  97. /package/{lib-esm → dist/esm}/common/constants.d.ts +0 -0
  98. /package/{lib-esm → dist/esm}/index.d.ts +0 -0
@@ -1,4 +1,5 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  const tslib_1 = require("tslib");
4
5
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -7,4 +8,4 @@ const CommonSQLiteAdapter_1 = require("../common/CommonSQLiteAdapter");
7
8
  const ExpoSQLiteDatabase_1 = tslib_1.__importDefault(require("./ExpoSQLiteDatabase"));
8
9
  const ExpoSQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new ExpoSQLiteDatabase_1.default());
9
10
  exports.default = ExpoSQLiteAdapter;
10
- //# sourceMappingURL=ExpoSQLiteAdapter.js.map
11
+ //# sourceMappingURL=ExpoSQLiteAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoSQLiteAdapter.js","sources":["../../../src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst CommonSQLiteAdapter_1 = require(\"../common/CommonSQLiteAdapter\");\nconst ExpoSQLiteDatabase_1 = tslib_1.__importDefault(require(\"./ExpoSQLiteDatabase\"));\nconst ExpoSQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new ExpoSQLiteDatabase_1.default());\nexports.default = ExpoSQLiteAdapter;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC;AACA;AACA,MAAM,qBAAqB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AACvE,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACtF,MAAM,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5G,OAAO,CAAC,OAAO,GAAG,iBAAiB;;"}
@@ -1,4 +1,5 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
5
  // SPDX-License-Identifier: Apache-2.0
@@ -22,7 +23,7 @@ class ExpoSQLiteDatabase {
22
23
  // As per expo docs version, description and size arguments are ignored,
23
24
  // but are accepted by the function for compatibility with the WebSQL specification.
24
25
  // Hence, we do not need those arguments.
25
- this.db = expo_sqlite_1.openDatabase(constants_1.DB_NAME);
26
+ this.db = (0, expo_sqlite_1.openDatabase)(constants_1.DB_NAME);
26
27
  }
27
28
  }
28
29
  createSchema(statements) {
@@ -34,7 +35,7 @@ class ExpoSQLiteDatabase {
34
35
  await this.closeDB();
35
36
  // delete database is not supported by expo-sqlite.
36
37
  // Database file needs to be deleted using deleteAsync from expo-file-system
37
- await expo_file_system_1.deleteAsync(`${expo_file_system_1.documentDirectory}SQLite/${constants_1.DB_NAME}`);
38
+ await (0, expo_file_system_1.deleteAsync)(`${expo_file_system_1.documentDirectory}SQLite/${constants_1.DB_NAME}`);
38
39
  logger.debug('Database cleared');
39
40
  }
40
41
  catch (error) {
@@ -193,4 +194,4 @@ class ExpoSQLiteDatabase {
193
194
  }
194
195
  }
195
196
  exports.default = ExpoSQLiteDatabase;
196
- //# sourceMappingURL=ExpoSQLiteDatabase.js.map
197
+ //# sourceMappingURL=ExpoSQLiteDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoSQLiteDatabase.js","sources":["../../../src/ExpoSQLiteAdapter/ExpoSQLiteDatabase.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst core_1 = require(\"@aws-amplify/core\");\nconst expo_file_system_1 = require(\"expo-file-system\");\nconst expo_sqlite_1 = require(\"expo-sqlite\");\nconst constants_1 = require(\"../common/constants\");\nconst logger = new core_1.ConsoleLogger('ExpoSQLiteDatabase');\n/*\n\nNote:\nExpoSQLite transaction error callbacks require returning a boolean value to indicate whether the\nerror was handled or not. Returning a true value indicates the error was handled and does not\nrollback the whole transaction.\n\n*/\nclass ExpoSQLiteDatabase {\n async init() {\n // only open database once.\n if (!this.db) {\n // As per expo docs version, description and size arguments are ignored,\n // but are accepted by the function for compatibility with the WebSQL specification.\n // Hence, we do not need those arguments.\n this.db = (0, expo_sqlite_1.openDatabase)(constants_1.DB_NAME);\n }\n }\n createSchema(statements) {\n return this.executeStatements(statements);\n }\n async clear() {\n try {\n logger.debug('Clearing database');\n await this.closeDB();\n // delete database is not supported by expo-sqlite.\n // Database file needs to be deleted using deleteAsync from expo-file-system\n await (0, expo_file_system_1.deleteAsync)(`${expo_file_system_1.documentDirectory}SQLite/${constants_1.DB_NAME}`);\n logger.debug('Database cleared');\n }\n catch (error) {\n logger.warn('Error clearing the database.', error);\n // open database if it was closed earlier and this.db was set to undefined.\n this.init();\n }\n }\n async get(statement, params) {\n const results = await this.getAll(statement, params);\n return results[0];\n }\n getAll(statement, params) {\n return new Promise((resolve, reject) => {\n this.db.readTransaction(transaction => {\n transaction.executeSql(statement, params, (_, result) => {\n resolve(result.rows._array || []);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n });\n });\n }\n save(statement, params) {\n return new Promise((resolve, reject) => {\n this.db.transaction(transaction => {\n transaction.executeSql(statement, params, () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n });\n });\n }\n batchQuery(queryParameterizedStatements = new Set()) {\n return new Promise((resolveTransaction, rejectTransaction) => {\n this.db.transaction(async (transaction) => {\n try {\n const results = await Promise.all([...queryParameterizedStatements].map(([statement, params]) => new Promise((resolve, reject) => {\n transaction.executeSql(statement, params, (_, result) => {\n resolve(result.rows._array[0]);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n })));\n resolveTransaction(results);\n }\n catch (error) {\n rejectTransaction(error);\n logger.warn(error);\n }\n });\n });\n }\n batchSave(saveParameterizedStatements = new Set(), deleteParameterizedStatements) {\n return new Promise((resolveTransaction, rejectTransaction) => {\n this.db.transaction(async (transaction) => {\n try {\n // await for all sql statements promises to resolve\n await Promise.all([...saveParameterizedStatements].map(([statement, params]) => new Promise((resolve, reject) => {\n transaction.executeSql(statement, params, () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n })));\n if (deleteParameterizedStatements) {\n await Promise.all([...deleteParameterizedStatements].map(([statement, params]) => new Promise((resolve, reject) => transaction.executeSql(statement, params, () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n }))));\n }\n resolveTransaction(null);\n }\n catch (error) {\n rejectTransaction(error);\n logger.warn(error);\n }\n });\n });\n }\n selectAndDelete(queryParameterizedStatement, deleteParameterizedStatement) {\n const [queryStatement, queryParams] = queryParameterizedStatement;\n const [deleteStatement, deleteParams] = deleteParameterizedStatement;\n return new Promise((resolveTransaction, rejectTransaction) => {\n this.db.transaction(async (transaction) => {\n try {\n const result = await new Promise((resolve, reject) => {\n transaction.executeSql(queryStatement, queryParams, (_, result) => {\n resolve(result.rows._array || []);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n });\n await new Promise((resolve, reject) => {\n transaction.executeSql(deleteStatement, deleteParams, () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n });\n resolveTransaction(result);\n }\n catch (error) {\n rejectTransaction(error);\n logger.warn(error);\n }\n });\n });\n }\n executeStatements(statements) {\n return new Promise((resolveTransaction, rejectTransaction) => {\n this.db.transaction(async (transaction) => {\n try {\n await Promise.all(statements.map(statement => new Promise((resolve, reject) => {\n transaction.executeSql(statement, [], () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n return true;\n });\n })));\n resolveTransaction(null);\n }\n catch (error) {\n rejectTransaction(error);\n logger.warn(error);\n }\n });\n });\n }\n async closeDB() {\n if (this.db) {\n logger.debug('Closing Database');\n // closing database is not supported by expo-sqlite.\n // Workaround is to access the private db variable and call the close() method.\n await this.db._db.close();\n logger.debug('Database closed');\n this.db = undefined;\n }\n }\n}\nexports.default = ExpoSQLiteDatabase;\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  const tslib_1 = require("tslib");
4
5
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -7,4 +8,4 @@ const CommonSQLiteAdapter_1 = require("../common/CommonSQLiteAdapter");
7
8
  const SQLiteDatabase_1 = tslib_1.__importDefault(require("./SQLiteDatabase"));
8
9
  const SQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new SQLiteDatabase_1.default());
9
10
  exports.default = SQLiteAdapter;
10
- //# sourceMappingURL=SQLiteAdapter.js.map
11
+ //# sourceMappingURL=SQLiteAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLiteAdapter.js","sources":["../../../src/SQLiteAdapter/SQLiteAdapter.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst CommonSQLiteAdapter_1 = require(\"../common/CommonSQLiteAdapter\");\nconst SQLiteDatabase_1 = tslib_1.__importDefault(require(\"./SQLiteDatabase\"));\nconst SQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new SQLiteDatabase_1.default());\nexports.default = SQLiteAdapter;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC;AACA;AACA,MAAM,qBAAqB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AACvE,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC9E,MAAM,aAAa,GAAG,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;AACpG,OAAO,CAAC,OAAO,GAAG,aAAa;;"}
@@ -1,4 +1,5 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  const tslib_1 = require("tslib");
4
5
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -112,4 +113,4 @@ class SQLiteDatabase {
112
113
  }
113
114
  }
114
115
  exports.default = SQLiteDatabase;
115
- //# sourceMappingURL=SQLiteDatabase.js.map
116
+ //# sourceMappingURL=SQLiteDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLiteDatabase.js","sources":["../../../src/SQLiteAdapter/SQLiteDatabase.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst react_native_sqlite_storage_1 = tslib_1.__importDefault(require(\"react-native-sqlite-storage\"));\nconst core_1 = require(\"@aws-amplify/core\");\nconst constants_1 = require(\"../common/constants\");\nconst logger = new core_1.ConsoleLogger('SQLiteDatabase');\nreact_native_sqlite_storage_1.default.enablePromise(true);\nif (core_1.ConsoleLogger.LOG_LEVEL === 'DEBUG') {\n react_native_sqlite_storage_1.default.DEBUG(true);\n}\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*/\nclass SQLiteDatabase {\n async init() {\n // only open database once.\n if (!this.db) {\n this.db = await react_native_sqlite_storage_1.default.openDatabase({\n name: constants_1.DB_NAME,\n location: 'default',\n });\n }\n }\n async createSchema(statements) {\n return await this.executeStatements(statements);\n }\n async clear() {\n await this.closeDB();\n logger.debug('Deleting database');\n await react_native_sqlite_storage_1.default.deleteDatabase({ name: constants_1.DB_NAME, location: 'default' });\n logger.debug('Database deleted');\n }\n async get(statement, params) {\n const results = await this.getAll(statement, params);\n return results[0];\n }\n async getAll(statement, params) {\n const [resultSet] = await this.db.executeSql(statement, params);\n const result = resultSet &&\n resultSet.rows &&\n resultSet.rows.length &&\n resultSet.rows.raw &&\n resultSet.rows.raw();\n return result || [];\n }\n async save(statement, params) {\n await this.db.executeSql(statement, params);\n }\n async batchQuery(queryParameterizedStatements) {\n const results = [];\n await this.db.readTransaction(tx => {\n for (const [statement, params] of queryParameterizedStatements) {\n tx.executeSql(statement, params, (_, res) => {\n results.push(res.rows.raw()[0]);\n }, logger.warn);\n }\n });\n return results;\n }\n async batchSave(saveParameterizedStatements, deleteParameterizedStatements) {\n await this.db.transaction(tx => {\n for (const [statement, params] of saveParameterizedStatements) {\n tx.executeSql(statement, params);\n }\n });\n if (deleteParameterizedStatements) {\n await this.db.transaction(tx => {\n for (const [statement, params] of deleteParameterizedStatements) {\n tx.executeSql(statement, params);\n }\n });\n }\n }\n async selectAndDelete(queryParameterizedStatement, deleteParameterizedStatement) {\n let results = [];\n const [queryStatement, queryParams] = queryParameterizedStatement;\n const [deleteStatement, deleteParams] = deleteParameterizedStatement;\n await this.db.transaction(tx => {\n tx.executeSql(queryStatement, queryParams, (_, res) => {\n results = res.rows.raw();\n }, logger.warn);\n tx.executeSql(deleteStatement, deleteParams, () => { }, logger.warn);\n });\n return results;\n }\n async executeStatements(statements) {\n await this.db.transaction(tx => {\n for (const statement of statements) {\n tx.executeSql(statement);\n }\n });\n }\n async closeDB() {\n if (this.db) {\n logger.debug('Closing Database');\n await this.db.close();\n logger.debug('Database closed');\n this.db = undefined;\n }\n }\n}\nexports.default = SQLiteDatabase;\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CommonSQLiteAdapter = void 0;
3
5
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
6
  // SPDX-License-Identifier: Apache-2.0
5
7
  const core_1 = require("@aws-amplify/core");
@@ -32,7 +34,7 @@ class CommonSQLiteAdapter {
32
34
  logger.error('The SQLite adapter does not support schemas using custom primary key. Set `graphQLTransformer.respectPrimaryKeyAttributesOnConnectionField in `amplify/cli.json` to false to disable custom primary key. To regenerate your API, add or remove an empty newline to your GraphQL schema (to change the computed hash) then run `amplify push`.');
33
35
  }
34
36
  await this.db.init();
35
- const statements = SQLiteUtils_1.generateSchemaStatements(this.schema);
37
+ const statements = (0, SQLiteUtils_1.generateSchemaStatements)(this.schema);
36
38
  await this.db.createSchema(statements);
37
39
  this.resolve();
38
40
  }
@@ -52,7 +54,7 @@ class CommonSQLiteAdapter {
52
54
  const connectionStoreNames = Object.values(connectedModels).map(({ modelName, item, instance }) => {
53
55
  return { modelName, item, instance };
54
56
  });
55
- const [queryStatement, params] = SQLiteUtils_1.queryByIdStatement(model.id, tableName);
57
+ const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(model.id, tableName);
56
58
  const fromDB = await this.db.get(queryStatement, params);
57
59
  if (condition && fromDB) {
58
60
  const predicates = datastore_1.ModelPredicateCreator.getPredicates(condition);
@@ -69,12 +71,12 @@ class CommonSQLiteAdapter {
69
71
  for await (const resItem of connectionStoreNames) {
70
72
  const { modelName, item, instance } = resItem;
71
73
  const { id } = item;
72
- const [queryStatement, params] = SQLiteUtils_1.queryByIdStatement(id, modelName);
74
+ const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(id, modelName);
73
75
  const fromDB = await this.db.get(queryStatement, params);
74
76
  const opType = fromDB === undefined ? datastore_1.OpType.INSERT : datastore_1.OpType.UPDATE;
75
77
  const saveStatement = fromDB
76
- ? SQLiteUtils_1.modelUpdateStatement(instance, modelName)
77
- : SQLiteUtils_1.modelInsertStatement(instance, modelName);
78
+ ? (0, SQLiteUtils_1.modelUpdateStatement)(instance, modelName)
79
+ : (0, SQLiteUtils_1.modelInsertStatement)(instance, modelName);
78
80
  if (id === model.id || opType === datastore_1.OpType.INSERT) {
79
81
  saveStatements.add(saveStatement);
80
82
  result.push([instance, opType]);
@@ -118,25 +120,25 @@ class CommonSQLiteAdapter {
118
120
  const record = await this.getById(tableName, queryById);
119
121
  return record ? [record] : [];
120
122
  }
121
- const [queryStatement, params] = SQLiteUtils_1.queryAllStatement(tableName, predicates, sortPredicates, limit, page);
123
+ const [queryStatement, params] = (0, SQLiteUtils_1.queryAllStatement)(tableName, predicates, sortPredicates, limit, page);
122
124
  return await this.db.getAll(queryStatement, params);
123
125
  })();
124
126
  return await this.load(namespaceName, modelConstructor.name, records);
125
127
  }
126
128
  async getById(tableName, id) {
127
- const [queryStatement, params] = SQLiteUtils_1.queryByIdStatement(id, tableName);
129
+ const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(id, tableName);
128
130
  const record = await this.db.get(queryStatement, params);
129
131
  return record;
130
132
  }
131
133
  idFromPredicate(predicates) {
132
134
  const { predicates: predicateObjs } = predicates;
133
135
  const idPredicate = predicateObjs.length === 1 &&
134
- predicateObjs.find(p => datastore_1.isPredicateObj(p) && p.field === 'id' && p.operator === 'eq');
136
+ predicateObjs.find(p => (0, datastore_1.isPredicateObj)(p) && p.field === 'id' && p.operator === 'eq');
135
137
  return idPredicate && idPredicate.operand;
136
138
  }
137
139
  async queryOne(modelConstructor, firstOrLast = datastore_1.QueryOne.FIRST) {
138
140
  const { name: tableName } = modelConstructor;
139
- const [queryStatement, params] = SQLiteUtils_1.queryOneStatement(firstOrLast, tableName);
141
+ const [queryStatement, params] = (0, SQLiteUtils_1.queryOneStatement)(firstOrLast, tableName);
140
142
  const result = await this.db.get(queryStatement, params);
141
143
  const modelInstance = result && this.modelInstanceCreator(modelConstructor, result);
142
144
  return modelInstance;
@@ -150,8 +152,8 @@ class CommonSQLiteAdapter {
150
152
  const namespaceName = this.namespaceResolver(modelConstructor);
151
153
  const { name: tableName } = modelConstructor;
152
154
  const predicates = condition && datastore_1.ModelPredicateCreator.getPredicates(condition);
153
- const queryStatement = SQLiteUtils_1.queryAllStatement(tableName, predicates);
154
- const deleteStatement = SQLiteUtils_1.deleteByPredicateStatement(tableName, predicates);
155
+ const queryStatement = (0, SQLiteUtils_1.queryAllStatement)(tableName, predicates);
156
+ const deleteStatement = (0, SQLiteUtils_1.deleteByPredicateStatement)(tableName, predicates);
155
157
  const models = await this.db.selectAndDelete(queryStatement, deleteStatement);
156
158
  const modelInstances = await this.load(namespaceName, modelConstructor.name, models);
157
159
  return [modelInstances, modelInstances];
@@ -162,7 +164,7 @@ class CommonSQLiteAdapter {
162
164
  .constructor;
163
165
  const { name: tableName } = modelConstructor;
164
166
  if (condition) {
165
- const [queryStatement, params] = SQLiteUtils_1.queryByIdStatement(model.id, tableName);
167
+ const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(model.id, tableName);
166
168
  const fromDB = await this.db.get(queryStatement, params);
167
169
  if (fromDB === undefined) {
168
170
  const msg = 'Model instance not found in storage';
@@ -177,12 +179,12 @@ class CommonSQLiteAdapter {
177
179
  logger.error(msg, { model: fromDB, condition: predicateObjs });
178
180
  throw new Error(msg);
179
181
  }
180
- const [deleteStatement, deleteParams] = SQLiteUtils_1.deleteByIdStatement(model.id, tableName);
182
+ const [deleteStatement, deleteParams] = (0, SQLiteUtils_1.deleteByIdStatement)(model.id, tableName);
181
183
  await this.db.save(deleteStatement, deleteParams);
182
184
  return [[model], [model]];
183
185
  }
184
186
  else {
185
- const [deleteStatement, params] = SQLiteUtils_1.deleteByIdStatement(model.id, tableName);
187
+ const [deleteStatement, params] = (0, SQLiteUtils_1.deleteByIdStatement)(model.id, tableName);
186
188
  await this.db.save(deleteStatement, params);
187
189
  return [[model], [model]];
188
190
  }
@@ -205,13 +207,13 @@ class CommonSQLiteAdapter {
205
207
  const { instance } = connectedModels.find(({ instance }) => instance.id === id);
206
208
  if (_deleted) {
207
209
  // create the delete statements right away
208
- const deleteStatement = SQLiteUtils_1.deleteByIdStatement(instance.id, tableName);
210
+ const deleteStatement = (0, SQLiteUtils_1.deleteByIdStatement)(instance.id, tableName);
209
211
  deleteStatements.add(deleteStatement);
210
212
  result.push([item, datastore_1.OpType.DELETE]);
211
213
  }
212
214
  else {
213
215
  // query statements for the saves at first
214
- const queryStatement = SQLiteUtils_1.queryByIdStatement(id, tableName);
216
+ const queryStatement = (0, SQLiteUtils_1.queryByIdStatement)(id, tableName);
215
217
  queryStatements.add(queryStatement);
216
218
  // combination of insert and update items
217
219
  itemsToSave.push(instance);
@@ -221,12 +223,12 @@ class CommonSQLiteAdapter {
221
223
  const queryResponses = await this.db.batchQuery(queryStatements);
222
224
  queryResponses.forEach((response, idx) => {
223
225
  if (response === undefined) {
224
- const insertStatement = SQLiteUtils_1.modelInsertStatement(itemsToSave[idx], tableName);
226
+ const insertStatement = (0, SQLiteUtils_1.modelInsertStatement)(itemsToSave[idx], tableName);
225
227
  saveStatements.add(insertStatement);
226
228
  result.push([itemsToSave[idx], datastore_1.OpType.INSERT]);
227
229
  }
228
230
  else {
229
- const updateStatement = SQLiteUtils_1.modelUpdateStatement(itemsToSave[idx], tableName);
231
+ const updateStatement = (0, SQLiteUtils_1.modelUpdateStatement)(itemsToSave[idx], tableName);
230
232
  saveStatements.add(updateStatement);
231
233
  result.push([itemsToSave[idx], datastore_1.OpType.UPDATE]);
232
234
  }
@@ -237,4 +239,4 @@ class CommonSQLiteAdapter {
237
239
  }
238
240
  }
239
241
  exports.CommonSQLiteAdapter = CommonSQLiteAdapter;
240
- //# sourceMappingURL=CommonSQLiteAdapter.js.map
242
+ //# sourceMappingURL=CommonSQLiteAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonSQLiteAdapter.js","sources":["../../../src/common/CommonSQLiteAdapter.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommonSQLiteAdapter = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst core_1 = require(\"@aws-amplify/core\");\nconst SQLiteUtils_1 = require(\"../common/SQLiteUtils\");\nconst datastore_1 = require(\"@aws-amplify/datastore\");\nconst { traverseModel, validatePredicate, isModelConstructor } = datastore_1.utils;\nconst logger = new core_1.ConsoleLogger('DataStore');\nclass CommonSQLiteAdapter {\n constructor(db) {\n this.db = db;\n }\n async setUp(theSchema, namespaceResolver, modelInstanceCreator, getModelConstructorByModelName) {\n if (!this.initPromise) {\n this.initPromise = new Promise((res, rej) => {\n this.resolve = res;\n this.reject = rej;\n });\n }\n else {\n await this.initPromise;\n return;\n }\n this.schema = theSchema;\n this.namespaceResolver = namespaceResolver;\n this.modelInstanceCreator = modelInstanceCreator;\n this.getModelConstructorByModelName = getModelConstructorByModelName;\n try {\n const usesCPKCodegen = Object.values(this.schema.namespaces.user.models).some(model => Object.values(model.fields).some(field => field.association?.hasOwnProperty('targetNames')));\n if (usesCPKCodegen) {\n logger.error('The SQLite adapter does not support schemas using custom primary key. Set `graphQLTransformer.respectPrimaryKeyAttributesOnConnectionField in `amplify/cli.json` to false to disable custom primary key. To regenerate your API, add or remove an empty newline to your GraphQL schema (to change the computed hash) then run `amplify push`.');\n }\n await this.db.init();\n const statements = (0, SQLiteUtils_1.generateSchemaStatements)(this.schema);\n await this.db.createSchema(statements);\n this.resolve();\n }\n catch (error) {\n this.reject(error);\n }\n }\n async clear() {\n await this.db.clear();\n this.initPromise = undefined;\n }\n async save(model, condition) {\n const modelConstructor = Object.getPrototypeOf(model)\n .constructor;\n const { name: tableName } = modelConstructor;\n const connectedModels = traverseModel(modelConstructor.name, model, this.schema.namespaces[this.namespaceResolver(modelConstructor)], this.modelInstanceCreator, this.getModelConstructorByModelName);\n const connectionStoreNames = Object.values(connectedModels).map(({ modelName, item, instance }) => {\n return { modelName, item, instance };\n });\n const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(model.id, tableName);\n const fromDB = await this.db.get(queryStatement, params);\n if (condition && fromDB) {\n const predicates = datastore_1.ModelPredicateCreator.getPredicates(condition);\n const { predicates: predicateObjs, type } = predicates;\n const isValid = validatePredicate(fromDB, type, predicateObjs);\n if (!isValid) {\n const msg = 'Conditional update failed';\n logger.error(msg, { model: fromDB, condition: predicateObjs });\n throw new Error(msg);\n }\n }\n const result = [];\n const saveStatements = new Set();\n for await (const resItem of connectionStoreNames) {\n const { modelName, item, instance } = resItem;\n const { id } = item;\n const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(id, modelName);\n const fromDB = await this.db.get(queryStatement, params);\n const opType = fromDB === undefined ? datastore_1.OpType.INSERT : datastore_1.OpType.UPDATE;\n const saveStatement = fromDB\n ? (0, SQLiteUtils_1.modelUpdateStatement)(instance, modelName)\n : (0, SQLiteUtils_1.modelInsertStatement)(instance, modelName);\n if (id === model.id || opType === datastore_1.OpType.INSERT) {\n saveStatements.add(saveStatement);\n result.push([instance, opType]);\n }\n }\n await this.db.batchSave(saveStatements);\n return result;\n }\n async load(namespaceName, srcModelName, records) {\n const namespace = this.schema.namespaces[namespaceName];\n const relations = namespace.relationships[srcModelName].relationTypes;\n const connectionTableNames = relations.map(({ modelName }) => modelName);\n const modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);\n if (connectionTableNames.length === 0) {\n return records.map(record => this.modelInstanceCreator(modelConstructor, record));\n }\n // Remove related-model fields. They're all `null` in the database,\n // and any that happen to be required will result in a false validation\n // error when DataStore attempts to initialize with `null`.\n // These fields aren't actually needed here. DataStore will use the FK's\n // from the schema model.\n return records.map(record => {\n for (const r of relations) {\n delete record[r.fieldName];\n }\n return this.modelInstanceCreator(modelConstructor, record);\n });\n }\n async query(modelConstructor, predicate, pagination) {\n const { name: tableName } = modelConstructor;\n const namespaceName = this.namespaceResolver(modelConstructor);\n const predicates = predicate && datastore_1.ModelPredicateCreator.getPredicates(predicate);\n const sortPredicates = pagination &&\n pagination.sort &&\n datastore_1.ModelSortPredicateCreator.getPredicates(pagination.sort);\n const limit = pagination && pagination.limit;\n const page = limit && pagination.page;\n const queryById = predicates && this.idFromPredicate(predicates);\n const records = await (async () => {\n if (queryById) {\n const record = await this.getById(tableName, queryById);\n return record ? [record] : [];\n }\n const [queryStatement, params] = (0, SQLiteUtils_1.queryAllStatement)(tableName, predicates, sortPredicates, limit, page);\n return await this.db.getAll(queryStatement, params);\n })();\n return await this.load(namespaceName, modelConstructor.name, records);\n }\n async getById(tableName, id) {\n const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(id, tableName);\n const record = await this.db.get(queryStatement, params);\n return record;\n }\n idFromPredicate(predicates) {\n const { predicates: predicateObjs } = predicates;\n const idPredicate = predicateObjs.length === 1 &&\n predicateObjs.find(p => (0, datastore_1.isPredicateObj)(p) && p.field === 'id' && p.operator === 'eq');\n return idPredicate && idPredicate.operand;\n }\n async queryOne(modelConstructor, firstOrLast = datastore_1.QueryOne.FIRST) {\n const { name: tableName } = modelConstructor;\n const [queryStatement, params] = (0, SQLiteUtils_1.queryOneStatement)(firstOrLast, tableName);\n const result = await this.db.get(queryStatement, params);\n const modelInstance = result && this.modelInstanceCreator(modelConstructor, result);\n return modelInstance;\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 async delete(modelOrModelConstructor, condition) {\n if (isModelConstructor(modelOrModelConstructor)) {\n const modelConstructor = modelOrModelConstructor;\n const namespaceName = this.namespaceResolver(modelConstructor);\n const { name: tableName } = modelConstructor;\n const predicates = condition && datastore_1.ModelPredicateCreator.getPredicates(condition);\n const queryStatement = (0, SQLiteUtils_1.queryAllStatement)(tableName, predicates);\n const deleteStatement = (0, SQLiteUtils_1.deleteByPredicateStatement)(tableName, predicates);\n const models = await this.db.selectAndDelete(queryStatement, deleteStatement);\n const modelInstances = await this.load(namespaceName, modelConstructor.name, models);\n return [modelInstances, modelInstances];\n }\n else {\n const model = modelOrModelConstructor;\n const modelConstructor = Object.getPrototypeOf(model)\n .constructor;\n const { name: tableName } = modelConstructor;\n if (condition) {\n const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(model.id, tableName);\n const fromDB = await this.db.get(queryStatement, params);\n if (fromDB === undefined) {\n const msg = 'Model instance not found in storage';\n logger.warn(msg, { model });\n return [[model], []];\n }\n const predicates = datastore_1.ModelPredicateCreator.getPredicates(condition);\n const { predicates: predicateObjs, type } = predicates;\n const isValid = validatePredicate(fromDB, type, predicateObjs);\n if (!isValid) {\n const msg = 'Conditional update failed';\n logger.error(msg, { model: fromDB, condition: predicateObjs });\n throw new Error(msg);\n }\n const [deleteStatement, deleteParams] = (0, SQLiteUtils_1.deleteByIdStatement)(model.id, tableName);\n await this.db.save(deleteStatement, deleteParams);\n return [[model], [model]];\n }\n else {\n const [deleteStatement, params] = (0, SQLiteUtils_1.deleteByIdStatement)(model.id, tableName);\n await this.db.save(deleteStatement, params);\n return [[model], [model]];\n }\n }\n }\n async batchSave(modelConstructor, items) {\n const { name: tableName } = modelConstructor;\n const result = [];\n const itemsToSave = [];\n // To determine whether an item should result in an insert or update operation\n // We first need to query the local DB on the item id\n const queryStatements = new Set();\n // Deletes don't need to be queried first, because if the item doesn't exist,\n // the delete operation will be a no-op\n const deleteStatements = new Set();\n const saveStatements = new Set();\n for (const item of items) {\n const connectedModels = traverseModel(modelConstructor.name, this.modelInstanceCreator(modelConstructor, item), this.schema.namespaces[this.namespaceResolver(modelConstructor)], this.modelInstanceCreator, this.getModelConstructorByModelName);\n const { id, _deleted } = item;\n const { instance } = connectedModels.find(({ instance }) => instance.id === id);\n if (_deleted) {\n // create the delete statements right away\n const deleteStatement = (0, SQLiteUtils_1.deleteByIdStatement)(instance.id, tableName);\n deleteStatements.add(deleteStatement);\n result.push([item, datastore_1.OpType.DELETE]);\n }\n else {\n // query statements for the saves at first\n const queryStatement = (0, SQLiteUtils_1.queryByIdStatement)(id, tableName);\n queryStatements.add(queryStatement);\n // combination of insert and update items\n itemsToSave.push(instance);\n }\n }\n // returns the query results for each of the save items\n const queryResponses = await this.db.batchQuery(queryStatements);\n queryResponses.forEach((response, idx) => {\n if (response === undefined) {\n const insertStatement = (0, SQLiteUtils_1.modelInsertStatement)(itemsToSave[idx], tableName);\n saveStatements.add(insertStatement);\n result.push([itemsToSave[idx], datastore_1.OpType.INSERT]);\n }\n else {\n const updateStatement = (0, SQLiteUtils_1.modelUpdateStatement)(itemsToSave[idx], tableName);\n saveStatements.add(updateStatement);\n result.push([itemsToSave[idx], datastore_1.OpType.UPDATE]);\n }\n });\n // perform all of the insert/update/delete operations in a single transaction\n await this.db.batchSave(saveStatements, deleteStatements);\n return result;\n }\n}\nexports.CommonSQLiteAdapter = CommonSQLiteAdapter;\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.deleteByPredicateStatement = exports.deleteByIdStatement = exports.queryOneStatement = exports.queryAllStatement = exports.limitClauseFromPagination = exports.orderByClauseFromSort = exports.whereClauseFromPredicate = exports.whereConditionFromPredicateObject = exports.queryByIdStatement = exports.modelUpdateStatement = exports.modelInsertStatement = exports.modelCreateTableStatement = exports.implicitAuthFieldsForModel = exports.generateSchemaStatements = exports.getSQLiteType = void 0;
3
5
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
6
  // SPDX-License-Identifier: Apache-2.0
5
7
  const datastore_1 = require("@aws-amplify/datastore");
@@ -58,7 +60,6 @@ function getSQLiteType(scalar) {
58
60
  case 'Float':
59
61
  return 'REAL';
60
62
  default:
61
- const _ = scalar;
62
63
  throw new Error(`unknown type ${scalar}`);
63
64
  }
64
65
  }
@@ -71,7 +72,7 @@ function generateSchemaStatements(schema) {
71
72
  });
72
73
  }
73
74
  exports.generateSchemaStatements = generateSchemaStatements;
74
- exports.implicitAuthFieldsForModel = (model) => {
75
+ const implicitAuthFieldsForModel = (model) => {
75
76
  if (!model.attributes || !model.attributes.length) {
76
77
  return [];
77
78
  }
@@ -87,11 +88,12 @@ exports.implicitAuthFieldsForModel = (model) => {
87
88
  return !authFieldExplicitlyDefined;
88
89
  });
89
90
  };
91
+ exports.implicitAuthFieldsForModel = implicitAuthFieldsForModel;
90
92
  function modelCreateTableStatement(model, userModel = false) {
91
93
  // implicitly defined auth fields, e.g., `owner`, `groupsField`, etc.
92
- const implicitAuthFields = exports.implicitAuthFieldsForModel(model);
94
+ const implicitAuthFields = (0, exports.implicitAuthFieldsForModel)(model);
93
95
  let fields = Object.values(model.fields).reduce((acc, field) => {
94
- if (datastore_1.isGraphQLScalarType(field.type)) {
96
+ if ((0, datastore_1.isGraphQLScalarType)(field.type)) {
95
97
  if (field.name === 'id') {
96
98
  return [...acc, '"id" PRIMARY KEY NOT NULL'];
97
99
  }
@@ -101,10 +103,10 @@ function modelCreateTableStatement(model, userModel = false) {
101
103
  }
102
104
  return [...acc, `${columnParam}`];
103
105
  }
104
- if (datastore_1.isModelFieldType(field.type)) {
106
+ if ((0, datastore_1.isModelFieldType)(field.type)) {
105
107
  let columnParam = `"${field.name}" TEXT`;
106
108
  // add targetName as well as field name for BELONGS_TO relations
107
- if (datastore_1.isTargetNameAssociation(field.association)) {
109
+ if ((0, datastore_1.isTargetNameAssociation)(field.association)) {
108
110
  // check if this field has been explicitly defined in the model
109
111
  const fkDefinedInModel = Object.values(model.fields).find((f) => f.name === field?.association?.targetName);
110
112
  // if the FK is not explicitly defined in the model, we have to add it here
@@ -200,7 +202,7 @@ function buildSpecialNullComparison(field, operator, operand) {
200
202
  // no special null handling required
201
203
  return null;
202
204
  }
203
- exports.whereConditionFromPredicateObject = ({ field, operator, operand, }) => {
205
+ const whereConditionFromPredicateObject = ({ field, operator, operand, }) => {
204
206
  const specialNullClause = buildSpecialNullComparison(field, operator, operand);
205
207
  if (specialNullClause) {
206
208
  return [specialNullClause, []];
@@ -230,13 +232,13 @@ exports.whereConditionFromPredicateObject = ({ field, operator, operand, }) => {
230
232
  statement = [`instr("${field}", ?) ${logicalOperator}`, [operand]];
231
233
  break;
232
234
  default:
233
- const _ = logicalOperatorKey;
234
235
  // Incorrect WHERE clause can result in data loss
235
236
  throw new Error('Cannot map predicate to a valid WHERE clause');
236
237
  }
237
238
  return statement;
238
239
  }
239
240
  };
241
+ exports.whereConditionFromPredicateObject = whereConditionFromPredicateObject;
240
242
  function whereClauseFromPredicate(predicate) {
241
243
  const result = [];
242
244
  const params = [];
@@ -244,7 +246,7 @@ function whereClauseFromPredicate(predicate) {
244
246
  const whereClause = `WHERE ${result.join(' ')}`;
245
247
  return [whereClause, params];
246
248
  function recurse(predicate, result = [], params = []) {
247
- if (datastore_1.isPredicateGroup(predicate)) {
249
+ if ((0, datastore_1.isPredicateGroup)(predicate)) {
248
250
  const { type: groupType, predicates: groupPredicates } = predicate;
249
251
  let filterType = '';
250
252
  let isNegation = false;
@@ -259,7 +261,6 @@ function whereClauseFromPredicate(predicate) {
259
261
  filterType = 'OR';
260
262
  break;
261
263
  default:
262
- const _ = groupType;
263
264
  throw new Error(`Invalid ${groupType}`);
264
265
  }
265
266
  const groupResult = [];
@@ -268,8 +269,8 @@ function whereClauseFromPredicate(predicate) {
268
269
  }
269
270
  result.push(`${isNegation ? 'NOT' : ''}(${groupResult.join(` ${filterType} `)})`);
270
271
  }
271
- else if (datastore_1.isPredicateObj(predicate)) {
272
- const [condition, conditionParams] = exports.whereConditionFromPredicateObject(predicate);
272
+ else if ((0, datastore_1.isPredicateObj)(predicate)) {
273
+ const [condition, conditionParams] = (0, exports.whereConditionFromPredicateObject)(predicate);
273
274
  result.push(condition);
274
275
  params.push(...conditionParams);
275
276
  }
@@ -344,4 +345,4 @@ function deleteByPredicateStatement(tableName, predicate) {
344
345
  return [statement, params];
345
346
  }
346
347
  exports.deleteByPredicateStatement = deleteByPredicateStatement;
347
- //# sourceMappingURL=SQLiteUtils.js.map
348
+ //# sourceMappingURL=SQLiteUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLiteUtils.js","sources":["../../../src/common/SQLiteUtils.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteByPredicateStatement = exports.deleteByIdStatement = exports.queryOneStatement = exports.queryAllStatement = exports.limitClauseFromPagination = exports.orderByClauseFromSort = exports.whereClauseFromPredicate = exports.whereConditionFromPredicateObject = exports.queryByIdStatement = exports.modelUpdateStatement = exports.modelInsertStatement = exports.modelCreateTableStatement = exports.implicitAuthFieldsForModel = exports.generateSchemaStatements = exports.getSQLiteType = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst datastore_1 = require(\"@aws-amplify/datastore\");\nconst { USER, isNonModelConstructor, isModelConstructor } = datastore_1.utils;\nconst keysFromModel = model => Object.keys(model)\n .map(k => `\"${k}\"`)\n .join(', ');\nconst valuesFromModel = (model) => {\n const values = Object.values(model).map(prepareValueForDML);\n const paramaterized = values.map(() => '?').join(', ');\n return [paramaterized, values];\n};\nconst updateSet = model => {\n const values = [];\n const paramaterized = Object.entries(model)\n .filter(([k]) => k !== 'id')\n .map(([k, v]) => {\n values.push(prepareValueForDML(v));\n return `\"${k}\"=?`;\n })\n .join(', ');\n return [paramaterized, values];\n};\nfunction prepareValueForDML(value) {\n const scalarTypes = ['string', 'number', 'boolean'];\n const isScalarType = value === null || value === undefined || scalarTypes.includes(typeof value);\n if (isScalarType) {\n return value;\n }\n const 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}\nfunction 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 const _ = scalar;\n throw new Error(`unknown type ${scalar}`);\n }\n}\nexports.getSQLiteType = getSQLiteType;\nfunction generateSchemaStatements(schema) {\n return Object.keys(schema.namespaces).flatMap(namespaceName => {\n const namespace = schema.namespaces[namespaceName];\n const isUserModel = namespaceName === USER;\n return Object.values(namespace.models).map(model => modelCreateTableStatement(model, isUserModel));\n });\n}\nexports.generateSchemaStatements = generateSchemaStatements;\nconst implicitAuthFieldsForModel = (model) => {\n if (!model.attributes || !model.attributes.length) {\n return [];\n }\n const authRules = model.attributes.find(datastore_1.isModelAttributeAuth);\n if (!authRules) {\n return [];\n }\n const authFieldsForModel = authRules.properties.rules\n .filter((rule) => rule.ownerField || rule.groupsField)\n .map((rule) => rule.ownerField || rule.groupsField);\n return authFieldsForModel.filter((authField) => {\n const authFieldExplicitlyDefined = Object.values(model.fields).find((f) => f.name === authField);\n return !authFieldExplicitlyDefined;\n });\n};\nexports.implicitAuthFieldsForModel = implicitAuthFieldsForModel;\nfunction modelCreateTableStatement(model, userModel = false) {\n // implicitly defined auth fields, e.g., `owner`, `groupsField`, etc.\n const implicitAuthFields = (0, exports.implicitAuthFieldsForModel)(model);\n let fields = Object.values(model.fields).reduce((acc, field) => {\n if ((0, datastore_1.isGraphQLScalarType)(field.type)) {\n if (field.name === 'id') {\n return [...acc, '\"id\" PRIMARY KEY NOT NULL'];\n }\n let columnParam = `\"${field.name}\" ${getSQLiteType(field.type)}`;\n if (field.isRequired) {\n columnParam += ' NOT NULL';\n }\n return [...acc, `${columnParam}`];\n }\n if ((0, datastore_1.isModelFieldType)(field.type)) {\n let columnParam = `\"${field.name}\" TEXT`;\n // add targetName as well as field name for BELONGS_TO relations\n if ((0, datastore_1.isTargetNameAssociation)(field.association)) {\n // check if this field has been explicitly defined in the model\n const fkDefinedInModel = Object.values(model.fields).find((f) => 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 const required = field.isRequired ? ' NOT NULL' : '';\n columnParam += `, \"${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}`];\n }\n // default to TEXT\n let columnParam = `\"${field.name}\" TEXT`;\n if (field.isRequired) {\n columnParam += ' NOT NULL';\n }\n return [...acc, `${columnParam}`];\n }, []);\n implicitAuthFields.forEach((authField) => {\n fields.push(`${authField} TEXT`);\n });\n if (userModel) {\n fields = [\n ...fields,\n `\"_version\" INTEGER`,\n `\"_lastChangedAt\" INTEGER`,\n `\"_deleted\" INTEGER`,\n ];\n }\n const createTableStatement = `CREATE TABLE IF NOT EXISTS \"${model.name}\" (${fields.join(', ')});`;\n return createTableStatement;\n}\nexports.modelCreateTableStatement = modelCreateTableStatement;\nfunction modelInsertStatement(model, tableName) {\n const keys = keysFromModel(model);\n const [paramaterized, values] = valuesFromModel(model);\n const insertStatement = `INSERT INTO \"${tableName}\" (${keys}) VALUES (${paramaterized})`;\n return [insertStatement, values];\n}\nexports.modelInsertStatement = modelInsertStatement;\nfunction modelUpdateStatement(model, tableName) {\n const [paramaterized, values] = updateSet(model);\n const updateStatement = `UPDATE \"${tableName}\" SET ${paramaterized} WHERE id=?`;\n return [updateStatement, [...values, model.id]];\n}\nexports.modelUpdateStatement = modelUpdateStatement;\nfunction queryByIdStatement(id, tableName) {\n return [`SELECT * FROM \"${tableName}\" WHERE \"id\" = ?`, [id]];\n}\nexports.queryByIdStatement = queryByIdStatement;\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*/\nconst comparisonOperatorMap = {\n eq: '=',\n ne: '!=',\n le: '<=',\n lt: '<',\n ge: '>=',\n gt: '>',\n};\nconst logicalOperatorMap = {\n beginsWith: '= 1',\n contains: '> 0',\n notContains: '= 0',\n between: 'BETWEEN',\n};\n/**\n * If the given (operator, operand) indicate the need for a special `NULL` comparison,\n * that `WHERE` clause condition will be returned. If not special `NULL` handling is\n * needed, `null` will be returned, and the caller should construct the `WHERE`\n * clause component using the normal operator map(s) and parameterization.\n *\n * @param operator \"beginsWith\" | \"contains\" | \"notContains\" | \"between\"\n * | \"eq\" | \"ne\" | \"le\" | \"lt\" | \"ge\" | \"gt\"\n * @param operand any\n * @returns (string | null) The `WHERE` clause component or `null` if N/A.\n */\nfunction buildSpecialNullComparison(field, operator, operand) {\n if (operand === null || operand === undefined) {\n if (operator === 'eq') {\n return `\"${field}\" IS NULL`;\n }\n else if (operator === 'ne') {\n return `\"${field}\" IS NOT NULL`;\n }\n }\n // no special null handling required\n return null;\n}\nconst whereConditionFromPredicateObject = ({ field, operator, operand, }) => {\n const specialNullClause = buildSpecialNullComparison(field, operator, operand);\n if (specialNullClause) {\n return [specialNullClause, []];\n }\n const comparisonOperator = comparisonOperatorMap[operator];\n if (comparisonOperator) {\n return [`\"${field}\" ${comparisonOperator} ?`, [operand]];\n }\n const logicalOperatorKey = operator;\n const logicalOperator = logicalOperatorMap[logicalOperatorKey];\n let statement;\n if (logicalOperator) {\n let rightExp = [];\n switch (logicalOperatorKey) {\n case 'between':\n rightExp = operand; // operand is a 2-tuple\n statement = [\n `\"${field}\" ${logicalOperator} ${rightExp\n .map(_ => '?')\n .join(' AND ')}`,\n rightExp,\n ];\n break;\n case 'beginsWith':\n case 'contains':\n case 'notContains':\n statement = [`instr(\"${field}\", ?) ${logicalOperator}`, [operand]];\n break;\n default:\n const _ = 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 statement;\n }\n};\nexports.whereConditionFromPredicateObject = whereConditionFromPredicateObject;\nfunction whereClauseFromPredicate(predicate) {\n const result = [];\n const params = [];\n recurse(predicate, result, params);\n const whereClause = `WHERE ${result.join(' ')}`;\n return [whereClause, params];\n function recurse(predicate, result = [], params = []) {\n if ((0, datastore_1.isPredicateGroup)(predicate)) {\n const { type: groupType, predicates: groupPredicates } = predicate;\n let filterType = '';\n let 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 const _ = groupType;\n throw new Error(`Invalid ${groupType}`);\n }\n const groupResult = [];\n for (const p of groupPredicates) {\n recurse(p, groupResult, params);\n }\n result.push(`${isNegation ? 'NOT' : ''}(${groupResult.join(` ${filterType} `)})`);\n }\n else if ((0, datastore_1.isPredicateObj)(predicate)) {\n const [condition, conditionParams] = (0, exports.whereConditionFromPredicateObject)(predicate);\n result.push(condition);\n params.push(...conditionParams);\n }\n }\n}\nexports.whereClauseFromPredicate = whereClauseFromPredicate;\nconst sortDirectionMap = {\n ASCENDING: 'ASC',\n DESCENDING: 'DESC',\n};\nfunction orderByClauseFromSort(sortPredicate = []) {\n const orderByParts = sortPredicate.map(({ field, sortDirection }) => `\"${field}\" ${sortDirectionMap[sortDirection]}`);\n // We always sort by _rowid_ last\n orderByParts.push(`_rowid_ ${sortDirectionMap.ASCENDING}`);\n return `ORDER BY ${orderByParts.join(', ')}`;\n}\nexports.orderByClauseFromSort = orderByClauseFromSort;\nfunction limitClauseFromPagination(limit, page = 0) {\n const params = [limit];\n let clause = 'LIMIT ?';\n if (page) {\n const offset = limit * page;\n params.push(offset);\n clause += ' OFFSET ?';\n }\n return [clause, params];\n}\nexports.limitClauseFromPagination = limitClauseFromPagination;\nfunction queryAllStatement(tableName, predicate, sort, limit, page) {\n let statement = `SELECT * FROM \"${tableName}\"`;\n const params = [];\n if (predicate && predicate.predicates.length) {\n const [whereClause, whereParams] = whereClauseFromPredicate(predicate);\n statement += ` ${whereClause}`;\n params.push(...whereParams);\n }\n const orderByClause = orderByClauseFromSort(sort);\n statement += ` ${orderByClause}`;\n if (limit) {\n const [limitClause, limitParams] = limitClauseFromPagination(limit, page);\n statement += ` ${limitClause}`;\n params.push(...limitParams);\n }\n return [statement, params];\n}\nexports.queryAllStatement = queryAllStatement;\nfunction queryOneStatement(firstOrLast, tableName) {\n if (firstOrLast === datastore_1.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}\nexports.queryOneStatement = queryOneStatement;\nfunction deleteByIdStatement(id, tableName) {\n const deleteStatement = `DELETE FROM \"${tableName}\" WHERE \"id\"=?`;\n return [deleteStatement, [id]];\n}\nexports.deleteByIdStatement = deleteByIdStatement;\nfunction deleteByPredicateStatement(tableName, predicate) {\n let statement = `DELETE FROM \"${tableName}\"`;\n const params = [];\n if (predicate && predicate.predicates.length) {\n const [whereClause, whereParams] = whereClauseFromPredicate(predicate);\n statement += ` ${whereClause}`;\n params.push(...whereParams);\n }\n return [statement, params];\n}\nexports.deleteByPredicateStatement = deleteByPredicateStatement;\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DB_NAME = void 0;
3
5
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
6
  // SPDX-License-Identifier: Apache-2.0
5
7
  exports.DB_NAME = 'AmplifyDatastore';
6
- //# sourceMappingURL=constants.js.map
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../src/common/constants.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DB_NAME = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexports.DB_NAME = 'AmplifyDatastore';\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AACzB;AACA;AACA,OAAO,CAAC,OAAO,GAAG,kBAAkB;;"}
@@ -1,3 +1,4 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../src/common/types.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
@@ -1,8 +1,10 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SQLiteAdapter = void 0;
3
5
  const tslib_1 = require("tslib");
4
6
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
7
  // SPDX-License-Identifier: Apache-2.0
6
8
  const SQLiteAdapter_1 = tslib_1.__importDefault(require("./SQLiteAdapter/SQLiteAdapter"));
7
9
  exports.SQLiteAdapter = SQLiteAdapter_1.default;
8
- //# sourceMappingURL=index.js.map
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SQLiteAdapter = void 0;\nconst tslib_1 = require(\"tslib\");\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst SQLiteAdapter_1 = tslib_1.__importDefault(require(\"./SQLiteAdapter/SQLiteAdapter\"));\nexports.SQLiteAdapter = SQLiteAdapter_1.default;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC;AACA;AACA,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAC1F,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC,OAAO;;"}
@@ -1,7 +1,9 @@
1
+ import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter.mjs';
2
+ import ExpoSQLiteDatabase from './ExpoSQLiteDatabase.mjs';
3
+
1
4
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
5
  // SPDX-License-Identifier: Apache-2.0
3
- import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';
4
- import ExpoSQLiteDatabase from './ExpoSQLiteDatabase';
5
6
  const ExpoSQLiteAdapter = new CommonSQLiteAdapter(new ExpoSQLiteDatabase());
6
- export default ExpoSQLiteAdapter;
7
- //# sourceMappingURL=ExpoSQLiteAdapter.js.map
7
+
8
+ export { ExpoSQLiteAdapter as default };
9
+ //# sourceMappingURL=ExpoSQLiteAdapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoSQLiteAdapter.mjs","sources":["../../../src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';\nimport ExpoSQLiteDatabase from './ExpoSQLiteDatabase';\nconst ExpoSQLiteAdapter = new CommonSQLiteAdapter(new ExpoSQLiteDatabase());\nexport default ExpoSQLiteAdapter;\n"],"names":[],"mappings":";;;AAAA;AACA;AAGK,MAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,kBAAkB,EAAE;;;;"}
@@ -1,9 +1,10 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
1
  import { ConsoleLogger } from '@aws-amplify/core';
4
2
  import { deleteAsync, documentDirectory } from 'expo-file-system';
5
3
  import { openDatabase } from 'expo-sqlite';
6
- import { DB_NAME } from '../common/constants';
4
+ import { DB_NAME } from '../common/constants.mjs';
5
+
6
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ // SPDX-License-Identifier: Apache-2.0
7
8
  const logger = new ConsoleLogger('ExpoSQLiteDatabase');
8
9
  /*
9
10
 
@@ -190,5 +191,6 @@ class ExpoSQLiteDatabase {
190
191
  }
191
192
  }
192
193
  }
193
- export default ExpoSQLiteDatabase;
194
- //# sourceMappingURL=ExpoSQLiteDatabase.js.map
194
+
195
+ export { ExpoSQLiteDatabase as default };
196
+ //# sourceMappingURL=ExpoSQLiteDatabase.mjs.map