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