@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,20 @@
1
+ package com.akylas.sqlite;
2
+
3
+ import java.util.Map;
4
+ import java.util.concurrent.ConcurrentHashMap;
5
+
6
+ public final class WorkersContext {
7
+ private final static Map<String, Object> container = new ConcurrentHashMap<String, Object>();
8
+
9
+ public static Object getValue(String key) {
10
+ return container.get(key);
11
+ }
12
+
13
+ public static void setValue(String key, Object value) {
14
+ if (value != null) {
15
+ container.put(key, value);
16
+ } else {
17
+ container.remove(key);
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "uses": [
3
+ "android.database:Cursor*", "android.database.sqlite:SQLiteDatabase*"
4
+ ]
5
+ }
@@ -0,0 +1 @@
1
+ pod 'FMDB'
File without changes
package/postinstall.js ADDED
@@ -0,0 +1,2 @@
1
+ require("@nativescript/hook")(__dirname).postinstall();
2
+ //# sourceMappingURL=postinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC"}
File without changes
@@ -0,0 +1,2 @@
1
+ require('@nativescript/hook')(__dirname).preuninstall();
2
+ //# sourceMappingURL=preuninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preuninstall.js","sourceRoot":"","sources":["../src/preuninstall.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC"}
File without changes
@@ -0,0 +1,3 @@
1
+ module.exports = function ($logger, projectData, injector, hookArgs) {
2
+ };
3
+ //# sourceMappingURL=before-prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"before-prepare.js","sourceRoot":"","sources":["../../src/scripts/before-prepare.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,GAAG,UAAU,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ;AA+BnE,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { SQLiteDatabaseBase } from './sqlitedatabase.android';
2
+ export declare class SQLiteDatabase extends SQLiteDatabaseBase {
3
+ open(): Promise<boolean>;
4
+ }
5
+ export declare const openOrCreate: (filePath: string, options?: {
6
+ threading?: boolean;
7
+ transformBlobs?: boolean;
8
+ flags?: number;
9
+ }) => SQLiteDatabase;
10
+ export declare const deleteDatabase: (filePath: string) => boolean;
@@ -0,0 +1,36 @@
1
+ import { Application } from '@nativescript/core';
2
+ import { SQLiteDatabaseBase } from './sqlitedatabase.android';
3
+ function createDb(dbName, flags) {
4
+ if (dbName === ':memory:') {
5
+ return android.database.sqlite.SQLiteDatabase.create(flags);
6
+ }
7
+ if (dbName.indexOf('/') >= 0) {
8
+ return android.database.sqlite.SQLiteDatabase.openDatabase(dbName, null, flags !== undefined
9
+ ? flags
10
+ : android.database.sqlite.SQLiteDatabase.CREATE_IF_NECESSARY |
11
+ android.database.sqlite.SQLiteDatabase.NO_LOCALIZED_COLLATORS);
12
+ }
13
+ else {
14
+ const activity = Application.android.foregroundActivity || Application.android.startActivity;
15
+ return activity.openOrCreateDatabase(dbName, flags !== undefined ? flags : android.app.Activity.MODE_PRIVATE, null);
16
+ }
17
+ }
18
+ export class SQLiteDatabase extends SQLiteDatabaseBase {
19
+ async open() {
20
+ if (!this.db) {
21
+ this.db = createDb(this.filePath, this.flags);
22
+ if (this.threading && !this.worker) {
23
+ this.worker = new Worker('./worker');
24
+ this.worker.onmessage = this.onWorkerMessage;
25
+ }
26
+ }
27
+ return this.isOpen;
28
+ }
29
+ }
30
+ export const openOrCreate = (filePath, options) => {
31
+ const obj = new SQLiteDatabase(filePath, options);
32
+ obj.open();
33
+ return obj;
34
+ };
35
+ export const deleteDatabase = (filePath) => android.database.sqlite.SQLiteDatabase.deleteDatabase(new java.io.File(filePath));
36
+ //# sourceMappingURL=sqlite.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.android.js","sourceRoot":"","sources":["../src/sqlite.android.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAK;IACnC,IAAI,MAAM,KAAK,UAAU,EAAE;QAEvB,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC/D;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC1B,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CACtD,MAAM,EACN,IAAI,EACJ,KAAK,KAAK,SAAS;YACf,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB;gBACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAC1E,CAAC;KACL;SAAM;QACH,MAAM,QAAQ,GAAyB,WAAW,CAAC,OAAO,CAAC,kBAAkB,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;QACnH,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;KACvH;AACL,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAClD,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;aAChD;SACJ;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,OAI9C,EAAkB,EAAE;IACjB,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE,CAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ export declare type SqliteParam = null | number | string | ArrayBuffer | any;
2
+ export declare type SqliteParams = SqliteParam | SqliteParam[];
3
+ export interface SqliteRow {
4
+ [name: string]: SqliteParam;
5
+ }
6
+ export declare type Db = any;
7
+ export declare type SqliteUpgrade = (db: Db) => void;
8
+ export interface SQLiteDatabase {
9
+ getVersion(): Promise<number>;
10
+ setVersion(version: number): Promise<void>;
11
+ isOpen: boolean;
12
+ close(): Promise<void>;
13
+ select(query: string, params?: SqliteParams): Promise<SqliteRow[]>;
14
+ selectArray(query: string, params?: SqliteParams): Promise<SqliteParam[][]>;
15
+ get(query: string, params?: SqliteParams): Promise<SqliteRow>;
16
+ getArray(query: string, params?: SqliteParams): Promise<SqliteParam[]>;
17
+ execute(query: string, params?: SqliteParams): Promise<void>;
18
+ transaction<T = any>(action: (cancel?: () => void) => Promise<T>): Promise<T>;
19
+ each(query: string, params: SqliteParams, callback: (error: Error, result: SqliteRow) => void, complete: (error: Error, count: number) => void): Promise<void>;
20
+ }
21
+ export declare function isNothing(x: any): boolean;
22
+ export declare function arrayToNativeByteArray(val: any): any;
23
+ export declare function paramToString(p: SqliteParam): any;
24
+ export declare function paramsToStringArray(params?: SqliteParams): any[];
25
+ export declare function throwError(msg: string): void;
26
+ export declare function openOrCreate(filePath: string, flags?: number): SQLiteDatabase;
27
+ export declare function deleteDatabase(filePath: string): boolean;
@@ -0,0 +1,79 @@
1
+ export function isNothing(x) {
2
+ return x === undefined || x === null;
3
+ }
4
+ export function arrayToNativeByteArray(val) {
5
+ const length = val.length;
6
+ const result = Array.create('byte', length);
7
+ for (let i = 0; i < length; i++) {
8
+ result[i] = val[i];
9
+ }
10
+ return result;
11
+ }
12
+ export function paramToString(p) {
13
+ if (isNothing(p)) {
14
+ return null;
15
+ }
16
+ if (global.isAndroid) {
17
+ if (p instanceof java.nio.ByteBuffer) {
18
+ return p.array();
19
+ }
20
+ if (p instanceof java.io.ByteArrayOutputStream) {
21
+ return p.toByteArray();
22
+ }
23
+ if (p instanceof java.lang.Object) {
24
+ return p;
25
+ }
26
+ if (p instanceof ArrayBuffer) {
27
+ return arrayToNativeByteArray(new Uint8Array(p));
28
+ }
29
+ else if (p.buffer) {
30
+ return arrayToNativeByteArray(p);
31
+ }
32
+ else if (Array.isArray(p)) {
33
+ return arrayToNativeByteArray(p);
34
+ }
35
+ }
36
+ else {
37
+ if (p instanceof NSData) {
38
+ return p;
39
+ }
40
+ if (p instanceof NSObject) {
41
+ return p;
42
+ }
43
+ if (p instanceof ArrayBuffer) {
44
+ return NSData.dataWithData(p);
45
+ }
46
+ if (p.buffer) {
47
+ return NSData.dataWithData(p.buffer);
48
+ }
49
+ if (Array.isArray(p)) {
50
+ return NSData.dataWithData(new Uint8Array(p).buffer);
51
+ }
52
+ }
53
+ if (p.hasOwnProperty('length') && !Array.isArray(p)) {
54
+ return p;
55
+ }
56
+ if (p['toString']) {
57
+ return p['toString']();
58
+ }
59
+ return p;
60
+ }
61
+ export function paramsToStringArray(params) {
62
+ if (isNothing(params)) {
63
+ return [];
64
+ }
65
+ if (params instanceof Array) {
66
+ return params.map(paramToString);
67
+ }
68
+ return [paramToString(params)];
69
+ }
70
+ export function throwError(msg) {
71
+ throw new Error(`NSqlite Error: ${msg}`);
72
+ }
73
+ export function openOrCreate(filePath, flags) {
74
+ return null;
75
+ }
76
+ export function deleteDatabase(filePath) {
77
+ return false;
78
+ }
79
+ //# sourceMappingURL=sqlite.common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.common.js","sourceRoot":"","sources":["../src/sqlite.common.ts"],"names":[],"mappings":"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"}
package/sqlite.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './sqlite.android';
@@ -0,0 +1,30 @@
1
+ import { SqliteParams, SqliteRow } from './sqlite.common';
2
+ export declare class SQLiteDatabase {
3
+ filePath: string;
4
+ db: FMDatabase;
5
+ transformBlobs: boolean;
6
+ constructor(filePath: string, options?: {
7
+ threading?: boolean;
8
+ transformBlobs?: boolean;
9
+ readOnly?: boolean;
10
+ });
11
+ isOpen: boolean;
12
+ open(): Promise<boolean>;
13
+ close(): Promise<void>;
14
+ setVersion(version: number): Promise<void>;
15
+ getVersion(): Promise<number>;
16
+ execute(query: string, params?: SqliteParams): Promise<void>;
17
+ get(query: string, params?: SqliteParams, transformBlobs?: boolean): Promise<SqliteRow>;
18
+ getArray(query: string, params?: SqliteParams, transformBlobs?: boolean): Promise<any[]>;
19
+ select(query: string, params?: SqliteParams, transformBlobs?: boolean): Promise<SqliteRow[]>;
20
+ each(query: string, params: SqliteParams, callback: (error: Error, result: SqliteRow) => void, complete: (error: Error, count: number) => void, transformBlobs?: boolean): Promise<number>;
21
+ selectArray(query: string, params?: SqliteParams, transformBlobs?: boolean): Promise<any[][]>;
22
+ _isInTransaction: boolean;
23
+ transaction<T = any>(action: (cancel?: () => void) => Promise<T>): Promise<T>;
24
+ }
25
+ export declare function openOrCreate(filePath: string, flags?: number, options?: {
26
+ readOnly?: boolean;
27
+ transformBlobs?: boolean;
28
+ threading?: boolean;
29
+ }): SQLiteDatabase;
30
+ export declare const deleteDatabase: (filePath: string) => boolean;
package/sqlite.ios.js ADDED
@@ -0,0 +1,215 @@
1
+ import { paramsToStringArray, throwError, } from './sqlite.common';
2
+ const iosProperty = (_self, property) => {
3
+ if (typeof property === 'function') {
4
+ return property.call(_self);
5
+ }
6
+ else {
7
+ return property;
8
+ }
9
+ };
10
+ const toCharPtr = (str) => {
11
+ const objcStr = NSString.stringWithString(str);
12
+ const size = strlen(objcStr.UTF8String) + 1;
13
+ const buffer = interop.alloc(size);
14
+ objcStr.getCStringMaxLengthEncoding(buffer, size, NSUTF8StringEncoding);
15
+ return buffer;
16
+ };
17
+ const getNewCursorStatement = (statement) => ({
18
+ statement,
19
+ built: false,
20
+ columns: [],
21
+ count: undefined,
22
+ });
23
+ function getResultsAsObject(cursorSt, transformBlobs) {
24
+ const data = {};
25
+ const dict = cursorSt.resultDictionary;
26
+ dict.enumerateKeysAndObjectsUsingBlock((key, value) => {
27
+ if (transformBlobs && value instanceof NSData) {
28
+ }
29
+ else {
30
+ data[key] = value;
31
+ }
32
+ });
33
+ return data;
34
+ }
35
+ ;
36
+ function getResultsAsArray(cursorSt, transformBlobs) {
37
+ const data = [];
38
+ const dict = cursorSt.resultDictionary;
39
+ dict.enumerateKeysAndObjectsUsingBlock((key, value) => {
40
+ if (transformBlobs && value instanceof NSData) {
41
+ }
42
+ else {
43
+ data.push(value);
44
+ }
45
+ });
46
+ return data;
47
+ }
48
+ ;
49
+ function getRealPath(dbname, create = false) {
50
+ if (dbname === ':memory:') {
51
+ return null;
52
+ }
53
+ return dbname;
54
+ }
55
+ function getRaw(db, query, params, asObject, transformBlobs) {
56
+ const s = db.executeQueryWithArgumentsInArray(query, paramsToStringArray(params));
57
+ if (s) {
58
+ return asObject ? getResultsAsObject(s, transformBlobs) : getResultsAsArray(s, transformBlobs);
59
+ }
60
+ else {
61
+ throw db.lastError();
62
+ }
63
+ }
64
+ function eachRaw(db, query, params, asObject, callback, complete, transformBlobs) {
65
+ const getResults = asObject ? getResultsAsObject : getResultsAsArray;
66
+ return Promise.resolve()
67
+ .then(() => {
68
+ let count = 0;
69
+ const s = db.executeQueryWithArgumentsInArray(query, paramsToStringArray(params));
70
+ if (s) {
71
+ while (s.next()) {
72
+ const row = getResults(s, transformBlobs);
73
+ if (row) {
74
+ count++;
75
+ callback(null, row);
76
+ }
77
+ }
78
+ }
79
+ else {
80
+ throw db.lastError();
81
+ }
82
+ complete && complete(null, count);
83
+ return count;
84
+ })
85
+ .catch(err => {
86
+ const errorCB = complete || callback;
87
+ if (errorCB) {
88
+ errorCB(err, null);
89
+ }
90
+ return Promise.reject(err);
91
+ });
92
+ }
93
+ function selectRaw(db, query, params, asObject, transformBlobs) {
94
+ let rows = [];
95
+ const getResults = asObject ? getResultsAsObject : getResultsAsArray;
96
+ const s = db.executeQueryWithArgumentsInArray(query, paramsToStringArray(params));
97
+ if (s) {
98
+ while (s.next()) {
99
+ const row = getResults(s, transformBlobs);
100
+ if (row) {
101
+ rows = [...rows, row];
102
+ }
103
+ }
104
+ }
105
+ else {
106
+ throw db.lastError();
107
+ }
108
+ return rows;
109
+ }
110
+ function execRaw(db, query, params) {
111
+ const s = db.executeUpdateWithArgumentsInArray(query, paramsToStringArray(params));
112
+ if (!s) {
113
+ throw db.lastError();
114
+ }
115
+ }
116
+ async function transactionRaw(db, action, isFirstTransaction) {
117
+ try {
118
+ if (isFirstTransaction) {
119
+ execRaw(db, 'BEGIN EXCLUSIVE TRANSACTION');
120
+ }
121
+ const cancelled = { value: false };
122
+ const cancel = () => {
123
+ cancelled.value = true;
124
+ };
125
+ const result = await action(cancel);
126
+ if (!cancelled.value && isFirstTransaction) {
127
+ execRaw(db, 'COMMIT TRANSACTION');
128
+ }
129
+ else if (cancelled.value && isFirstTransaction) {
130
+ execRaw(db, 'ROLLBACK TRANSACTION');
131
+ }
132
+ return result;
133
+ }
134
+ catch (e) {
135
+ if (isFirstTransaction) {
136
+ execRaw(db, 'ROLLBACK TRANSACTION');
137
+ }
138
+ throwError(`transaction: ${e}`);
139
+ return null;
140
+ }
141
+ }
142
+ export class SQLiteDatabase {
143
+ constructor(filePath, options) {
144
+ this.filePath = filePath;
145
+ this.isOpen = false;
146
+ this._isInTransaction = false;
147
+ this.transformBlobs = !options || options.transformBlobs !== false;
148
+ }
149
+ async open() {
150
+ if (!this.db) {
151
+ this.db = FMDatabase.databaseWithPath(getRealPath(this.filePath));
152
+ }
153
+ if (!this.isOpen) {
154
+ this.isOpen = this.db.open();
155
+ }
156
+ return this.isOpen;
157
+ }
158
+ async close() {
159
+ if (!this.isOpen)
160
+ return;
161
+ this.db.close();
162
+ this.db = null;
163
+ this.isOpen = false;
164
+ }
165
+ async setVersion(version) {
166
+ this.db.userVersion = version + 0;
167
+ }
168
+ async getVersion() {
169
+ return this.db.userVersion;
170
+ }
171
+ async execute(query, params) {
172
+ return execRaw(this.db, query, params);
173
+ }
174
+ async get(query, params, transformBlobs) {
175
+ return (getRaw(this.db, query, params, true, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs) || null);
176
+ }
177
+ async getArray(query, params, transformBlobs) {
178
+ return (getRaw(this.db, query, params, false, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs) || null);
179
+ }
180
+ async select(query, params, transformBlobs) {
181
+ return selectRaw(this.db, query, params, true, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs);
182
+ }
183
+ async each(query, params, callback, complete, transformBlobs) {
184
+ return eachRaw(this.db, query, params, true, callback, complete, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs);
185
+ }
186
+ async selectArray(query, params, transformBlobs) {
187
+ return selectRaw(this.db, query, params, false, transformBlobs !== null && transformBlobs !== void 0 ? transformBlobs : this.transformBlobs);
188
+ }
189
+ async transaction(action) {
190
+ let res;
191
+ if (!this._isInTransaction) {
192
+ this._isInTransaction = true;
193
+ res = transactionRaw(this.db, action, true);
194
+ this._isInTransaction = false;
195
+ }
196
+ else {
197
+ res = transactionRaw(this.db, action, false);
198
+ }
199
+ return res;
200
+ }
201
+ }
202
+ export function openOrCreate(filePath, flags, options) {
203
+ const obj = new SQLiteDatabase(getRealPath(filePath), options);
204
+ obj.open();
205
+ return obj;
206
+ }
207
+ export const deleteDatabase = (filePath) => {
208
+ filePath = getRealPath(filePath);
209
+ const fileManager = iosProperty(NSFileManager, NSFileManager.defaultManager);
210
+ if (fileManager.fileExistsAtPath(filePath)) {
211
+ return fileManager.removeItemAtPathError(filePath);
212
+ }
213
+ return false;
214
+ };
215
+ //# sourceMappingURL=sqlite.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.ios.js","sourceRoot":"","sources":["../src/sqlite.ios.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { SqliteParams, SqliteRow } from './sqlite.common';
2
+ export declare function byteArrayToBuffer(value: any): Uint8Array;
3
+ export declare class SQLiteDatabaseBase {
4
+ filePath: string;
5
+ db: android.database.sqlite.SQLiteDatabase;
6
+ flags: any;
7
+ transformBlobs: boolean;
8
+ constructor(filePath: string, options?: {
9
+ threading?: boolean;
10
+ readOnly?: boolean;
11
+ flags?: number;
12
+ transformBlobs?: boolean;
13
+ });
14
+ _isInTransaction: boolean;
15
+ threading: boolean;
16
+ worker: Worker;
17
+ onWorkerMessage(event: {
18
+ data: {
19
+ result?: any;
20
+ error?: any;
21
+ id?: number;
22
+ };
23
+ }): void;
24
+ lastId: number;
25
+ sendMessageToWorker(nativeData: any, messageData: any, timeout?: number): Promise<{
26
+ id: number;
27
+ nativeDatas?: {
28
+ [k: string]: any;
29
+ };
30
+ [k: string]: any;
31
+ }>;
32
+ get isOpen(): boolean;
33
+ close(): Promise<void>;
34
+ setVersion(version: number): Promise<void>;
35
+ getVersion(): Promise<number>;
36
+ execute(query: string, params?: SqliteParams): Promise<void | {
37
+ [k: string]: any;
38
+ id: number;
39
+ nativeDatas?: {
40
+ [k: string]: any;
41
+ };
42
+ }>;
43
+ get(query: string, params?: SqliteParams, transformBlobs?: boolean): Promise<SqliteRow>;
44
+ getArray(query: string, params?: SqliteParams, transformBlobs?: boolean): Promise<any[] | {
45
+ [k: string]: any;
46
+ id: number;
47
+ nativeDatas?: {
48
+ [k: string]: any;
49
+ };
50
+ }>;
51
+ select(query: string, params?: SqliteParams, transformBlobs?: boolean): Promise<SqliteRow[] | {
52
+ [k: string]: any;
53
+ id: number;
54
+ nativeDatas?: {
55
+ [k: string]: any;
56
+ };
57
+ }>;
58
+ selectArray(query: string, params?: SqliteParams, transformBlobs?: boolean): Promise<any[][] | {
59
+ [k: string]: any;
60
+ id: number;
61
+ nativeDatas?: {
62
+ [k: string]: any;
63
+ };
64
+ }>;
65
+ each(query: string, params: SqliteParams, callback: (error: Error, result: any) => void, complete: (error: Error, count: number) => void, transformBlobs?: boolean): Promise<number>;
66
+ transaction<T = any>(action: (cancel?: () => void) => Promise<T>): Promise<T>;
67
+ }