@op-engineering/op-sqlite 14.1.4 → 15.0.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.
@@ -1,59 +1,13 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.IOS_LIBRARY_PATH = exports.IOS_DOCUMENT_PATH = exports.ANDROID_FILES_PATH = exports.ANDROID_EXTERNAL_FILES_PATH = exports.ANDROID_DATABASE_PATH = void 0;
7
- Object.defineProperty(exports, "Storage", {
8
- enumerable: true,
9
- get: function () {
10
- return _Storage.Storage;
11
- }
12
- });
13
- exports.openSync = exports.openRemote = exports.open = exports.moveAssetsDatabase = exports.isSQLCipher = exports.isLibsql = exports.isIOSEmbeeded = exports.getDylibPath = void 0;
14
- var _reactNative = require("react-native");
15
- var _Storage = require("./Storage");
16
- /**
17
- * Object returned by SQL Query executions {
18
- * insertId: Represent the auto-generated row id if applicable
19
- * rowsAffected: Number of affected rows if result of a update query
20
- * message: if status === 1, here you will find error description
21
- * rows: if status is undefined or 0 this object will contain the query results
22
- * }
23
- *
24
- * @interface QueryResult
25
- */
26
-
27
- /**
28
- * Column metadata
29
- * Describes some information about columns fetched by the query
30
- */
31
-
32
- /**
33
- * Allows the execution of bulk of sql commands
34
- * inside a transaction
35
- * If a single query must be executed many times with different arguments, its preferred
36
- * to declare it a single time, and use an array of array parameters.
37
- */
38
-
39
- /**
40
- * status: 0 or undefined for correct execution, 1 for error
41
- * message: if status === 1, here you will find error description
42
- * rowsAffected: Number of affected rows if status == 0
43
- */
44
-
45
- /**
46
- * Result of loading a file and executing every line as a SQL command
47
- * Similar to BatchQueryResult
48
- */
49
-
3
+ import { NativeModules, Platform } from 'react-native';
50
4
  if (global.__OPSQLiteProxy == null) {
51
- if (_reactNative.NativeModules.OPSQLite == null) {
5
+ if (NativeModules.OPSQLite == null) {
52
6
  throw new Error('Base module not found. Did you do a pod install/clear the gradle cache?');
53
7
  }
54
8
 
55
9
  // Call the synchronous blocking install() function
56
- const installed = _reactNative.NativeModules.OPSQLite.install();
10
+ const installed = NativeModules.OPSQLite.install();
57
11
  if (!installed) {
58
12
  throw new Error(`Failed to install op-sqlite: The native OPSQLite Module could not be installed! Looks like something went wrong when installing JSI bindings, check the native logs for more info`);
59
13
  }
@@ -64,19 +18,7 @@ if (global.__OPSQLiteProxy == null) {
64
18
  }
65
19
  }
66
20
  const proxy = global.__OPSQLiteProxy;
67
- const OPSQLite = proxy;
68
- const {
69
- IOS_DOCUMENT_PATH,
70
- IOS_LIBRARY_PATH,
71
- ANDROID_DATABASE_PATH,
72
- ANDROID_FILES_PATH,
73
- ANDROID_EXTERNAL_FILES_PATH
74
- } = !!_reactNative.NativeModules.OPSQLite.getConstants ? _reactNative.NativeModules.OPSQLite.getConstants() : _reactNative.NativeModules.OPSQLite;
75
- exports.ANDROID_EXTERNAL_FILES_PATH = ANDROID_EXTERNAL_FILES_PATH;
76
- exports.ANDROID_FILES_PATH = ANDROID_FILES_PATH;
77
- exports.ANDROID_DATABASE_PATH = ANDROID_DATABASE_PATH;
78
- exports.IOS_LIBRARY_PATH = IOS_LIBRARY_PATH;
79
- exports.IOS_DOCUMENT_PATH = IOS_DOCUMENT_PATH;
21
+ export const OPSQLite = proxy;
80
22
  function enhanceDB(db, options) {
81
23
  const lock = {
82
24
  queue: [],
@@ -171,6 +113,10 @@ function enhanceDB(db, options) {
171
113
  const sanitizedParams = sanitizeArrayBuffersInArray(params);
172
114
  return db.executeRaw(query, sanitizedParams);
173
115
  },
116
+ executeRawSync: (query, params) => {
117
+ const sanitizedParams = sanitizeArrayBuffersInArray(params);
118
+ return db.executeRawSync(query, sanitizedParams);
119
+ },
174
120
  // Wrapper for executeRaw, drizzleORM uses this function
175
121
  // at some point I changed the API but they did not pin their dependency to a specific version
176
122
  // so re-inserting this so it starts working again
@@ -306,7 +252,7 @@ function enhanceDB(db, options) {
306
252
  * Open a replicating connection via libsql to a turso db
307
253
  * libsql needs to be enabled on your package.json
308
254
  */
309
- const openSync = params => {
255
+ export const openSync = params => {
310
256
  if (!isLibsql()) {
311
257
  throw new Error('This function is only available for libsql');
312
258
  }
@@ -319,8 +265,7 @@ const openSync = params => {
319
265
  * Open a remote connection via libsql to a turso db
320
266
  * libsql needs to be enabled on your package.json
321
267
  */
322
- exports.openSync = openSync;
323
- const openRemote = params => {
268
+ export const openRemote = params => {
324
269
  if (!isLibsql()) {
325
270
  throw new Error('This function is only available for libsql');
326
271
  }
@@ -333,8 +278,7 @@ const openRemote = params => {
333
278
  * Open a connection to a local sqlite or sqlcipher database
334
279
  * If you want libsql remote or sync connections, use openSync or openRemote
335
280
  */
336
- exports.openRemote = openRemote;
337
- const open = params => {
281
+ export const open = params => {
338
282
  if (params.location?.startsWith('file://')) {
339
283
  console.warn("[op-sqlite] You are passing a path with 'file://' prefix, it's automatically removed");
340
284
  params.location = params.location.substring(7);
@@ -351,9 +295,8 @@ const open = params => {
351
295
  * @param args object with the parameters for the operaiton
352
296
  * @returns promise, rejects if failed to move the database, resolves if the operation was successful
353
297
  */
354
- exports.open = open;
355
- const moveAssetsDatabase = async args => {
356
- return _reactNative.NativeModules.OPSQLite.moveAssetsDatabase(args);
298
+ export const moveAssetsDatabase = async args => {
299
+ return NativeModules.OPSQLite.moveAssetsDatabase(args);
357
300
  };
358
301
 
359
302
  /**
@@ -364,24 +307,19 @@ const moveAssetsDatabase = async args => {
364
307
  * @param name the file name of the dylib file
365
308
  * @returns
366
309
  */
367
- exports.moveAssetsDatabase = moveAssetsDatabase;
368
- const getDylibPath = (bundle, name) => {
369
- return _reactNative.NativeModules.OPSQLite.getDylibPath(bundle, name);
310
+ export const getDylibPath = (bundle, name) => {
311
+ return NativeModules.OPSQLite.getDylibPath(bundle, name);
370
312
  };
371
- exports.getDylibPath = getDylibPath;
372
- const isSQLCipher = () => {
313
+ export const isSQLCipher = () => {
373
314
  return OPSQLite.isSQLCipher();
374
315
  };
375
- exports.isSQLCipher = isSQLCipher;
376
- const isLibsql = () => {
316
+ export const isLibsql = () => {
377
317
  return OPSQLite.isLibsql();
378
318
  };
379
- exports.isLibsql = isLibsql;
380
- const isIOSEmbeeded = () => {
381
- if (_reactNative.Platform.OS !== 'ios') {
319
+ export const isIOSEmbeeded = () => {
320
+ if (Platform.OS !== 'ios') {
382
321
  return false;
383
322
  }
384
323
  return OPSQLite.isIOSEmbedded();
385
324
  };
386
- exports.isIOSEmbeeded = isIOSEmbeeded;
387
- //# sourceMappingURL=index.js.map
325
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","global","__OPSQLiteProxy","OPSQLite","Error","installed","install","proxy","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","length","tx","shift","setImmediate","start","sanitizeArrayBuffersInArray","params","map","p","Array","isArray","ArrayBuffer","isView","buffer","enhancedDb","delete","attach","detach","executeBatch","commands","sanitizedCommands","query","run","executeSync","res","executionError","rollbackError","Promise","resolve","reject","then","catch","push","loadFile","updateHook","commitHook","rollbackHook","loadExtension","getDbPath","reactiveExecute","sync","close","executeWithHostObjects","sanitizedParams","executeRaw","executeRawSync","executeRawAsync","intermediateResult","rows","i","rawRows","row","rawRow","j","columnNames","columnName","value","executeAsync","execute","prepareStatement","stmt","bindSync","bind","transaction","fn","isFinalized","name","url","commit","result","flushPendingReactiveQueries","rollback","openSync","isLibsql","openRemote","open","location","startsWith","console","warn","substring","moveAssetsDatabase","args","getDylibPath","bundle","isSQLCipher","isIOSEmbeeded","OS","isIOSEmbedded"],"sourceRoot":"../../src","sources":["functions.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { NativeModules, Platform } from 'react-native';
4
- export { Storage } from './Storage';
3
+ import { NativeModules } from 'react-native';
4
+ export { Storage } from "./Storage.js";
5
+ export * from "./functions.js";
5
6
 
6
7
  /**
7
8
  * Object returned by SQL Query executions {
@@ -37,24 +38,6 @@ export { Storage } from './Storage';
37
38
  * Similar to BatchQueryResult
38
39
  */
39
40
 
40
- if (global.__OPSQLiteProxy == null) {
41
- if (NativeModules.OPSQLite == null) {
42
- throw new Error('Base module not found. Did you do a pod install/clear the gradle cache?');
43
- }
44
-
45
- // Call the synchronous blocking install() function
46
- const installed = NativeModules.OPSQLite.install();
47
- if (!installed) {
48
- throw new Error(`Failed to install op-sqlite: The native OPSQLite Module could not be installed! Looks like something went wrong when installing JSI bindings, check the native logs for more info`);
49
- }
50
-
51
- // Check again if the constructor now exists. If not, throw an error.
52
- if (global.__OPSQLiteProxy == null) {
53
- throw new Error('OPSqlite native object is not available. Something is wrong. Check the native logs for more information.');
54
- }
55
- }
56
- const proxy = global.__OPSQLiteProxy;
57
- const OPSQLite = proxy;
58
41
  export const {
59
42
  IOS_DOCUMENT_PATH,
60
43
  IOS_LIBRARY_PATH,
@@ -62,303 +45,4 @@ export const {
62
45
  ANDROID_FILES_PATH,
63
46
  ANDROID_EXTERNAL_FILES_PATH
64
47
  } = !!NativeModules.OPSQLite.getConstants ? NativeModules.OPSQLite.getConstants() : NativeModules.OPSQLite;
65
- function enhanceDB(db, options) {
66
- const lock = {
67
- queue: [],
68
- inProgress: false
69
- };
70
- const startNextTransaction = () => {
71
- if (lock.inProgress) {
72
- // Transaction is already in process bail out
73
- return;
74
- }
75
- if (lock.queue.length) {
76
- lock.inProgress = true;
77
- const tx = lock.queue.shift();
78
- if (!tx) {
79
- throw new Error('Could not get a operation on database');
80
- }
81
- setImmediate(() => {
82
- tx.start();
83
- });
84
- }
85
- };
86
- function sanitizeArrayBuffersInArray(params) {
87
- if (!params) {
88
- return params;
89
- }
90
- return params.map(p => {
91
- if (Array.isArray(p)) {
92
- return sanitizeArrayBuffersInArray(p);
93
- }
94
- if (ArrayBuffer.isView(p)) {
95
- return p.buffer;
96
- }
97
- return p;
98
- });
99
- }
100
-
101
- // spreading the object does not work with HostObjects (db)
102
- // We need to manually assign the fields
103
- let enhancedDb = {
104
- delete: db.delete,
105
- attach: db.attach,
106
- detach: db.detach,
107
- executeBatch: async commands => {
108
- const sanitizedCommands = commands.map(([query, params]) => {
109
- if (params) {
110
- return [query, sanitizeArrayBuffersInArray(params)];
111
- }
112
- return [query];
113
- });
114
- async function run() {
115
- try {
116
- enhancedDb.executeSync('BEGIN TRANSACTION;');
117
- let res = await db.executeBatch(sanitizedCommands);
118
- enhancedDb.executeSync('COMMIT;');
119
- return res;
120
- } catch (executionError) {
121
- try {
122
- enhancedDb.executeSync('ROLLBACK;');
123
- } catch (rollbackError) {
124
- throw rollbackError;
125
- }
126
- throw executionError;
127
- } finally {
128
- lock.inProgress = false;
129
- startNextTransaction();
130
- }
131
- }
132
- return await new Promise((resolve, reject) => {
133
- const tx = {
134
- start: () => {
135
- run().then(resolve).catch(reject);
136
- }
137
- };
138
- lock.queue.push(tx);
139
- startNextTransaction();
140
- });
141
- },
142
- loadFile: db.loadFile,
143
- updateHook: db.updateHook,
144
- commitHook: db.commitHook,
145
- rollbackHook: db.rollbackHook,
146
- loadExtension: db.loadExtension,
147
- getDbPath: db.getDbPath,
148
- reactiveExecute: db.reactiveExecute,
149
- sync: db.sync,
150
- close: db.close,
151
- executeWithHostObjects: async (query, params) => {
152
- const sanitizedParams = sanitizeArrayBuffersInArray(params);
153
- return sanitizedParams ? await db.executeWithHostObjects(query, sanitizedParams) : await db.executeWithHostObjects(query);
154
- },
155
- executeRaw: async (query, params) => {
156
- const sanitizedParams = sanitizeArrayBuffersInArray(params);
157
- return db.executeRaw(query, sanitizedParams);
158
- },
159
- // Wrapper for executeRaw, drizzleORM uses this function
160
- // at some point I changed the API but they did not pin their dependency to a specific version
161
- // so re-inserting this so it starts working again
162
- executeRawAsync: async (query, params) => {
163
- const sanitizedParams = sanitizeArrayBuffersInArray(params);
164
- return db.executeRaw(query, sanitizedParams);
165
- },
166
- executeSync: (query, params) => {
167
- const sanitizedParams = sanitizeArrayBuffersInArray(params);
168
- let intermediateResult = sanitizedParams ? db.executeSync(query, sanitizedParams) : db.executeSync(query);
169
- let rows = [];
170
- for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
171
- let row = {};
172
- let rawRow = intermediateResult.rawRows[i];
173
- for (let j = 0; j < intermediateResult.columnNames.length; j++) {
174
- let columnName = intermediateResult.columnNames[j];
175
- let value = rawRow[j];
176
- row[columnName] = value;
177
- }
178
- rows.push(row);
179
- }
180
- let res = {
181
- ...intermediateResult,
182
- rows
183
- };
184
- delete res.rawRows;
185
- return res;
186
- },
187
- executeAsync: async (query, params) => {
188
- return db.execute(query, params);
189
- },
190
- execute: async (query, params) => {
191
- const sanitizedParams = sanitizeArrayBuffersInArray(params);
192
- let intermediateResult = await db.execute(query, sanitizedParams);
193
- let rows = [];
194
- for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
195
- let row = {};
196
- let rawRow = intermediateResult.rawRows[i];
197
- for (let j = 0; j < intermediateResult.columnNames.length; j++) {
198
- let columnName = intermediateResult.columnNames[j];
199
- let value = rawRow[j];
200
- row[columnName] = value;
201
- }
202
- rows.push(row);
203
- }
204
- let res = {
205
- ...intermediateResult,
206
- rows
207
- };
208
- delete res.rawRows;
209
- return res;
210
- },
211
- prepareStatement: query => {
212
- const stmt = db.prepareStatement(query);
213
- return {
214
- bindSync: params => {
215
- const sanitizedParams = sanitizeArrayBuffersInArray(params);
216
- stmt.bindSync(sanitizedParams);
217
- },
218
- bind: async params => {
219
- const sanitizedParams = sanitizeArrayBuffersInArray(params);
220
- await stmt.bind(sanitizedParams);
221
- },
222
- execute: stmt.execute
223
- };
224
- },
225
- transaction: async fn => {
226
- let isFinalized = false;
227
- const execute = async (query, params) => {
228
- if (isFinalized) {
229
- throw Error(`OP-Sqlite Error: Database: ${options.name || options.url}. Cannot execute query on finalized transaction`);
230
- }
231
- return await enhancedDb.execute(query, params);
232
- };
233
- const commit = async () => {
234
- if (isFinalized) {
235
- throw Error(`OP-Sqlite Error: Database: ${options.name || options.url}. Cannot execute query on finalized transaction`);
236
- }
237
- const result = enhancedDb.executeSync('COMMIT;');
238
- await db.flushPendingReactiveQueries();
239
- isFinalized = true;
240
- return result;
241
- };
242
- const rollback = () => {
243
- if (isFinalized) {
244
- throw Error(`OP-Sqlite Error: Database: ${options.name || options.url}. Cannot execute query on finalized transaction`);
245
- }
246
- const result = enhancedDb.executeSync('ROLLBACK;');
247
- isFinalized = true;
248
- return result;
249
- };
250
- async function run() {
251
- try {
252
- enhancedDb.executeSync('BEGIN TRANSACTION;');
253
- await fn({
254
- commit,
255
- execute,
256
- rollback
257
- });
258
- if (!isFinalized) {
259
- commit();
260
- }
261
- } catch (executionError) {
262
- if (!isFinalized) {
263
- try {
264
- rollback();
265
- } catch (rollbackError) {
266
- throw rollbackError;
267
- }
268
- }
269
- throw executionError;
270
- } finally {
271
- lock.inProgress = false;
272
- isFinalized = false;
273
- startNextTransaction();
274
- }
275
- }
276
- return await new Promise((resolve, reject) => {
277
- const tx = {
278
- start: () => {
279
- run().then(resolve).catch(reject);
280
- }
281
- };
282
- lock.queue.push(tx);
283
- startNextTransaction();
284
- });
285
- }
286
- };
287
- return enhancedDb;
288
- }
289
-
290
- /**
291
- * Open a replicating connection via libsql to a turso db
292
- * libsql needs to be enabled on your package.json
293
- */
294
- export const openSync = params => {
295
- if (!isLibsql()) {
296
- throw new Error('This function is only available for libsql');
297
- }
298
- const db = OPSQLite.openSync(params);
299
- const enhancedDb = enhanceDB(db, params);
300
- return enhancedDb;
301
- };
302
-
303
- /**
304
- * Open a remote connection via libsql to a turso db
305
- * libsql needs to be enabled on your package.json
306
- */
307
- export const openRemote = params => {
308
- if (!isLibsql()) {
309
- throw new Error('This function is only available for libsql');
310
- }
311
- const db = OPSQLite.openRemote(params);
312
- const enhancedDb = enhanceDB(db, params);
313
- return enhancedDb;
314
- };
315
-
316
- /**
317
- * Open a connection to a local sqlite or sqlcipher database
318
- * If you want libsql remote or sync connections, use openSync or openRemote
319
- */
320
- export const open = params => {
321
- if (params.location?.startsWith('file://')) {
322
- console.warn("[op-sqlite] You are passing a path with 'file://' prefix, it's automatically removed");
323
- params.location = params.location.substring(7);
324
- }
325
- const db = OPSQLite.open(params);
326
- const enhancedDb = enhanceDB(db, params);
327
- return enhancedDb;
328
- };
329
-
330
- /**
331
- * Moves the database from the assets folder to the default path (check the docs) or to a custom path
332
- * It DOES NOT OVERWRITE the database if it already exists in the destination path
333
- * if you want to overwrite the database, you need to pass the overwrite flag as true
334
- * @param args object with the parameters for the operaiton
335
- * @returns promise, rejects if failed to move the database, resolves if the operation was successful
336
- */
337
- export const moveAssetsDatabase = async args => {
338
- return NativeModules.OPSQLite.moveAssetsDatabase(args);
339
- };
340
-
341
- /**
342
- * Used to load a dylib file that contains a sqlite 3 extension/plugin
343
- * It returns the raw path to the actual file which then needs to be passed to the loadExtension function
344
- * Check the docs for more information
345
- * @param bundle the iOS bundle identifier of the .framework
346
- * @param name the file name of the dylib file
347
- * @returns
348
- */
349
- export const getDylibPath = (bundle, name) => {
350
- return NativeModules.OPSQLite.getDylibPath(bundle, name);
351
- };
352
- export const isSQLCipher = () => {
353
- return OPSQLite.isSQLCipher();
354
- };
355
- export const isLibsql = () => {
356
- return OPSQLite.isLibsql();
357
- };
358
- export const isIOSEmbeeded = () => {
359
- if (Platform.OS !== 'ios') {
360
- return false;
361
- }
362
- return OPSQLite.isIOSEmbedded();
363
- };
364
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","Storage","global","__OPSQLiteProxy","OPSQLite","Error","installed","install","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","length","tx","shift","setImmediate","start","sanitizeArrayBuffersInArray","params","map","p","Array","isArray","ArrayBuffer","isView","buffer","enhancedDb","delete","attach","detach","executeBatch","commands","sanitizedCommands","query","run","executeSync","res","executionError","rollbackError","Promise","resolve","reject","then","catch","push","loadFile","updateHook","commitHook","rollbackHook","loadExtension","getDbPath","reactiveExecute","sync","close","executeWithHostObjects","sanitizedParams","executeRaw","executeRawAsync","intermediateResult","rows","i","rawRows","row","rawRow","j","columnNames","columnName","value","executeAsync","execute","prepareStatement","stmt","bindSync","bind","transaction","fn","isFinalized","name","url","commit","result","flushPendingReactiveQueries","rollback","openSync","isLibsql","openRemote","open","location","startsWith","console","warn","substring","moveAssetsDatabase","args","getDylibPath","bundle","isSQLCipher","isIOSEmbeeded","OS","isIOSEmbedded"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Storage","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","OPSQLite","getConstants"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,SAASC,OAAO,QAAQ,cAAW;AACnC,cAAc,gBAAa;;AAU3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;;AAoPA,OAAO,MAAM;EACXC,iBAAiB;EACjBC,gBAAgB;EAChBC,qBAAqB;EACrBC,kBAAkB;EAClBC;AACF,CAAC,GAAG,CAAC,CAACN,aAAa,CAACO,QAAQ,CAACC,YAAY,GACrCR,aAAa,CAACO,QAAQ,CAACC,YAAY,CAAC,CAAC,GACrCR,aAAa,CAACO,QAAQ","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -18,6 +18,10 @@ export declare class Storage {
18
18
  clear(): Promise<void>;
19
19
  clearSync(): void;
20
20
  getAllKeys(): any[];
21
+ /**
22
+ * Deletes the underlying database file.
23
+ */
24
+ delete(): void;
21
25
  }
22
26
  export {};
23
27
  //# sourceMappingURL=Storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../src/Storage.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,EAAE,CAAK;gBAEH,OAAO,EAAE,cAAc;IAQ7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAavD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IActC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOxC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOhC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI5B,cAAc,CAAC,GAAG,EAAE,MAAM;IAIpB,KAAK;IAIX,SAAS;IAIT,UAAU;CAKX"}
1
+ {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../src/Storage.ts"],"names":[],"mappings":"AAGA,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,EAAE,CAAK;gBAEH,OAAO,EAAE,cAAc;IAQ7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAavD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IActC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOxC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOhC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI5B,cAAc,CAAC,GAAG,EAAE,MAAM;IAIpB,KAAK;IAIX,SAAS;IAIT,UAAU;IAMV;;OAEG;IACH,MAAM;CAGP"}
@@ -0,0 +1,61 @@
1
+ import { type DB, type OPSQLiteProxy } from './index';
2
+ declare global {
3
+ var __OPSQLiteProxy: object | undefined;
4
+ }
5
+ export declare const OPSQLite: OPSQLiteProxy;
6
+ /**
7
+ * Open a replicating connection via libsql to a turso db
8
+ * libsql needs to be enabled on your package.json
9
+ */
10
+ export declare const openSync: (params: {
11
+ url: string;
12
+ authToken: string;
13
+ name: string;
14
+ location?: string;
15
+ libsqlSyncInterval?: number;
16
+ libsqlOffline?: boolean;
17
+ encryptionKey?: string;
18
+ remoteEncryptionKey?: string;
19
+ }) => DB;
20
+ /**
21
+ * Open a remote connection via libsql to a turso db
22
+ * libsql needs to be enabled on your package.json
23
+ */
24
+ export declare const openRemote: (params: {
25
+ url: string;
26
+ authToken: string;
27
+ }) => DB;
28
+ /**
29
+ * Open a connection to a local sqlite or sqlcipher database
30
+ * If you want libsql remote or sync connections, use openSync or openRemote
31
+ */
32
+ export declare const open: (params: {
33
+ name: string;
34
+ location?: string;
35
+ encryptionKey?: string;
36
+ }) => DB;
37
+ /**
38
+ * Moves the database from the assets folder to the default path (check the docs) or to a custom path
39
+ * It DOES NOT OVERWRITE the database if it already exists in the destination path
40
+ * if you want to overwrite the database, you need to pass the overwrite flag as true
41
+ * @param args object with the parameters for the operaiton
42
+ * @returns promise, rejects if failed to move the database, resolves if the operation was successful
43
+ */
44
+ export declare const moveAssetsDatabase: (args: {
45
+ filename: string;
46
+ path?: string;
47
+ overwrite?: boolean;
48
+ }) => Promise<boolean>;
49
+ /**
50
+ * Used to load a dylib file that contains a sqlite 3 extension/plugin
51
+ * It returns the raw path to the actual file which then needs to be passed to the loadExtension function
52
+ * Check the docs for more information
53
+ * @param bundle the iOS bundle identifier of the .framework
54
+ * @param name the file name of the dylib file
55
+ * @returns
56
+ */
57
+ export declare const getDylibPath: (bundle: string, name: string) => string;
58
+ export declare const isSQLCipher: () => boolean;
59
+ export declare const isLibsql: () => boolean;
60
+ export declare const isIOSEmbeeded: () => boolean;
61
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,EAAE,EAOP,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AA0BD,eAAO,MAAM,QAAQ,EAAY,aAAa,CAAC;AAuT/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,KAAG,EASH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAG,EASvE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,QAAQ;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KAAG,EAYH,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAU,MAAM;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,KAAG,OAAO,CAAC,OAAO,CAElB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,MAE3D,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,OAE9B,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAO,OAE3B,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,OAMhC,CAAC"}