@nativescript-community/sqlite 3.4.0

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 (48) hide show
  1. package/CHANGELOG.md +219 -0
  2. package/LICENSE +201 -0
  3. package/README.md +30 -0
  4. package/before-prepare.js.map +1 -0
  5. package/nanosql/index.d.ts +39 -0
  6. package/nanosql/index.js +92 -0
  7. package/nanosql/index.js.map +1 -0
  8. package/package.json +40 -0
  9. package/platforms/android/AndroidManifest.xml +8 -0
  10. package/platforms/android/README.md +9 -0
  11. package/platforms/android/include.gradle +11 -0
  12. package/platforms/android/java/com/akylas/sqlite/WorkersContext.java +20 -0
  13. package/platforms/android/native-api-usage.json +5 -0
  14. package/platforms/ios/Podfile +1 -0
  15. package/postinstall.d.ts +0 -0
  16. package/postinstall.js +2 -0
  17. package/postinstall.js.map +1 -0
  18. package/preuninstall.d.ts +0 -0
  19. package/preuninstall.js +2 -0
  20. package/preuninstall.js.map +1 -0
  21. package/scripts/before-prepare.d.ts +0 -0
  22. package/scripts/before-prepare.js +3 -0
  23. package/scripts/before-prepare.js.map +1 -0
  24. package/sqlite.android.d.ts +10 -0
  25. package/sqlite.android.js +36 -0
  26. package/sqlite.android.js.map +1 -0
  27. package/sqlite.common.d.ts +27 -0
  28. package/sqlite.common.js +79 -0
  29. package/sqlite.common.js.map +1 -0
  30. package/sqlite.d.ts +1 -0
  31. package/sqlite.ios.d.ts +30 -0
  32. package/sqlite.ios.js +215 -0
  33. package/sqlite.ios.js.map +1 -0
  34. package/sqlitedatabase.android.d.ts +67 -0
  35. package/sqlitedatabase.android.js +269 -0
  36. package/sqlitedatabase.android.js.map +1 -0
  37. package/typeorm/NativescriptDriver.d.ts +42 -0
  38. package/typeorm/NativescriptDriver.js +72 -0
  39. package/typeorm/NativescriptDriver.js.map +1 -0
  40. package/typeorm/NativescriptQueryRunner.d.ts +15 -0
  41. package/typeorm/NativescriptQueryRunner.js +42 -0
  42. package/typeorm/NativescriptQueryRunner.js.map +1 -0
  43. package/typeorm/index.d.ts +7 -0
  44. package/typeorm/index.js +21 -0
  45. package/typeorm/index.js.map +1 -0
  46. package/worker.d.ts +1 -0
  47. package/worker.js +36 -0
  48. package/worker.js.map +1 -0
@@ -0,0 +1,269 @@
1
+ import { paramsToStringArray, throwError } from './sqlite.common';
2
+ export function byteArrayToBuffer(value) {
3
+ if (!value) {
4
+ return null;
5
+ }
6
+ const length = value.length;
7
+ const ret = new Uint8Array(length);
8
+ const isString = typeof value === 'string';
9
+ for (let i = 0; i < length; i++) {
10
+ ret[i] = isString ? value.charCodeAt(i) : value[i];
11
+ }
12
+ return ret;
13
+ }
14
+ const dataFromCursor = (cursor, transformBlobs) => {
15
+ const colCount = cursor.getColumnCount();
16
+ const data = {};
17
+ for (let i = 0; i < colCount; i++) {
18
+ const type = cursor.getType(i);
19
+ const name = cursor.getColumnName(i);
20
+ switch (type) {
21
+ case android.database.Cursor.FIELD_TYPE_INTEGER:
22
+ data[name] = cursor.getDouble(i);
23
+ break;
24
+ case android.database.Cursor.FIELD_TYPE_FLOAT:
25
+ data[name] = cursor.getDouble(i);
26
+ break;
27
+ case android.database.Cursor.FIELD_TYPE_STRING:
28
+ data[name] = cursor.getString(i);
29
+ break;
30
+ case android.database.Cursor.FIELD_TYPE_BLOB:
31
+ data[name] = transformBlobs ? byteArrayToBuffer(cursor.getBlob(i)) : cursor.getBlob(i);
32
+ break;
33
+ case android.database.Cursor.FIELD_TYPE_NULL:
34
+ data[name] = null;
35
+ break;
36
+ default:
37
+ throwError(`unknown.type: ${type}`);
38
+ }
39
+ }
40
+ return data;
41
+ };
42
+ const arrayFromCursor = (cursor, transformBlobs) => {
43
+ const colCount = cursor.getColumnCount();
44
+ const data = [];
45
+ for (let i = 0; i < colCount; i++) {
46
+ const type = cursor.getType(i);
47
+ switch (type) {
48
+ case android.database.Cursor.FIELD_TYPE_NULL:
49
+ data.push(null);
50
+ break;
51
+ case android.database.Cursor.FIELD_TYPE_STRING:
52
+ data.push(cursor.getString(i));
53
+ break;
54
+ case android.database.Cursor.FIELD_TYPE_FLOAT:
55
+ data.push(cursor.getDouble(i));
56
+ break;
57
+ case android.database.Cursor.FIELD_TYPE_INTEGER:
58
+ data.push(cursor.getDouble(i));
59
+ break;
60
+ case android.database.Cursor.FIELD_TYPE_BLOB:
61
+ data.push(transformBlobs ? byteArrayToBuffer(cursor.getBlob(i)) : cursor.getBlob(i));
62
+ break;
63
+ case android.database.Cursor.FIELD_TYPE_NULL:
64
+ data.push(null);
65
+ break;
66
+ default:
67
+ throwError(`unknown.type: ${type}`);
68
+ }
69
+ }
70
+ return data;
71
+ };
72
+ const rawSql = (onCursor) => (db, transformBlobs) => (sql, params) => {
73
+ const parameters = paramsToStringArray(params);
74
+ const cursor = db.rawQuery(sql, parameters);
75
+ try {
76
+ const result = [];
77
+ while (cursor.moveToNext()) {
78
+ result.push(onCursor(cursor, transformBlobs));
79
+ }
80
+ return result;
81
+ }
82
+ finally {
83
+ cursor.close();
84
+ }
85
+ };
86
+ const eachRaw = (onCursor) => (db, transformBlobs) => (sql, params, callback, complete) => {
87
+ const parameters = paramsToStringArray(params);
88
+ const cursor = db.rawQuery(sql, parameters);
89
+ return Promise.resolve()
90
+ .then(() => {
91
+ const count = 0;
92
+ while (cursor.moveToNext()) {
93
+ const result = onCursor(cursor, transformBlobs);
94
+ callback(null, result);
95
+ }
96
+ cursor.close();
97
+ complete && complete(null, count);
98
+ return count;
99
+ })
100
+ .catch((err) => {
101
+ cursor.close();
102
+ const errorCB = complete || callback;
103
+ if (errorCB) {
104
+ errorCB(err, null);
105
+ }
106
+ return Promise.reject(err);
107
+ });
108
+ };
109
+ const transactionRaw = async (db, action) => {
110
+ db.beginTransaction();
111
+ try {
112
+ const cancelled = { value: false };
113
+ const cancel = () => {
114
+ cancelled.value = true;
115
+ };
116
+ const result = await action(cancel);
117
+ if (!cancelled.value) {
118
+ db.setTransactionSuccessful();
119
+ }
120
+ return result;
121
+ }
122
+ finally {
123
+ db.endTransaction();
124
+ }
125
+ };
126
+ const messagePromises = {};
127
+ export class SQLiteDatabaseBase {
128
+ constructor(filePath, options) {
129
+ this.filePath = filePath;
130
+ this._isInTransaction = false;
131
+ this.threading = false;
132
+ this.threading = options && options.threading === true;
133
+ this.flags = options === null || options === void 0 ? void 0 : options.flags;
134
+ this.transformBlobs = !options || options.transformBlobs !== false;
135
+ }
136
+ onWorkerMessage(event) {
137
+ const data = event.data;
138
+ const id = data.id;
139
+ if (id && messagePromises.hasOwnProperty(id)) {
140
+ messagePromises[id].forEach(function (executor) {
141
+ executor.timeoutTimer && clearTimeout(executor.timeoutTimer);
142
+ if (data.error) {
143
+ executor.reject(data.error);
144
+ }
145
+ else {
146
+ executor.resolve(data.result);
147
+ }
148
+ });
149
+ delete messagePromises[id];
150
+ }
151
+ }
152
+ sendMessageToWorker(nativeData, messageData, timeout = 0) {
153
+ return new Promise((resolve, reject) => {
154
+ let id = Date.now().valueOf();
155
+ if (id <= this.lastId) {
156
+ id = this.lastId + 1;
157
+ }
158
+ this.lastId = id;
159
+ messagePromises[id] = messagePromises[id] || [];
160
+ let timeoutTimer;
161
+ if (timeout > 0) {
162
+ timeoutTimer = setTimeout(() => {
163
+ try {
164
+ reject(new Error('timeout'));
165
+ }
166
+ catch (_a) { }
167
+ delete messagePromises[id];
168
+ }, timeout);
169
+ }
170
+ messagePromises[id].push({ resolve, reject, timeoutTimer });
171
+ const keys = Object.keys(nativeData);
172
+ keys.forEach((k) => {
173
+ com.akylas.sqlite.WorkersContext.setValue(`${id}_${k}`, nativeData[k]._native || nativeData[k]);
174
+ });
175
+ const mData = Object.assign({
176
+ type: 'call',
177
+ id,
178
+ dbOptions: {
179
+ transformBlobs: this.transformBlobs
180
+ },
181
+ nativeDataKeys: keys,
182
+ }, messageData);
183
+ this.worker.postMessage(mData);
184
+ });
185
+ }
186
+ get isOpen() {
187
+ return this.db && this.db.isOpen();
188
+ }
189
+ async close() {
190
+ if (!this.isOpen)
191
+ return;
192
+ if (this.worker) {
193
+ this.worker.postMessage({
194
+ type: 'terminate',
195
+ });
196
+ this.worker = null;
197
+ }
198
+ this.db.close();
199
+ this.db = null;
200
+ }
201
+ async setVersion(version) {
202
+ this.db.setVersion(version);
203
+ }
204
+ async getVersion() {
205
+ return this.db.getVersion();
206
+ }
207
+ async execute(query, params) {
208
+ if (this.threading) {
209
+ return this.sendMessageToWorker({
210
+ db: this.db,
211
+ }, {
212
+ callName: 'execute',
213
+ args: [query, params],
214
+ });
215
+ }
216
+ return this.db.execSQL(query, paramsToStringArray(params));
217
+ }
218
+ async get(query, params, transformBlobs) {
219
+ if (this.threading) {
220
+ return this.sendMessageToWorker({
221
+ db: this.db,
222
+ }, {
223
+ callName: 'get',
224
+ args: [query, params],
225
+ });
226
+ }
227
+ return rawSql(dataFromCursor)(this.db, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs)(query, params)[0] || null;
228
+ }
229
+ async getArray(query, params, transformBlobs) {
230
+ if (this.threading) {
231
+ return this.sendMessageToWorker({
232
+ db: this.db,
233
+ }, {
234
+ callName: 'getArray',
235
+ args: [query, params],
236
+ });
237
+ }
238
+ return rawSql(arrayFromCursor)(this.db, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs)(query, params)[0] || null;
239
+ }
240
+ async select(query, params, transformBlobs) {
241
+ if (this.threading) {
242
+ return this.sendMessageToWorker({
243
+ db: this.db,
244
+ }, {
245
+ callName: 'select',
246
+ args: [query, params],
247
+ });
248
+ }
249
+ return rawSql(dataFromCursor)(this.db, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs)(query, params);
250
+ }
251
+ async selectArray(query, params, transformBlobs) {
252
+ if (this.threading) {
253
+ return this.sendMessageToWorker({
254
+ db: this.db,
255
+ }, {
256
+ callName: 'selectArray',
257
+ args: [query, params],
258
+ });
259
+ }
260
+ return rawSql(arrayFromCursor)(this.db, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs)(query, params);
261
+ }
262
+ async each(query, params, callback, complete, transformBlobs) {
263
+ return eachRaw(dataFromCursor)(this.db, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs)(query, params, callback, complete);
264
+ }
265
+ async transaction(action) {
266
+ return transactionRaw(this.db, action);
267
+ }
268
+ }
269
+ //# sourceMappingURL=sqlitedatabase.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlitedatabase.android.js","sourceRoot":"","sources":["../src/sqlitedatabase.android.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { Connection } from '@nativescript-community/typeorm/browser/connection/Connection';
2
+ import { AbstractSqliteDriver } from '@nativescript-community/typeorm/browser/driver/sqlite-abstract/AbstractSqliteDriver';
3
+ import { ColumnType } from '@nativescript-community/typeorm/browser/driver/types/ColumnTypes';
4
+ import { QueryRunner } from '@nativescript-community/typeorm/browser/query-runner/QueryRunner';
5
+ import * as NSQlite from '../sqlite';
6
+ import { NativescriptConnectionOptions } from './index';
7
+ export declare class NativescriptDriver extends AbstractSqliteDriver {
8
+ options: NativescriptConnectionOptions;
9
+ driver: any;
10
+ constructor(connection: Connection);
11
+ disconnect(): Promise<any>;
12
+ createQueryRunner(mode?: 'master' | 'slave'): QueryRunner;
13
+ normalizeType(column: {
14
+ type?: ColumnType;
15
+ length?: number | string;
16
+ precision?: number | null;
17
+ scale?: number;
18
+ }): string;
19
+ sqlite: typeof NSQlite;
20
+ protected createDatabaseConnection(): Promise<NSQlite.SQLiteDatabase>;
21
+ protected loadDependencies(): void;
22
+ }
23
+ export declare class MongoDriver {
24
+ }
25
+ export declare class SqljsDriver {
26
+ }
27
+ export declare class PostgresDriver {
28
+ }
29
+ export declare class CockroachDriver {
30
+ }
31
+ export declare class MysqlDriver {
32
+ }
33
+ export declare class AuroraDataApiDriver {
34
+ }
35
+ export declare class OracleDriver {
36
+ }
37
+ export declare class SqlServerDriver {
38
+ }
39
+ export declare class BetterSqlite3Driver {
40
+ }
41
+ export declare class SapDriver {
42
+ }
@@ -0,0 +1,72 @@
1
+ import { AbstractSqliteDriver } from '@nativescript-community/typeorm/browser/driver/sqlite-abstract/AbstractSqliteDriver';
2
+ import { DriverOptionNotSetError } from '@nativescript-community/typeorm/browser/error/DriverOptionNotSetError';
3
+ import { DriverPackageNotInstalledError } from '@nativescript-community/typeorm/browser/error/DriverPackageNotInstalledError';
4
+ import { NativescriptQueryRunner } from './NativescriptQueryRunner';
5
+ export class NativescriptDriver extends AbstractSqliteDriver {
6
+ constructor(connection) {
7
+ super(connection);
8
+ this.connection = connection;
9
+ this.options = connection.options;
10
+ this.database = this.options.database;
11
+ this.driver = this.options.driver;
12
+ if (!this.options.database) {
13
+ throw new DriverOptionNotSetError('database');
14
+ }
15
+ this.loadDependencies();
16
+ }
17
+ async disconnect() {
18
+ this.queryRunner = undefined;
19
+ return this.databaseConnection.close();
20
+ }
21
+ createQueryRunner(mode = 'master') {
22
+ if (!this.queryRunner) {
23
+ this.queryRunner = new NativescriptQueryRunner(this);
24
+ }
25
+ return this.queryRunner;
26
+ }
27
+ normalizeType(column) {
28
+ if (column.type === Buffer) {
29
+ return 'blob';
30
+ }
31
+ return super.normalizeType(column);
32
+ }
33
+ async createDatabaseConnection() {
34
+ try {
35
+ const db = this.sqlite.openOrCreate(this.options.database, this.options.extra ? Object.assign({}, this.options.extra) : {});
36
+ await db.execute('PRAGMA foreign_keys = ON;', []);
37
+ return db;
38
+ }
39
+ catch (err) {
40
+ throw new Error(err);
41
+ }
42
+ }
43
+ loadDependencies() {
44
+ try {
45
+ this.sqlite = this.options.driver || require('@nativescript-community/sqlite');
46
+ }
47
+ catch (e) {
48
+ throw new DriverPackageNotInstalledError('Nativescript', '@nativescript-community/sqlite');
49
+ }
50
+ }
51
+ }
52
+ export class MongoDriver {
53
+ }
54
+ export class SqljsDriver {
55
+ }
56
+ export class PostgresDriver {
57
+ }
58
+ export class CockroachDriver {
59
+ }
60
+ export class MysqlDriver {
61
+ }
62
+ export class AuroraDataApiDriver {
63
+ }
64
+ export class OracleDriver {
65
+ }
66
+ export class SqlServerDriver {
67
+ }
68
+ export class BetterSqlite3Driver {
69
+ }
70
+ export class SapDriver {
71
+ }
72
+ //# sourceMappingURL=NativescriptDriver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativescriptDriver.js","sourceRoot":"","sources":["../../src/typeorm/NativescriptDriver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qFAAqF,CAAC;AAE3H,OAAO,EAAE,uBAAuB,EAAE,MAAM,uEAAuE,CAAC;AAChH,OAAO,EAAE,8BAA8B,EAAE,MAAM,8EAA8E,CAAC;AAI9H,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,MAAM,OAAO,kBAAmB,SAAQ,oBAAoB;IAiBxD,YAAY,UAAsB;QAC9B,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAwC,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACxB,MAAM,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAOD,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAID,iBAAiB,CAAC,OAA2B,QAAQ;QACjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,aAAa,CAAC,MAAkG;QAC5G,IAAK,MAAM,CAAC,IAAY,KAAK,MAAM,EAAE;YACjC,OAAO,MAAM,CAAC;SACjB;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAmBS,KAAK,CAAC,wBAAwB;QACpC,IAAI;YACA,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,mBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAK9G,MAAM,EAAE,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC;SACb;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;IACL,CAAC;IAIS,gBAAgB;QACtB,IAAI;YACA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,gCAAgC,CAAC,CAAC;SAClF;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,8BAA8B,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;SAC9F;IACL,CAAC;CACJ;AAED,MAAM,OAAO,WAAW;CAAG;AAC3B,MAAM,OAAO,WAAW;CAAG;AAC3B,MAAM,OAAO,cAAc;CAAG;AAC9B,MAAM,OAAO,eAAe;CAAG;AAC/B,MAAM,OAAO,WAAW;CAAG;AAC3B,MAAM,OAAO,mBAAmB;CAAG;AACnC,MAAM,OAAO,YAAY;CAAG;AAC5B,MAAM,OAAO,eAAe;CAAG;AAC/B,MAAM,OAAO,mBAAmB;CAAG;AACnC,MAAM,OAAO,SAAS;CAAG"}
@@ -0,0 +1,15 @@
1
+ import { ObjectLiteral } from '@nativescript-community/typeorm/browser/common/ObjectLiteral';
2
+ import { AbstractSqliteQueryRunner } from '@nativescript-community/typeorm/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner';
3
+ import { NativescriptDriver } from './NativescriptDriver';
4
+ export declare class NativescriptQueryRunner extends AbstractSqliteQueryRunner {
5
+ driver: NativescriptDriver;
6
+ constructor(driver: NativescriptDriver);
7
+ query(query: string, parameters?: any[]): Promise<void | import("../sqlite.common").SqliteRow[] | {
8
+ [k: string]: any;
9
+ id: number;
10
+ nativeDatas?: {
11
+ [k: string]: any;
12
+ };
13
+ }>;
14
+ protected parametrize(objectLiteral: ObjectLiteral, startIndex?: number): string[];
15
+ }
@@ -0,0 +1,42 @@
1
+ import { QueryRunnerAlreadyReleasedError } from '@nativescript-community/typeorm/browser/error/QueryRunnerAlreadyReleasedError';
2
+ import { QueryFailedError } from '@nativescript-community/typeorm/browser/error/QueryFailedError';
3
+ import { AbstractSqliteQueryRunner } from '@nativescript-community/typeorm/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner';
4
+ import { Broadcaster } from '@nativescript-community/typeorm/browser/subscriber/Broadcaster';
5
+ export class NativescriptQueryRunner extends AbstractSqliteQueryRunner {
6
+ constructor(driver) {
7
+ super();
8
+ this.driver = driver;
9
+ this.connection = driver.connection;
10
+ this.broadcaster = new Broadcaster(this);
11
+ }
12
+ async query(query, parameters) {
13
+ if (this.isReleased) {
14
+ throw new QueryRunnerAlreadyReleasedError();
15
+ }
16
+ const connection = this.driver.connection;
17
+ const isInsertQuery = query.startsWith('INSERT INTO') || query.startsWith('UPDATE');
18
+ connection.logger.logQuery(query, parameters, this);
19
+ try {
20
+ const db = await this.connect();
21
+ const queryStartTime = +new Date();
22
+ const result = isInsertQuery
23
+ ? await db.execute(query, parameters)
24
+ : await db.select(query, parameters);
25
+ const queryEndTime = +new Date();
26
+ const queryExecutionTime = queryEndTime - queryStartTime;
27
+ const maxQueryExecutionTime = connection.options.maxQueryExecutionTime;
28
+ if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime) {
29
+ connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
30
+ }
31
+ return result;
32
+ }
33
+ catch (err) {
34
+ connection.logger.logQueryError(err, query, parameters, this);
35
+ throw new QueryFailedError(query, parameters, err);
36
+ }
37
+ }
38
+ parametrize(objectLiteral, startIndex = 0) {
39
+ return Object.keys(objectLiteral).map((key, index) => `"${key}"` + '=?');
40
+ }
41
+ }
42
+ //# sourceMappingURL=NativescriptQueryRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativescriptQueryRunner.js","sourceRoot":"","sources":["../../src/typeorm/NativescriptQueryRunner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+EAA+E,CAAC;AAChI,OAAO,EAAE,gBAAgB,EAAE,MAAM,gEAAgE,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,0FAA0F,CAAC;AACrI,OAAO,EAAE,WAAW,EAAE,MAAM,gEAAgE,CAAC;AAQ7F,MAAM,OAAO,uBAAwB,SAAQ,yBAAyB;IAQlE,YAAY,MAA0B;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAID,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,UAAkB;QACzC,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,IAAI,+BAA+B,EAAE,CAAC;SAC/C;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpF,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI;YACA,MAAM,EAAE,GAA2B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACxD,MAAM,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,aAAa;gBACxB,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC;gBACrC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACzC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,kBAAkB,GAAG,YAAY,GAAG,cAAc,CAAC;YACzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC;YAEvE,IAAI,qBAAqB,IAAI,kBAAkB,GAAG,qBAAqB,EAAE;gBACrE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;aAC/E;YACD,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAC9D,MAAM,IAAI,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;SACtD;IACL,CAAC;IAOS,WAAW,CAAC,aAA4B,EAAE,aAAqB,CAAC;QACtE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAC7E,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { BaseConnectionOptions } from '@nativescript-community/typeorm/browser/connection/BaseConnectionOptions';
2
+ export declare function installMixins(): void;
3
+ export interface NativescriptConnectionOptions extends BaseConnectionOptions {
4
+ readonly type: 'nativescript';
5
+ readonly database: string;
6
+ readonly driver?: any;
7
+ }
@@ -0,0 +1,21 @@
1
+ import { NativescriptDriver } from './NativescriptDriver';
2
+ let installed = false;
3
+ export function installMixins() {
4
+ if (installed) {
5
+ return;
6
+ }
7
+ installed = true;
8
+ const DriverFactory = require('@nativescript-community/typeorm/browser/driver/DriverFactory').DriverFactory;
9
+ const oldFunc = DriverFactory.prototype.create;
10
+ DriverFactory.prototype.create = function (connection) {
11
+ const { type } = connection.options;
12
+ switch (type) {
13
+ case 'nativescript':
14
+ case '@nativescript-community/sqlite':
15
+ return new NativescriptDriver(connection);
16
+ default:
17
+ return oldFunc.call(this, connection);
18
+ }
19
+ };
20
+ }
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/typeorm/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,MAAM,UAAU,aAAa;IACzB,IAAI,SAAS,EAAE;QACX,OAAO;KACV;IACD,SAAS,GAAG,IAAI,CAAC;IACjB,MAAM,aAAa,GAAG,OAAO,CAAC,8DAA8D,CAAC,CAAC,aAAa,CAAC;IAC5G,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;IAE/C,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,UAAsB;QAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;QACpC,QAAQ,IAAI,EAAE;YACV,KAAK,cAAqB,CAAC;YAC3B,KAAK,gCAAuC;gBACxC,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC9C;gBACI,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SAC7C;IACL,CAAC,CAAC;AACN,CAAC"}
package/worker.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
package/worker.js ADDED
@@ -0,0 +1,36 @@
1
+ const context = self;
2
+ import { SQLiteDatabaseBase } from './sqlitedatabase';
3
+ const fakeDatabase = new SQLiteDatabaseBase(null);
4
+ context.onmessage = (async (event) => {
5
+ const data = event.data;
6
+ switch (data.type) {
7
+ case 'terminate':
8
+ context.close();
9
+ break;
10
+ case 'call':
11
+ const id = data.id;
12
+ const call = data.callName;
13
+ const args = data.args;
14
+ const db = com.akylas.sqlite.WorkersContext.getValue(`${id}_db`);
15
+ fakeDatabase.db = db;
16
+ fakeDatabase.threading = false;
17
+ if (data.dbOptions) {
18
+ Object.assign(fakeDatabase, data.dbOptions);
19
+ }
20
+ try {
21
+ const result = await fakeDatabase[call].apply(fakeDatabase, args);
22
+ global.postMessage({
23
+ id,
24
+ result,
25
+ });
26
+ }
27
+ catch (err) {
28
+ global.postMessage(Object.assign(data, {
29
+ id,
30
+ error: err.toString(),
31
+ }));
32
+ }
33
+ break;
34
+ }
35
+ });
36
+ //# sourceMappingURL=worker.js.map
package/worker.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAW,IAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAgBtD,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClD,OAAO,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,KAAe,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,QAAQ,IAAI,CAAC,IAAI,EAAE;QACf,KAAK,WAAW;YAGX,OAAe,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM;QACV,KAAK,MAAM;YACP,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,GAAI,GAAW,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1E,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;YACrB,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAE/C;YACD,IAAI;gBACA,MAAM,MAAM,GAAE,MAAO,YAAY,CAAC,IAAI,CAAc,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBAE9E,MAAc,CAAC,WAAW,CACvB;oBACI,EAAE;oBACF,MAAM;iBACT,CACJ,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACT,MAAc,CAAC,WAAW,CACvB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;oBAChB,EAAE;oBACF,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE;iBACxB,CAAC,CACL,CAAC;aAEL;YAcD,MAAM;KACb;AACL,CAAC,CAAQ,CAAC"}