@aws-amplify/datastore-storage-adapter 1.2.13 → 1.2.14-unstable.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 (77) hide show
  1. package/ExpoSQLiteAdapter/index.js +7 -0
  2. package/SQLiteAdapter/index.js +7 -0
  3. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js +2502 -0
  4. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js.map +1 -0
  5. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js +2 -0
  6. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +1 -0
  7. package/dist/aws-amplify-datastore-storage-adapter.js +1179 -1151
  8. package/dist/aws-amplify-datastore-storage-adapter.js.map +1 -1
  9. package/dist/aws-amplify-datastore-storage-adapter.min.js +1 -1
  10. package/dist/aws-amplify-datastore-storage-adapter.min.js.map +1 -1
  11. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +3 -0
  12. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +10 -0
  13. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  14. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +17 -0
  15. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +362 -0
  16. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  17. package/lib/SQLiteAdapter/SQLiteAdapter.d.ts +3 -23
  18. package/lib/SQLiteAdapter/SQLiteAdapter.js +3 -582
  19. package/lib/SQLiteAdapter/SQLiteAdapter.js.map +1 -1
  20. package/lib/SQLiteAdapter/SQLiteDatabase.d.ts +8 -8
  21. package/lib/SQLiteAdapter/SQLiteDatabase.js +46 -42
  22. package/lib/SQLiteAdapter/SQLiteDatabase.js.map +1 -1
  23. package/lib/common/CommonSQLiteAdapter.d.ts +23 -0
  24. package/lib/common/CommonSQLiteAdapter.js +579 -0
  25. package/lib/common/CommonSQLiteAdapter.js.map +1 -0
  26. package/lib/{SQLiteAdapter → common}/SQLiteUtils.d.ts +3 -2
  27. package/lib/{SQLiteAdapter → common}/SQLiteUtils.js +26 -2
  28. package/lib/common/SQLiteUtils.js.map +1 -0
  29. package/lib/common/constants.d.ts +1 -0
  30. package/lib/common/constants.js +4 -0
  31. package/lib/common/constants.js.map +1 -0
  32. package/lib/common/types.d.ts +13 -0
  33. package/lib/common/types.js +3 -0
  34. package/lib/common/types.js.map +1 -0
  35. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +3 -0
  36. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +5 -0
  37. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  38. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +17 -0
  39. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +360 -0
  40. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  41. package/lib-esm/SQLiteAdapter/SQLiteAdapter.d.ts +3 -23
  42. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js +3 -582
  43. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js.map +1 -1
  44. package/lib-esm/SQLiteAdapter/SQLiteDatabase.d.ts +8 -8
  45. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js +46 -42
  46. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js.map +1 -1
  47. package/lib-esm/common/CommonSQLiteAdapter.d.ts +23 -0
  48. package/lib-esm/common/CommonSQLiteAdapter.js +577 -0
  49. package/lib-esm/common/CommonSQLiteAdapter.js.map +1 -0
  50. package/lib-esm/{SQLiteAdapter → common}/SQLiteUtils.d.ts +3 -2
  51. package/lib-esm/{SQLiteAdapter → common}/SQLiteUtils.js +24 -1
  52. package/lib-esm/common/SQLiteUtils.js.map +1 -0
  53. package/lib-esm/common/constants.d.ts +1 -0
  54. package/lib-esm/common/constants.js +2 -0
  55. package/lib-esm/common/constants.js.map +1 -0
  56. package/lib-esm/common/types.d.ts +13 -0
  57. package/lib-esm/common/types.js +1 -0
  58. package/lib-esm/common/types.js.map +1 -0
  59. package/package.json +7 -4
  60. package/src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts +8 -0
  61. package/src/ExpoSQLiteAdapter/ExpoSQLiteDatabase.ts +282 -0
  62. package/src/SQLiteAdapter/SQLiteAdapter.ts +5 -475
  63. package/src/SQLiteAdapter/SQLiteDatabase.ts +49 -53
  64. package/src/common/CommonSQLiteAdapter.ts +478 -0
  65. package/src/{SQLiteAdapter → common}/SQLiteUtils.ts +32 -3
  66. package/src/common/constants.ts +1 -0
  67. package/src/common/types.ts +29 -0
  68. package/webpack.config.dev.js +2 -0
  69. package/lib/SQLiteAdapter/SQLiteUtils.js.map +0 -1
  70. package/lib/SQLiteAdapter/types.d.ts +0 -2
  71. package/lib/SQLiteAdapter/types.js +0 -28
  72. package/lib/SQLiteAdapter/types.js.map +0 -1
  73. package/lib-esm/SQLiteAdapter/SQLiteUtils.js.map +0 -1
  74. package/lib-esm/SQLiteAdapter/types.d.ts +0 -2
  75. package/lib-esm/SQLiteAdapter/types.js +0 -25
  76. package/lib-esm/SQLiteAdapter/types.js.map +0 -1
  77. package/src/SQLiteAdapter/types.ts +0 -31
@@ -32,7 +32,6 @@ var __values = (this && this.__values) || function(o) {
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
34
  var datastore_1 = require("@aws-amplify/datastore");
35
- var types_1 = require("./types");
36
35
  var USER = datastore_1.utils.USER, isNonModelConstructor = datastore_1.utils.isNonModelConstructor, isModelConstructor = datastore_1.utils.isModelConstructor;
37
36
  var keysFromModel = function (model) {
38
37
  return Object.keys(model)
@@ -74,6 +73,31 @@ function prepareValueForDML(value) {
74
73
  }
75
74
  return "" + value;
76
75
  }
76
+ function getSQLiteType(scalar) {
77
+ switch (scalar) {
78
+ case 'Boolean':
79
+ case 'Int':
80
+ case 'AWSTimestamp':
81
+ return 'INTEGER';
82
+ case 'ID':
83
+ case 'String':
84
+ case 'AWSDate':
85
+ case 'AWSTime':
86
+ case 'AWSDateTime':
87
+ case 'AWSEmail':
88
+ case 'AWSJSON':
89
+ case 'AWSURL':
90
+ case 'AWSPhone':
91
+ case 'AWSIPAddress':
92
+ return 'TEXT';
93
+ case 'Float':
94
+ return 'REAL';
95
+ default:
96
+ var _ = scalar;
97
+ throw new Error("unknown type " + scalar);
98
+ }
99
+ }
100
+ exports.getSQLiteType = getSQLiteType;
77
101
  function generateSchemaStatements(schema) {
78
102
  return Object.keys(schema.namespaces).flatMap(function (namespaceName) {
79
103
  var namespace = schema.namespaces[namespaceName];
@@ -109,7 +133,7 @@ function modelCreateTableStatement(model, userModel) {
109
133
  if (field.name === 'id') {
110
134
  return acc + '"id" PRIMARY KEY NOT NULL';
111
135
  }
112
- var columnParam_1 = "\"" + field.name + "\" " + types_1.getSQLiteType(field.type);
136
+ var columnParam_1 = "\"" + field.name + "\" " + getSQLiteType(field.type);
113
137
  if (field.isRequired) {
114
138
  columnParam_1 += ' NOT NULL';
115
139
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLiteUtils.js","sourceRoot":"","sources":["../../src/common/SQLiteUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const DB_NAME = "AmplifyDatastore";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DB_NAME = 'AmplifyDatastore';
4
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;AAAa,QAAA,OAAO,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { PersistentModel } from '@aws-amplify/datastore';
2
+ export interface CommonSQLiteDatabase {
3
+ init(): Promise<void>;
4
+ createSchema(statements: string[]): Promise<void>;
5
+ clear(): Promise<void>;
6
+ get<T extends PersistentModel>(statement: string, params: (string | number)[]): Promise<T>;
7
+ getAll<T extends PersistentModel>(statement: string, params: (string | number)[]): Promise<T[]>;
8
+ save(statement: string, params: (string | number)[]): Promise<void>;
9
+ batchQuery<T = any>(queryParameterizedStatement: Set<ParameterizedStatement>): Promise<T[]>;
10
+ batchSave(saveParameterizedStatements: Set<ParameterizedStatement>, deleteParameterizedStatements?: Set<ParameterizedStatement>): Promise<void>;
11
+ selectAndDelete<T = any>(queryParameterizedStatement: ParameterizedStatement, deleteParameterizedStatement: ParameterizedStatement): Promise<T[]>;
12
+ }
13
+ export declare type ParameterizedStatement = [string, any[]];
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';
2
+ declare const ExpoSQLiteAdapter: CommonSQLiteAdapter;
3
+ export default ExpoSQLiteAdapter;
@@ -0,0 +1,5 @@
1
+ import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';
2
+ import ExpoSQLiteDatabase from './ExpoSQLiteDatabase';
3
+ var ExpoSQLiteAdapter = new CommonSQLiteAdapter(new ExpoSQLiteDatabase());
4
+ export default ExpoSQLiteAdapter;
5
+ //# sourceMappingURL=ExpoSQLiteAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoSQLiteAdapter.js","sourceRoot":"","sources":["../../src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,IAAM,iBAAiB,GAAwB,IAAI,mBAAmB,CACrE,IAAI,kBAAkB,EAAE,CACxB,CAAC;AAEF,eAAe,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;
@@ -0,0 +1,360 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ 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;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var __read = (this && this.__read) || function (o, n) {
38
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
39
+ if (!m) return o;
40
+ var i = m.call(o), r, ar = [], e;
41
+ try {
42
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
43
+ }
44
+ catch (error) { e = { error: error }; }
45
+ finally {
46
+ try {
47
+ if (r && !r.done && (m = i["return"])) m.call(i);
48
+ }
49
+ finally { if (e) throw e.error; }
50
+ }
51
+ return ar;
52
+ };
53
+ var __spread = (this && this.__spread) || function () {
54
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
55
+ return ar;
56
+ };
57
+ import { ConsoleLogger as Logger } from '@aws-amplify/core';
58
+ import { deleteAsync, documentDirectory } from 'expo-file-system';
59
+ import { openDatabase } from 'expo-sqlite';
60
+ import { DB_NAME } from '../common/constants';
61
+ var logger = new Logger('ExpoSQLiteDatabase');
62
+ /*
63
+
64
+ Note:
65
+ ExpoSQLite transaction error callbacks require returning a boolean value to indicate whether the
66
+ error was handled or not. Returning a true value indicates the error was handled and does not
67
+ rollback the whole transaction.
68
+
69
+ */
70
+ var ExpoSQLiteDatabase = /** @class */ (function () {
71
+ function ExpoSQLiteDatabase() {
72
+ }
73
+ ExpoSQLiteDatabase.prototype.init = function () {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ return __generator(this, function (_a) {
76
+ // only open database once.
77
+ if (!this.db) {
78
+ // As per expo docs version, description and size arguments are ignored,
79
+ // but are accepted by the function for compatibility with the WebSQL specification.
80
+ // Hence, we do not need those arguments.
81
+ this.db = openDatabase(DB_NAME);
82
+ }
83
+ return [2 /*return*/];
84
+ });
85
+ });
86
+ };
87
+ ExpoSQLiteDatabase.prototype.createSchema = function (statements) {
88
+ return this.executeStatements(statements);
89
+ };
90
+ ExpoSQLiteDatabase.prototype.clear = function () {
91
+ return __awaiter(this, void 0, void 0, function () {
92
+ var error_1;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ _a.trys.push([0, 3, , 4]);
97
+ logger.debug('Clearing database');
98
+ return [4 /*yield*/, this.closeDB()];
99
+ case 1:
100
+ _a.sent();
101
+ // delete database is not supported by expo-sqlite.
102
+ // Database file needs to be deleted using deleteAsync from expo-file-system
103
+ return [4 /*yield*/, deleteAsync(documentDirectory + "SQLite/" + DB_NAME)];
104
+ case 2:
105
+ // delete database is not supported by expo-sqlite.
106
+ // Database file needs to be deleted using deleteAsync from expo-file-system
107
+ _a.sent();
108
+ logger.debug('Database cleared');
109
+ return [3 /*break*/, 4];
110
+ case 3:
111
+ error_1 = _a.sent();
112
+ logger.warn('Error clearing the database.', error_1);
113
+ // open database if it was closed earlier and this.db was set to undefined.
114
+ this.init();
115
+ return [3 /*break*/, 4];
116
+ case 4: return [2 /*return*/];
117
+ }
118
+ });
119
+ });
120
+ };
121
+ ExpoSQLiteDatabase.prototype.get = function (statement, params) {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ var results;
124
+ return __generator(this, function (_a) {
125
+ switch (_a.label) {
126
+ case 0: return [4 /*yield*/, this.getAll(statement, params)];
127
+ case 1:
128
+ results = _a.sent();
129
+ return [2 /*return*/, results[0]];
130
+ }
131
+ });
132
+ });
133
+ };
134
+ ExpoSQLiteDatabase.prototype.getAll = function (statement, params) {
135
+ var _this = this;
136
+ return new Promise(function (resolve, reject) {
137
+ _this.db.readTransaction(function (transaction) {
138
+ transaction.executeSql(statement, params, function (_, result) {
139
+ resolve(result.rows._array || []);
140
+ }, function (_, error) {
141
+ reject(error);
142
+ logger.warn(error);
143
+ return true;
144
+ });
145
+ });
146
+ });
147
+ };
148
+ ExpoSQLiteDatabase.prototype.save = function (statement, params) {
149
+ var _this = this;
150
+ return new Promise(function (resolve, reject) {
151
+ _this.db.transaction(function (transaction) {
152
+ transaction.executeSql(statement, params, function () {
153
+ resolve(null);
154
+ }, function (_, error) {
155
+ reject(error);
156
+ logger.warn(error);
157
+ return true;
158
+ });
159
+ });
160
+ });
161
+ };
162
+ ExpoSQLiteDatabase.prototype.batchQuery = function (queryParameterizedStatements) {
163
+ var _this = this;
164
+ if (queryParameterizedStatements === void 0) { queryParameterizedStatements = new Set(); }
165
+ return new Promise(function (resolveTransaction, rejectTransaction) {
166
+ _this.db.transaction(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
167
+ var results, error_2;
168
+ return __generator(this, function (_a) {
169
+ switch (_a.label) {
170
+ case 0:
171
+ _a.trys.push([0, 2, , 3]);
172
+ return [4 /*yield*/, Promise.all(__spread(queryParameterizedStatements).map(function (_a) {
173
+ var _b = __read(_a, 2), statement = _b[0], params = _b[1];
174
+ return new Promise(function (resolve, reject) {
175
+ transaction.executeSql(statement, params, function (_, result) {
176
+ resolve(result.rows._array[0]);
177
+ }, function (_, error) {
178
+ reject(error);
179
+ logger.warn(error);
180
+ return true;
181
+ });
182
+ });
183
+ }))];
184
+ case 1:
185
+ results = _a.sent();
186
+ resolveTransaction(results);
187
+ return [3 /*break*/, 3];
188
+ case 2:
189
+ error_2 = _a.sent();
190
+ rejectTransaction(error_2);
191
+ logger.warn(error_2);
192
+ return [3 /*break*/, 3];
193
+ case 3: return [2 /*return*/];
194
+ }
195
+ });
196
+ }); });
197
+ });
198
+ };
199
+ ExpoSQLiteDatabase.prototype.batchSave = function (saveParameterizedStatements, deleteParameterizedStatements) {
200
+ var _this = this;
201
+ if (saveParameterizedStatements === void 0) { saveParameterizedStatements = new Set(); }
202
+ return new Promise(function (resolveTransaction, rejectTransaction) {
203
+ _this.db.transaction(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
204
+ var error_3;
205
+ return __generator(this, function (_a) {
206
+ switch (_a.label) {
207
+ case 0:
208
+ _a.trys.push([0, 4, , 5]);
209
+ // await for all sql statements promises to resolve
210
+ return [4 /*yield*/, Promise.all(__spread(saveParameterizedStatements).map(function (_a) {
211
+ var _b = __read(_a, 2), statement = _b[0], params = _b[1];
212
+ return new Promise(function (resolve, reject) {
213
+ transaction.executeSql(statement, params, function () {
214
+ resolve(null);
215
+ }, function (_, error) {
216
+ reject(error);
217
+ logger.warn(error);
218
+ return true;
219
+ });
220
+ });
221
+ }))];
222
+ case 1:
223
+ // await for all sql statements promises to resolve
224
+ _a.sent();
225
+ if (!deleteParameterizedStatements) return [3 /*break*/, 3];
226
+ return [4 /*yield*/, Promise.all(__spread(deleteParameterizedStatements).map(function (_a) {
227
+ var _b = __read(_a, 2), statement = _b[0], params = _b[1];
228
+ return new Promise(function (resolve, reject) {
229
+ return transaction.executeSql(statement, params, function () {
230
+ resolve(null);
231
+ }, function (_, error) {
232
+ reject(error);
233
+ logger.warn(error);
234
+ return true;
235
+ });
236
+ });
237
+ }))];
238
+ case 2:
239
+ _a.sent();
240
+ _a.label = 3;
241
+ case 3:
242
+ resolveTransaction(null);
243
+ return [3 /*break*/, 5];
244
+ case 4:
245
+ error_3 = _a.sent();
246
+ rejectTransaction(error_3);
247
+ logger.warn(error_3);
248
+ return [3 /*break*/, 5];
249
+ case 5: return [2 /*return*/];
250
+ }
251
+ });
252
+ }); });
253
+ });
254
+ };
255
+ ExpoSQLiteDatabase.prototype.selectAndDelete = function (queryParameterizedStatement, deleteParameterizedStatement) {
256
+ var _this = this;
257
+ var _a = __read(queryParameterizedStatement, 2), queryStatement = _a[0], queryParams = _a[1];
258
+ var _b = __read(deleteParameterizedStatement, 2), deleteStatement = _b[0], deleteParams = _b[1];
259
+ return new Promise(function (resolveTransaction, rejectTransaction) {
260
+ _this.db.transaction(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
261
+ var result, error_4;
262
+ return __generator(this, function (_a) {
263
+ switch (_a.label) {
264
+ case 0:
265
+ _a.trys.push([0, 3, , 4]);
266
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
267
+ transaction.executeSql(queryStatement, queryParams, function (_, result) {
268
+ resolve(result.rows._array || []);
269
+ }, function (_, error) {
270
+ reject(error);
271
+ logger.warn(error);
272
+ return true;
273
+ });
274
+ })];
275
+ case 1:
276
+ result = _a.sent();
277
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
278
+ transaction.executeSql(deleteStatement, deleteParams, function () {
279
+ resolve(null);
280
+ }, function (_, error) {
281
+ reject(error);
282
+ logger.warn(error);
283
+ return true;
284
+ });
285
+ })];
286
+ case 2:
287
+ _a.sent();
288
+ resolveTransaction(result);
289
+ return [3 /*break*/, 4];
290
+ case 3:
291
+ error_4 = _a.sent();
292
+ rejectTransaction(error_4);
293
+ logger.warn(error_4);
294
+ return [3 /*break*/, 4];
295
+ case 4: return [2 /*return*/];
296
+ }
297
+ });
298
+ }); });
299
+ });
300
+ };
301
+ ExpoSQLiteDatabase.prototype.executeStatements = function (statements) {
302
+ var _this = this;
303
+ return new Promise(function (resolveTransaction, rejectTransaction) {
304
+ _this.db.transaction(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
305
+ var error_5;
306
+ return __generator(this, function (_a) {
307
+ switch (_a.label) {
308
+ case 0:
309
+ _a.trys.push([0, 2, , 3]);
310
+ return [4 /*yield*/, Promise.all(statements.map(function (statement) {
311
+ return new Promise(function (resolve, reject) {
312
+ transaction.executeSql(statement, [], function () {
313
+ resolve(null);
314
+ }, function (_, error) {
315
+ reject(error);
316
+ return true;
317
+ });
318
+ });
319
+ }))];
320
+ case 1:
321
+ _a.sent();
322
+ resolveTransaction(null);
323
+ return [3 /*break*/, 3];
324
+ case 2:
325
+ error_5 = _a.sent();
326
+ rejectTransaction(error_5);
327
+ logger.warn(error_5);
328
+ return [3 /*break*/, 3];
329
+ case 3: return [2 /*return*/];
330
+ }
331
+ });
332
+ }); });
333
+ });
334
+ };
335
+ ExpoSQLiteDatabase.prototype.closeDB = function () {
336
+ return __awaiter(this, void 0, void 0, function () {
337
+ return __generator(this, function (_a) {
338
+ switch (_a.label) {
339
+ case 0:
340
+ if (!this.db) return [3 /*break*/, 2];
341
+ logger.debug('Closing Database');
342
+ // closing database is not supported by expo-sqlite.
343
+ // Workaround is to access the private db variable and call the close() method.
344
+ return [4 /*yield*/, this.db._db.close()];
345
+ case 1:
346
+ // closing database is not supported by expo-sqlite.
347
+ // Workaround is to access the private db variable and call the close() method.
348
+ _a.sent();
349
+ logger.debug('Database closed');
350
+ this.db = undefined;
351
+ _a.label = 2;
352
+ case 2: return [2 /*return*/];
353
+ }
354
+ });
355
+ });
356
+ };
357
+ return ExpoSQLiteDatabase;
358
+ }());
359
+ export default ExpoSQLiteDatabase;
360
+ //# sourceMappingURL=ExpoSQLiteDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoSQLiteDatabase.js","sourceRoot":"","sources":["../../src/ExpoSQLiteAdapter/ExpoSQLiteDatabase.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,3 @@
1
- import { StorageAdapter, ModelInstanceCreator, InternalSchema, ModelInstanceMetadata, ModelPredicate, NamespaceResolver, OpType, PaginationInput, PersistentModel, PersistentModelConstructor, QueryOne } from '@aws-amplify/datastore';
2
- export declare class SQLiteAdapter implements StorageAdapter {
3
- private schema;
4
- private namespaceResolver;
5
- private modelInstanceCreator;
6
- private getModelConstructorByModelName;
7
- private db;
8
- private initPromise;
9
- private resolve;
10
- private reject;
11
- setUp(theSchema: InternalSchema, namespaceResolver: NamespaceResolver, modelInstanceCreator: ModelInstanceCreator, getModelConstructorByModelName: (namsespaceName: string, modelName: string) => PersistentModelConstructor<any>): Promise<void>;
12
- clear(): Promise<void>;
13
- save<T extends PersistentModel>(model: T, condition?: ModelPredicate<T>): Promise<[T, OpType.INSERT | OpType.UPDATE][]>;
14
- private load;
15
- query<T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, predicate?: ModelPredicate<T>, pagination?: PaginationInput<T>): Promise<T[]>;
16
- private getById;
17
- private idFromPredicate;
18
- queryOne<T extends PersistentModel>(modelConstructor: PersistentModelConstructor<T>, firstOrLast?: QueryOne): Promise<T | undefined>;
19
- delete<T extends PersistentModel>(modelOrModelConstructor: T | PersistentModelConstructor<T>, condition?: ModelPredicate<T>): Promise<[T[], T[]]>;
20
- batchSave<T extends PersistentModel>(modelConstructor: PersistentModelConstructor<any>, items: ModelInstanceMetadata[]): Promise<[T, OpType][]>;
21
- }
22
- declare const _default: SQLiteAdapter;
23
- export default _default;
1
+ import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';
2
+ declare const SQLiteAdapter: CommonSQLiteAdapter;
3
+ export default SQLiteAdapter;