@aws-amplify/datastore-storage-adapter 1.2.13 → 1.2.14-unstable.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/ExpoSQLiteAdapter/index.js +7 -0
  2. package/SQLiteAdapter/index.js +7 -0
  3. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js +2502 -0
  4. package/dist/aws-amplify-datastore-sqlite-adapter-expo.js.map +1 -0
  5. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js +2 -0
  6. package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +1 -0
  7. package/dist/aws-amplify-datastore-storage-adapter.js +1179 -1151
  8. package/dist/aws-amplify-datastore-storage-adapter.js.map +1 -1
  9. package/dist/aws-amplify-datastore-storage-adapter.min.js +1 -1
  10. package/dist/aws-amplify-datastore-storage-adapter.min.js.map +1 -1
  11. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +3 -0
  12. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +10 -0
  13. package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  14. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +17 -0
  15. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +362 -0
  16. package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  17. package/lib/SQLiteAdapter/SQLiteAdapter.d.ts +3 -23
  18. package/lib/SQLiteAdapter/SQLiteAdapter.js +3 -582
  19. package/lib/SQLiteAdapter/SQLiteAdapter.js.map +1 -1
  20. package/lib/SQLiteAdapter/SQLiteDatabase.d.ts +8 -8
  21. package/lib/SQLiteAdapter/SQLiteDatabase.js +46 -42
  22. package/lib/SQLiteAdapter/SQLiteDatabase.js.map +1 -1
  23. package/lib/common/CommonSQLiteAdapter.d.ts +23 -0
  24. package/lib/common/CommonSQLiteAdapter.js +579 -0
  25. package/lib/common/CommonSQLiteAdapter.js.map +1 -0
  26. package/lib/{SQLiteAdapter → common}/SQLiteUtils.d.ts +3 -2
  27. package/lib/{SQLiteAdapter → common}/SQLiteUtils.js +26 -2
  28. package/lib/common/SQLiteUtils.js.map +1 -0
  29. package/lib/common/constants.d.ts +1 -0
  30. package/lib/common/constants.js +4 -0
  31. package/lib/common/constants.js.map +1 -0
  32. package/lib/common/types.d.ts +13 -0
  33. package/lib/common/types.js +3 -0
  34. package/lib/common/types.js.map +1 -0
  35. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +3 -0
  36. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +5 -0
  37. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
  38. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +17 -0
  39. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +360 -0
  40. package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
  41. package/lib-esm/SQLiteAdapter/SQLiteAdapter.d.ts +3 -23
  42. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js +3 -582
  43. package/lib-esm/SQLiteAdapter/SQLiteAdapter.js.map +1 -1
  44. package/lib-esm/SQLiteAdapter/SQLiteDatabase.d.ts +8 -8
  45. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js +46 -42
  46. package/lib-esm/SQLiteAdapter/SQLiteDatabase.js.map +1 -1
  47. package/lib-esm/common/CommonSQLiteAdapter.d.ts +23 -0
  48. package/lib-esm/common/CommonSQLiteAdapter.js +577 -0
  49. package/lib-esm/common/CommonSQLiteAdapter.js.map +1 -0
  50. package/lib-esm/{SQLiteAdapter → common}/SQLiteUtils.d.ts +3 -2
  51. package/lib-esm/{SQLiteAdapter → common}/SQLiteUtils.js +24 -1
  52. package/lib-esm/common/SQLiteUtils.js.map +1 -0
  53. package/lib-esm/common/constants.d.ts +1 -0
  54. package/lib-esm/common/constants.js +2 -0
  55. package/lib-esm/common/constants.js.map +1 -0
  56. package/lib-esm/common/types.d.ts +13 -0
  57. package/lib-esm/common/types.js +1 -0
  58. package/lib-esm/common/types.js.map +1 -0
  59. package/package.json +7 -4
  60. package/src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts +8 -0
  61. package/src/ExpoSQLiteAdapter/ExpoSQLiteDatabase.ts +282 -0
  62. package/src/SQLiteAdapter/SQLiteAdapter.ts +5 -475
  63. package/src/SQLiteAdapter/SQLiteDatabase.ts +49 -53
  64. package/src/common/CommonSQLiteAdapter.ts +478 -0
  65. package/src/{SQLiteAdapter → common}/SQLiteUtils.ts +32 -3
  66. package/src/common/constants.ts +1 -0
  67. package/src/common/types.ts +29 -0
  68. package/webpack.config.dev.js +2 -0
  69. package/lib/SQLiteAdapter/SQLiteUtils.js.map +0 -1
  70. package/lib/SQLiteAdapter/types.d.ts +0 -2
  71. package/lib/SQLiteAdapter/types.js +0 -28
  72. package/lib/SQLiteAdapter/types.js.map +0 -1
  73. package/lib-esm/SQLiteAdapter/SQLiteUtils.js.map +0 -1
  74. package/lib-esm/SQLiteAdapter/types.d.ts +0 -2
  75. package/lib-esm/SQLiteAdapter/types.js +0 -25
  76. package/lib-esm/SQLiteAdapter/types.js.map +0 -1
  77. package/src/SQLiteAdapter/types.ts +0 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLiteUtils.js","sourceRoot":"","sources":["../../src/common/SQLiteUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const DB_NAME = "AmplifyDatastore";
@@ -0,0 +1,2 @@
1
+ export var DB_NAME = 'AmplifyDatastore';
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,OAAO,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { PersistentModel } from '@aws-amplify/datastore';
2
+ export interface CommonSQLiteDatabase {
3
+ init(): Promise<void>;
4
+ createSchema(statements: string[]): Promise<void>;
5
+ clear(): Promise<void>;
6
+ get<T extends PersistentModel>(statement: string, params: (string | number)[]): Promise<T>;
7
+ getAll<T extends PersistentModel>(statement: string, params: (string | number)[]): Promise<T[]>;
8
+ save(statement: string, params: (string | number)[]): Promise<void>;
9
+ batchQuery<T = any>(queryParameterizedStatement: Set<ParameterizedStatement>): Promise<T[]>;
10
+ batchSave(saveParameterizedStatements: Set<ParameterizedStatement>, deleteParameterizedStatements?: Set<ParameterizedStatement>): Promise<void>;
11
+ selectAndDelete<T = any>(queryParameterizedStatement: ParameterizedStatement, deleteParameterizedStatement: ParameterizedStatement): Promise<T[]>;
12
+ }
13
+ export declare type ParameterizedStatement = [string, any[]];
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/datastore-storage-adapter",
3
- "version": "1.2.13",
3
+ "version": "1.2.14-unstable.1+a8ed3c2fa",
4
4
  "description": "SQLite storage adapter for Amplify DataStore ",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib-esm/index.js",
@@ -34,8 +34,11 @@
34
34
  },
35
35
  "homepage": "https://aws-amplify.github.io/",
36
36
  "devDependencies": {
37
- "@aws-amplify/core": "4.5.3",
38
- "@aws-amplify/datastore": "3.11.0",
37
+ "@aws-amplify/core": "4.5.4-unstable.1+a8ed3c2fa",
38
+ "@aws-amplify/datastore": "3.11.1-unstable.1+a8ed3c2fa",
39
+ "@types/react-native-sqlite-storage": "5.0.1",
40
+ "expo-file-system": "13.1.4",
41
+ "expo-sqlite": "10.1.0",
39
42
  "react-native-sqlite-storage": "5.0.0",
40
43
  "sqlite3": "^5.0.2"
41
44
  },
@@ -89,5 +92,5 @@
89
92
  "lib-esm"
90
93
  ]
91
94
  },
92
- "gitHead": "ce9c595fb317302fe7988f6be9c63adae1e12fd4"
95
+ "gitHead": "a8ed3c2fad0c780c8782e1729414afd51ff6b155"
93
96
  }
@@ -0,0 +1,8 @@
1
+ import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';
2
+ import ExpoSQLiteDatabase from './ExpoSQLiteDatabase';
3
+
4
+ const ExpoSQLiteAdapter: CommonSQLiteAdapter = new CommonSQLiteAdapter(
5
+ new ExpoSQLiteDatabase()
6
+ );
7
+
8
+ export default ExpoSQLiteAdapter;
@@ -0,0 +1,282 @@
1
+ import { ConsoleLogger as Logger } from '@aws-amplify/core';
2
+ import { PersistentModel } from '@aws-amplify/datastore';
3
+ import { deleteAsync, documentDirectory } from 'expo-file-system';
4
+ import { openDatabase, WebSQLDatabase } from 'expo-sqlite';
5
+ import { DB_NAME } from '../common/constants';
6
+ import { CommonSQLiteDatabase, ParameterizedStatement } from '../common/types';
7
+
8
+ const logger = new Logger('ExpoSQLiteDatabase');
9
+
10
+ /*
11
+
12
+ Note:
13
+ ExpoSQLite transaction error callbacks require returning a boolean value to indicate whether the
14
+ error was handled or not. Returning a true value indicates the error was handled and does not
15
+ rollback the whole transaction.
16
+
17
+ */
18
+
19
+ class ExpoSQLiteDatabase implements CommonSQLiteDatabase {
20
+ private db: WebSQLDatabase;
21
+
22
+ public async init(): Promise<void> {
23
+ // only open database once.
24
+
25
+ if (!this.db) {
26
+ // As per expo docs version, description and size arguments are ignored,
27
+ // but are accepted by the function for compatibility with the WebSQL specification.
28
+ // Hence, we do not need those arguments.
29
+ this.db = openDatabase(DB_NAME);
30
+ }
31
+ }
32
+
33
+ public createSchema(statements: string[]): Promise<void> {
34
+ return this.executeStatements(statements);
35
+ }
36
+
37
+ public async clear(): Promise<void> {
38
+ try {
39
+ logger.debug('Clearing database');
40
+ await this.closeDB();
41
+ // delete database is not supported by expo-sqlite.
42
+ // Database file needs to be deleted using deleteAsync from expo-file-system
43
+ await deleteAsync(`${documentDirectory}SQLite/${DB_NAME}`);
44
+ logger.debug('Database cleared');
45
+ } catch (error) {
46
+ logger.warn('Error clearing the database.', error);
47
+ // open database if it was closed earlier and this.db was set to undefined.
48
+ this.init();
49
+ }
50
+ }
51
+
52
+ public async get<T extends PersistentModel>(
53
+ statement: string,
54
+ params: (string | number)[]
55
+ ): Promise<T> {
56
+ const results: T[] = await this.getAll(statement, params);
57
+ return results[0];
58
+ }
59
+
60
+ public getAll<T extends PersistentModel>(
61
+ statement: string,
62
+ params: (string | number)[]
63
+ ): Promise<T[]> {
64
+ return new Promise((resolve, reject) => {
65
+ this.db.readTransaction(transaction => {
66
+ transaction.executeSql(
67
+ statement,
68
+ params,
69
+ (_, result) => {
70
+ resolve(result.rows._array || []);
71
+ },
72
+ (_, error) => {
73
+ reject(error);
74
+ logger.warn(error);
75
+ return true;
76
+ }
77
+ );
78
+ });
79
+ });
80
+ }
81
+
82
+ public save(statement: string, params: (string | number)[]): Promise<void> {
83
+ return new Promise((resolve, reject) => {
84
+ this.db.transaction(transaction => {
85
+ transaction.executeSql(
86
+ statement,
87
+ params,
88
+ () => {
89
+ resolve(null);
90
+ },
91
+ (_, error) => {
92
+ reject(error);
93
+ logger.warn(error);
94
+ return true;
95
+ }
96
+ );
97
+ });
98
+ });
99
+ }
100
+
101
+ public batchQuery<T = any>(
102
+ queryParameterizedStatements: Set<ParameterizedStatement> = new Set()
103
+ ): Promise<T[]> {
104
+ return new Promise((resolveTransaction, rejectTransaction) => {
105
+ this.db.transaction(async transaction => {
106
+ try {
107
+ const results: any[] = await Promise.all(
108
+ [...queryParameterizedStatements].map(
109
+ ([statement, params]) =>
110
+ new Promise((resolve, reject) => {
111
+ transaction.executeSql(
112
+ statement,
113
+ params,
114
+ (_, result) => {
115
+ resolve(result.rows._array[0]);
116
+ },
117
+ (_, error) => {
118
+ reject(error);
119
+ logger.warn(error);
120
+ return true;
121
+ }
122
+ );
123
+ })
124
+ )
125
+ );
126
+ resolveTransaction(results);
127
+ } catch (error) {
128
+ rejectTransaction(error);
129
+ logger.warn(error);
130
+ }
131
+ });
132
+ });
133
+ }
134
+
135
+ public batchSave(
136
+ saveParameterizedStatements: Set<ParameterizedStatement> = new Set(),
137
+ deleteParameterizedStatements?: Set<ParameterizedStatement>
138
+ ): Promise<void> {
139
+ return new Promise((resolveTransaction, rejectTransaction) => {
140
+ this.db.transaction(async transaction => {
141
+ try {
142
+ // await for all sql statements promises to resolve
143
+ await Promise.all(
144
+ [...saveParameterizedStatements].map(
145
+ ([statement, params]) =>
146
+ new Promise((resolve, reject) => {
147
+ transaction.executeSql(
148
+ statement,
149
+ params,
150
+ () => {
151
+ resolve(null);
152
+ },
153
+ (_, error) => {
154
+ reject(error);
155
+ logger.warn(error);
156
+ return true;
157
+ }
158
+ );
159
+ })
160
+ )
161
+ );
162
+ if (deleteParameterizedStatements) {
163
+ await Promise.all(
164
+ [...deleteParameterizedStatements].map(
165
+ ([statement, params]) =>
166
+ new Promise((resolve, reject) =>
167
+ transaction.executeSql(
168
+ statement,
169
+ params,
170
+ () => {
171
+ resolve(null);
172
+ },
173
+ (_, error) => {
174
+ reject(error);
175
+ logger.warn(error);
176
+ return true;
177
+ }
178
+ )
179
+ )
180
+ )
181
+ );
182
+ }
183
+ resolveTransaction(null);
184
+ } catch (error) {
185
+ rejectTransaction(error);
186
+ logger.warn(error);
187
+ }
188
+ });
189
+ });
190
+ }
191
+
192
+ public selectAndDelete<T = any>(
193
+ queryParameterizedStatement: ParameterizedStatement,
194
+ deleteParameterizedStatement: ParameterizedStatement
195
+ ): Promise<T[]> {
196
+ const [queryStatement, queryParams] = queryParameterizedStatement;
197
+ const [deleteStatement, deleteParams] = deleteParameterizedStatement;
198
+
199
+ return new Promise((resolveTransaction, rejectTransaction) => {
200
+ this.db.transaction(async transaction => {
201
+ try {
202
+ const result: T[] = await new Promise((resolve, reject) => {
203
+ transaction.executeSql(
204
+ queryStatement,
205
+ queryParams,
206
+ (_, result) => {
207
+ resolve(result.rows._array || []);
208
+ },
209
+ (_, error) => {
210
+ reject(error);
211
+ logger.warn(error);
212
+ return true;
213
+ }
214
+ );
215
+ });
216
+ await new Promise((resolve, reject) => {
217
+ transaction.executeSql(
218
+ deleteStatement,
219
+ deleteParams,
220
+ () => {
221
+ resolve(null);
222
+ },
223
+ (_, error) => {
224
+ reject(error);
225
+ logger.warn(error);
226
+ return true;
227
+ }
228
+ );
229
+ });
230
+ resolveTransaction(result);
231
+ } catch (error) {
232
+ rejectTransaction(error);
233
+ logger.warn(error);
234
+ }
235
+ });
236
+ });
237
+ }
238
+
239
+ private executeStatements(statements: string[]): Promise<void> {
240
+ return new Promise((resolveTransaction, rejectTransaction) => {
241
+ this.db.transaction(async transaction => {
242
+ try {
243
+ await Promise.all(
244
+ statements.map(
245
+ statement =>
246
+ new Promise((resolve, reject) => {
247
+ transaction.executeSql(
248
+ statement,
249
+ [],
250
+ () => {
251
+ resolve(null);
252
+ },
253
+ (_, error) => {
254
+ reject(error);
255
+ return true;
256
+ }
257
+ );
258
+ })
259
+ )
260
+ );
261
+ resolveTransaction(null);
262
+ } catch (error) {
263
+ rejectTransaction(error);
264
+ logger.warn(error);
265
+ }
266
+ });
267
+ });
268
+ }
269
+
270
+ private async closeDB() {
271
+ if (this.db) {
272
+ logger.debug('Closing Database');
273
+ // closing database is not supported by expo-sqlite.
274
+ // Workaround is to access the private db variable and call the close() method.
275
+ await (this.db as any)._db.close();
276
+ logger.debug('Database closed');
277
+ this.db = undefined;
278
+ }
279
+ }
280
+ }
281
+
282
+ export default ExpoSQLiteDatabase;