@capgo/capacitor-fast-sql 7.0.1 → 7.2.5

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 +1 @@
1
- {"version":3,"file":"sql-connection.d.ts","sourceRoot":"","sources":["../../src/sql-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EACT,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;gBAElB,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOzD;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;;;OAMG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,QAAQ,EAAE,GAClB,OAAO,CAAC,SAAS,CAAC;IAuBrB;;;;;OAKG;IACG,YAAY,CAChB,UAAU,EAAE,iBAAiB,EAAE,GAC9B,OAAO,CAAC,SAAS,EAAE,CAAC;IAyBvB;;;;OAIG;IACG,gBAAgB,CACpB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,IAAI,CAAC;IAyBhB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB/B;;;;;OAKG;IACG,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7C,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,CAAC,CAAC;IAYb;;;;;;OAMG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtE;;;;;;OAMG;IACG,GAAG,CACP,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,QAAQ,EAAE,GAClB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQvD;;;OAGG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAQ3B"}
1
+ {"version":3,"file":"sql-connection.d.ts","sourceRoot":"","sources":["../../src/sql-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;gBAElB,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOzD;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;;;OAMG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAuBzE;;;;;OAKG;IACG,YAAY,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAyBzE;;;;OAIG;IACG,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtE;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB/B;;;;;OAKG;IACG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAYhH;;;;;;OAMG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtE;;;;;;OAMG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQvG;;;OAGG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAQ3B"}
@@ -207,9 +207,7 @@ export class SQLConnection {
207
207
  rows: result.rows.map((row) => {
208
208
  const deserializedRow = {};
209
209
  for (const [key, value] of Object.entries(row)) {
210
- if (value &&
211
- typeof value === 'object' &&
212
- value._type === 'binary') {
210
+ if (value && typeof value === 'object' && value._type === 'binary') {
213
211
  deserializedRow[key] = this.base64ToUint8Array(value._data);
214
212
  }
215
213
  else {
package/dist/esm/web.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
- import type { CapgoCapacitorNativeSqlPlugin, SQLConnectionOptions, SQLResult, SQLValue, IsolationLevel } from './definitions';
2
+ import type { CapgoCapacitorFastSqlPlugin, SQLConnectionOptions, SQLResult, SQLValue, IsolationLevel } from './definitions';
3
3
  /**
4
4
  * Web implementation using sql.js (SQLite compiled to WebAssembly)
5
5
  *
6
6
  * This provides a compatible API on the web platform, storing databases
7
7
  * in IndexedDB for persistence.
8
8
  */
9
- export declare class CapgoCapacitorNativeSqlWeb extends WebPlugin implements CapgoCapacitorNativeSqlPlugin {
9
+ export declare class CapgoCapacitorFastSqlWeb extends WebPlugin implements CapgoCapacitorFastSqlPlugin {
10
10
  private databases;
11
11
  private sqlPromise;
12
12
  private nextPort;
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACf,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,qBAAa,0BACX,SAAQ,SACR,YAAW,6BAA6B;IAExC,OAAO,CAAC,SAAS,CAGH;IACd,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAQ;;IAOxB;;OAEG;YACW,SAAS;IAyBjB,OAAO,CACX,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBvD,UAAU,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD,aAAa,CAAC,OAAO,EAAE;QAC3B,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAYtC,OAAO,CAAC,OAAO,EAAE;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC,SAAS,CAAC;IAiChB,gBAAgB,CAAC,OAAO,EAAE;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOX,iBAAiB,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D,mBAAmB,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;YACW,eAAe;IAmC7B;;OAEG;YACW,iBAAiB;IAkCzB,gBAAgB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAGvD"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EACV,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACf,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,SAAU,YAAW,2BAA2B;IAC5F,OAAO,CAAC,SAAS,CAAoE;IACrF,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAQ;;IAOxB;;OAEG;YACW,SAAS;IAuBjB,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBlG,UAAU,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD,aAAa,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAYtF,OAAO,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAiClG,gBAAgB,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/F,iBAAiB,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D,mBAAmB,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;YACW,eAAe;IAgC7B;;OAEG;YACW,iBAAiB;IAgCzB,gBAAgB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAGvD"}
package/dist/esm/web.js CHANGED
@@ -5,7 +5,7 @@ import { WebPlugin } from '@capacitor/core';
5
5
  * This provides a compatible API on the web platform, storing databases
6
6
  * in IndexedDB for persistence.
7
7
  */
8
- export class CapgoCapacitorNativeSqlWeb extends WebPlugin {
8
+ export class CapgoCapacitorFastSqlWeb extends WebPlugin {
9
9
  constructor() {
10
10
  super();
11
11
  this.databases = new Map();
@@ -19,12 +19,11 @@ export class CapgoCapacitorNativeSqlWeb extends WebPlugin {
19
19
  async loadSqlJs() {
20
20
  if (this.sqlPromise)
21
21
  return;
22
- this.sqlPromise = new Promise(async (resolve, reject) => {
22
+ this.sqlPromise = new Promise((resolve, reject) => {
23
23
  try {
24
24
  // Load sql.js from CDN
25
25
  const script = document.createElement('script');
26
- script.src =
27
- 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';
26
+ script.src = 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';
28
27
  script.onload = async () => {
29
28
  const initSqlJs = window.initSqlJs;
30
29
  const SQL = await initSqlJs({
@@ -210,6 +209,6 @@ export class CapgoCapacitorNativeSqlWeb extends WebPlugin {
210
209
  });
211
210
  }
212
211
  async getPluginVersion() {
213
- return { version: "web" };
212
+ return { version: 'web' };
214
213
  }
215
214
  }
@@ -13,8 +13,8 @@ exports.IsolationLevel = void 0;
13
13
  IsolationLevel["Serializable"] = "SERIALIZABLE";
14
14
  })(exports.IsolationLevel || (exports.IsolationLevel = {}));
15
15
 
16
- const CapgoCapacitorNativeSql = core.registerPlugin('CapgoCapacitorNativeSql', {
17
- web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.CapgoCapacitorNativeSqlWeb()),
16
+ const CapgoCapacitorFastSql = core.registerPlugin('CapgoCapacitorFastSql', {
17
+ web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.CapgoCapacitorFastSqlWeb()),
18
18
  });
19
19
 
20
20
  /**
@@ -225,9 +225,7 @@ class SQLConnection {
225
225
  rows: result.rows.map((row) => {
226
226
  const deserializedRow = {};
227
227
  for (const [key, value] of Object.entries(row)) {
228
- if (value &&
229
- typeof value === 'object' &&
230
- value._type === 'binary') {
228
+ if (value && typeof value === 'object' && value._type === 'binary') {
231
229
  deserializedRow[key] = this.base64ToUint8Array(value._data);
232
230
  }
233
231
  else {
@@ -264,12 +262,12 @@ class SQLConnection {
264
262
  }
265
263
 
266
264
  /**
267
- * NativeSQL - High-level API for managing SQL connections
265
+ * FastSQL - High-level API for managing SQL connections
268
266
  *
269
267
  * This class provides a convenient interface for opening/closing database connections
270
268
  * and managing multiple databases simultaneously.
271
269
  */
272
- class NativeSQL {
270
+ class FastSQL {
273
271
  /**
274
272
  * Open a database connection
275
273
  *
@@ -282,7 +280,7 @@ class NativeSQL {
282
280
  return this.connections.get(options.database);
283
281
  }
284
282
  // Connect via native plugin
285
- const info = await CapgoCapacitorNativeSql.connect(options);
283
+ const info = await CapgoCapacitorFastSql.connect(options);
286
284
  // Create connection instance
287
285
  const connection = new SQLConnection(info.database, info.port, info.token);
288
286
  // Store connection
@@ -300,7 +298,7 @@ class NativeSQL {
300
298
  throw new Error(`Database '${database}' is not connected`);
301
299
  }
302
300
  // Disconnect via native plugin
303
- await CapgoCapacitorNativeSql.disconnect({ database });
301
+ await CapgoCapacitorFastSql.disconnect({ database });
304
302
  // Remove connection
305
303
  this.connections.delete(database);
306
304
  }
@@ -329,7 +327,7 @@ class NativeSQL {
329
327
  return Array.from(this.connections.keys());
330
328
  }
331
329
  }
332
- NativeSQL.connections = new Map();
330
+ FastSQL.connections = new Map();
333
331
 
334
332
  /**
335
333
  * Web implementation using sql.js (SQLite compiled to WebAssembly)
@@ -337,7 +335,7 @@ NativeSQL.connections = new Map();
337
335
  * This provides a compatible API on the web platform, storing databases
338
336
  * in IndexedDB for persistence.
339
337
  */
340
- class CapgoCapacitorNativeSqlWeb extends core.WebPlugin {
338
+ class CapgoCapacitorFastSqlWeb extends core.WebPlugin {
341
339
  constructor() {
342
340
  super();
343
341
  this.databases = new Map();
@@ -351,12 +349,11 @@ class CapgoCapacitorNativeSqlWeb extends core.WebPlugin {
351
349
  async loadSqlJs() {
352
350
  if (this.sqlPromise)
353
351
  return;
354
- this.sqlPromise = new Promise(async (resolve, reject) => {
352
+ this.sqlPromise = new Promise((resolve, reject) => {
355
353
  try {
356
354
  // Load sql.js from CDN
357
355
  const script = document.createElement('script');
358
- script.src =
359
- 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';
356
+ script.src = 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';
360
357
  script.onload = async () => {
361
358
  const initSqlJs = window.initSqlJs;
362
359
  const SQL = await initSqlJs({
@@ -542,16 +539,16 @@ class CapgoCapacitorNativeSqlWeb extends core.WebPlugin {
542
539
  });
543
540
  }
544
541
  async getPluginVersion() {
545
- return { version: "web" };
542
+ return { version: 'web' };
546
543
  }
547
544
  }
548
545
 
549
546
  var web = /*#__PURE__*/Object.freeze({
550
547
  __proto__: null,
551
- CapgoCapacitorNativeSqlWeb: CapgoCapacitorNativeSqlWeb
548
+ CapgoCapacitorFastSqlWeb: CapgoCapacitorFastSqlWeb
552
549
  });
553
550
 
554
- exports.CapgoCapacitorNativeSql = CapgoCapacitorNativeSql;
555
- exports.NativeSQL = NativeSQL;
551
+ exports.CapgoCapacitorFastSql = CapgoCapacitorFastSql;
552
+ exports.FastSQL = FastSQL;
556
553
  exports.SQLConnection = SQLConnection;
557
554
  //# sourceMappingURL=plugin.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/plugin.js","esm/sql-connection.js","esm/native-sql.js","esm/web.js"],"sourcesContent":["/**\n * Transaction isolation levels\n */\nexport var IsolationLevel;\n(function (IsolationLevel) {\n IsolationLevel[\"ReadUncommitted\"] = \"READ UNCOMMITTED\";\n IsolationLevel[\"ReadCommitted\"] = \"READ COMMITTED\";\n IsolationLevel[\"RepeatableRead\"] = \"REPEATABLE READ\";\n IsolationLevel[\"Serializable\"] = \"SERIALIZABLE\";\n})(IsolationLevel || (IsolationLevel = {}));\n","import { registerPlugin } from '@capacitor/core';\nexport const CapgoCapacitorNativeSql = registerPlugin('CapgoCapacitorNativeSql', {\n web: () => import('./web').then((m) => new m.CapgoCapacitorNativeSqlWeb()),\n});\n","import { IsolationLevel } from './definitions';\n/**\n * SQL Connection class that uses HTTP protocol for efficient communication\n * with native SQLite databases, bypassing Capacitor's standard bridge.\n *\n * Inspired by capacitor-blob-writer's approach to avoid serialization overhead.\n */\nexport class SQLConnection {\n constructor(database, port, token) {\n this.inTransaction = false;\n this.database = database;\n this.port = port;\n this.token = token;\n this.baseUrl = `http://localhost:${port}`;\n }\n /**\n * Get the database name\n */\n getDatabaseName() {\n return this.database;\n }\n /**\n * Execute a SQL query via HTTP protocol for optimal performance\n *\n * @param statement - SQL statement to execute\n * @param params - Parameters to bind to the statement\n * @returns Query results\n */\n async execute(statement, params) {\n const response = await fetch(`${this.baseUrl}/execute`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n body: JSON.stringify({\n statement,\n params: params ? this.serializeParams(params) : [],\n }),\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`SQL execution failed: ${error}`);\n }\n const result = await response.json();\n return this.deserializeResult(result);\n }\n /**\n * Execute multiple SQL statements in a batch for better performance\n *\n * @param operations - Array of SQL operations to execute\n * @returns Array of results for each operation\n */\n async executeBatch(operations) {\n const response = await fetch(`${this.baseUrl}/batch`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n body: JSON.stringify({\n operations: operations.map((op) => ({\n statement: op.statement,\n params: op.params ? this.serializeParams(op.params) : [],\n })),\n }),\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`SQL batch execution failed: ${error}`);\n }\n const results = await response.json();\n return results.map((r) => this.deserializeResult(r));\n }\n /**\n * Begin a transaction\n *\n * @param isolationLevel - Optional isolation level\n */\n async beginTransaction(isolationLevel) {\n if (this.inTransaction) {\n throw new Error('Transaction already in progress');\n }\n const response = await fetch(`${this.baseUrl}/transaction/begin`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n body: JSON.stringify({\n isolationLevel: isolationLevel || IsolationLevel.Serializable,\n }),\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Failed to begin transaction: ${error}`);\n }\n this.inTransaction = true;\n }\n /**\n * Commit the current transaction\n */\n async commit() {\n if (!this.inTransaction) {\n throw new Error('No transaction in progress');\n }\n const response = await fetch(`${this.baseUrl}/transaction/commit`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Failed to commit transaction: ${error}`);\n }\n this.inTransaction = false;\n }\n /**\n * Rollback the current transaction\n */\n async rollback() {\n if (!this.inTransaction) {\n throw new Error('No transaction in progress');\n }\n const response = await fetch(`${this.baseUrl}/transaction/rollback`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Failed to rollback transaction: ${error}`);\n }\n this.inTransaction = false;\n }\n /**\n * Execute operations within a transaction automatically\n *\n * @param callback - Function containing operations to execute\n * @param isolationLevel - Optional isolation level\n */\n async transaction(callback, isolationLevel) {\n await this.beginTransaction(isolationLevel);\n try {\n const result = await callback(this);\n await this.commit();\n return result;\n }\n catch (error) {\n await this.rollback();\n throw error;\n }\n }\n /**\n * Query helper for SELECT statements\n *\n * @param statement - SELECT statement\n * @param params - Query parameters\n * @returns Array of rows\n */\n async query(statement, params) {\n const result = await this.execute(statement, params);\n return result.rows;\n }\n /**\n * Execute helper for INSERT/UPDATE/DELETE statements\n *\n * @param statement - SQL statement\n * @param params - Statement parameters\n * @returns Number of affected rows and insert ID if applicable\n */\n async run(statement, params) {\n const result = await this.execute(statement, params);\n return {\n rowsAffected: result.rowsAffected,\n insertId: result.insertId,\n };\n }\n /**\n * Serialize parameters for transmission\n * Binary data (Uint8Array) is converted to base64 for JSON transport\n */\n serializeParams(params) {\n return params.map((param) => {\n if (param instanceof Uint8Array) {\n return {\n _type: 'binary',\n _data: this.uint8ArrayToBase64(param),\n };\n }\n return param;\n });\n }\n /**\n * Deserialize result from server\n * Base64-encoded binary data is converted back to Uint8Array\n */\n deserializeResult(result) {\n return {\n rows: result.rows.map((row) => {\n const deserializedRow = {};\n for (const [key, value] of Object.entries(row)) {\n if (value &&\n typeof value === 'object' &&\n value._type === 'binary') {\n deserializedRow[key] = this.base64ToUint8Array(value._data);\n }\n else {\n deserializedRow[key] = value;\n }\n }\n return deserializedRow;\n }),\n rowsAffected: result.rowsAffected || 0,\n insertId: result.insertId,\n };\n }\n /**\n * Convert Uint8Array to base64 string\n */\n uint8ArrayToBase64(bytes) {\n let binary = '';\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n /**\n * Convert base64 string to Uint8Array\n */\n base64ToUint8Array(base64) {\n const binary = atob(base64);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n }\n}\n","import { CapgoCapacitorNativeSql } from './plugin';\nimport { SQLConnection } from './sql-connection';\n/**\n * NativeSQL - High-level API for managing SQL connections\n *\n * This class provides a convenient interface for opening/closing database connections\n * and managing multiple databases simultaneously.\n */\nexport class NativeSQL {\n /**\n * Open a database connection\n *\n * @param options - Connection options\n * @returns SQLConnection instance for executing queries\n */\n static async connect(options) {\n // Check if already connected\n if (this.connections.has(options.database)) {\n return this.connections.get(options.database);\n }\n // Connect via native plugin\n const info = await CapgoCapacitorNativeSql.connect(options);\n // Create connection instance\n const connection = new SQLConnection(info.database, info.port, info.token);\n // Store connection\n this.connections.set(options.database, connection);\n return connection;\n }\n /**\n * Close a database connection\n *\n * @param database - Database name to close\n */\n static async disconnect(database) {\n const connection = this.connections.get(database);\n if (!connection) {\n throw new Error(`Database '${database}' is not connected`);\n }\n // Disconnect via native plugin\n await CapgoCapacitorNativeSql.disconnect({ database });\n // Remove connection\n this.connections.delete(database);\n }\n /**\n * Get an existing connection\n *\n * @param database - Database name\n * @returns SQLConnection instance or null if not connected\n */\n static getConnection(database) {\n return this.connections.get(database) || null;\n }\n /**\n * Close all open connections\n */\n static async disconnectAll() {\n const databases = Array.from(this.connections.keys());\n await Promise.all(databases.map((db) => this.disconnect(db)));\n }\n /**\n * Get list of all open database connections\n *\n * @returns Array of database names\n */\n static getOpenDatabases() {\n return Array.from(this.connections.keys());\n }\n}\nNativeSQL.connections = new Map();\n","import { WebPlugin } from '@capacitor/core';\n/**\n * Web implementation using sql.js (SQLite compiled to WebAssembly)\n *\n * This provides a compatible API on the web platform, storing databases\n * in IndexedDB for persistence.\n */\nexport class CapgoCapacitorNativeSqlWeb extends WebPlugin {\n constructor() {\n super();\n this.databases = new Map();\n this.sqlPromise = null;\n this.nextPort = 9000;\n this.loadSqlJs();\n }\n /**\n * Load sql.js library\n */\n async loadSqlJs() {\n if (this.sqlPromise)\n return;\n this.sqlPromise = new Promise(async (resolve, reject) => {\n try {\n // Load sql.js from CDN\n const script = document.createElement('script');\n script.src =\n 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';\n script.onload = async () => {\n const initSqlJs = window.initSqlJs;\n const SQL = await initSqlJs({\n locateFile: (file) => `https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/${file}`,\n });\n resolve(SQL);\n };\n script.onerror = reject;\n document.head.appendChild(script);\n }\n catch (error) {\n reject(error);\n }\n });\n }\n async connect(options) {\n const SQL = await this.sqlPromise;\n // Check if database already exists in IndexedDB\n const savedData = await this.loadFromIndexedDB(options.database);\n let db;\n if (savedData) {\n db = new SQL.Database(savedData);\n }\n else {\n db = new SQL.Database();\n }\n const token = this.generateToken();\n const port = this.nextPort++;\n this.databases.set(options.database, { db, token, port });\n return {\n port,\n token,\n database: options.database,\n };\n }\n async disconnect(options) {\n const dbInfo = this.databases.get(options.database);\n if (!dbInfo) {\n throw new Error(`Database '${options.database}' is not connected`);\n }\n // Save to IndexedDB before closing\n const data = dbInfo.db.export();\n await this.saveToIndexedDB(options.database, data);\n dbInfo.db.close();\n this.databases.delete(options.database);\n }\n async getServerInfo(options) {\n const dbInfo = this.databases.get(options.database);\n if (!dbInfo) {\n throw new Error(`Database '${options.database}' is not connected`);\n }\n return {\n port: dbInfo.port,\n token: dbInfo.token,\n };\n }\n async execute(options) {\n const dbInfo = this.databases.get(options.database);\n if (!dbInfo) {\n throw new Error(`Database '${options.database}' is not connected`);\n }\n try {\n const stmt = dbInfo.db.prepare(options.statement);\n if (options.params) {\n stmt.bind(options.params);\n }\n const rows = [];\n while (stmt.step()) {\n const row = stmt.getAsObject();\n rows.push(row);\n }\n stmt.free();\n // Get changes and last insert ID\n const changes = dbInfo.db.getRowsModified();\n const insertId = this.getLastInsertId(dbInfo.db);\n return {\n rows,\n rowsAffected: changes,\n insertId: insertId > 0 ? insertId : undefined,\n };\n }\n catch (error) {\n throw new Error(`SQL execution failed: ${error.message}`);\n }\n }\n async beginTransaction(options) {\n await this.execute({\n database: options.database,\n statement: 'BEGIN TRANSACTION',\n });\n }\n async commitTransaction(options) {\n await this.execute({\n database: options.database,\n statement: 'COMMIT',\n });\n }\n async rollbackTransaction(options) {\n await this.execute({\n database: options.database,\n statement: 'ROLLBACK',\n });\n }\n /**\n * Generate a random authentication token\n */\n generateToken() {\n return Array.from(crypto.getRandomValues(new Uint8Array(32)))\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('');\n }\n /**\n * Get last insert row ID\n */\n getLastInsertId(db) {\n try {\n const result = db.exec('SELECT last_insert_rowid()');\n if (result.length > 0 && result[0].values.length > 0) {\n return result[0].values[0][0];\n }\n }\n catch (_a) {\n // Ignore error\n }\n return -1;\n }\n /**\n * Save database to IndexedDB\n */\n async saveToIndexedDB(dbName, data) {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open('CapacitorNativeSQL', 1);\n request.onerror = () => reject(request.error);\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n if (!db.objectStoreNames.contains('databases')) {\n db.createObjectStore('databases');\n }\n };\n request.onsuccess = () => {\n const db = request.result;\n const transaction = db.transaction(['databases'], 'readwrite');\n const store = transaction.objectStore('databases');\n const putRequest = store.put(data, dbName);\n putRequest.onsuccess = () => {\n db.close();\n resolve();\n };\n putRequest.onerror = () => {\n db.close();\n reject(putRequest.error);\n };\n };\n });\n }\n /**\n * Load database from IndexedDB\n */\n async loadFromIndexedDB(dbName) {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open('CapacitorNativeSQL', 1);\n request.onerror = () => reject(request.error);\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n if (!db.objectStoreNames.contains('databases')) {\n db.createObjectStore('databases');\n }\n };\n request.onsuccess = () => {\n const db = request.result;\n const transaction = db.transaction(['databases'], 'readonly');\n const store = transaction.objectStore('databases');\n const getRequest = store.get(dbName);\n getRequest.onsuccess = () => {\n db.close();\n resolve(getRequest.result || null);\n };\n getRequest.onerror = () => {\n db.close();\n reject(getRequest.error);\n };\n };\n });\n }\n async getPluginVersion() {\n return { version: \"web\" };\n }\n}\n"],"names":["IsolationLevel","registerPlugin","WebPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/plugin.js","esm/sql-connection.js","esm/fast-sql.js","esm/web.js"],"sourcesContent":["/**\n * Transaction isolation levels\n */\nexport var IsolationLevel;\n(function (IsolationLevel) {\n IsolationLevel[\"ReadUncommitted\"] = \"READ UNCOMMITTED\";\n IsolationLevel[\"ReadCommitted\"] = \"READ COMMITTED\";\n IsolationLevel[\"RepeatableRead\"] = \"REPEATABLE READ\";\n IsolationLevel[\"Serializable\"] = \"SERIALIZABLE\";\n})(IsolationLevel || (IsolationLevel = {}));\n","import { registerPlugin } from '@capacitor/core';\nexport const CapgoCapacitorFastSql = registerPlugin('CapgoCapacitorFastSql', {\n web: () => import('./web').then((m) => new m.CapgoCapacitorFastSqlWeb()),\n});\n","import { IsolationLevel } from './definitions';\n/**\n * SQL Connection class that uses HTTP protocol for efficient communication\n * with native SQLite databases, bypassing Capacitor's standard bridge.\n *\n * Inspired by capacitor-blob-writer's approach to avoid serialization overhead.\n */\nexport class SQLConnection {\n constructor(database, port, token) {\n this.inTransaction = false;\n this.database = database;\n this.port = port;\n this.token = token;\n this.baseUrl = `http://localhost:${port}`;\n }\n /**\n * Get the database name\n */\n getDatabaseName() {\n return this.database;\n }\n /**\n * Execute a SQL query via HTTP protocol for optimal performance\n *\n * @param statement - SQL statement to execute\n * @param params - Parameters to bind to the statement\n * @returns Query results\n */\n async execute(statement, params) {\n const response = await fetch(`${this.baseUrl}/execute`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n body: JSON.stringify({\n statement,\n params: params ? this.serializeParams(params) : [],\n }),\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`SQL execution failed: ${error}`);\n }\n const result = await response.json();\n return this.deserializeResult(result);\n }\n /**\n * Execute multiple SQL statements in a batch for better performance\n *\n * @param operations - Array of SQL operations to execute\n * @returns Array of results for each operation\n */\n async executeBatch(operations) {\n const response = await fetch(`${this.baseUrl}/batch`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n body: JSON.stringify({\n operations: operations.map((op) => ({\n statement: op.statement,\n params: op.params ? this.serializeParams(op.params) : [],\n })),\n }),\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`SQL batch execution failed: ${error}`);\n }\n const results = await response.json();\n return results.map((r) => this.deserializeResult(r));\n }\n /**\n * Begin a transaction\n *\n * @param isolationLevel - Optional isolation level\n */\n async beginTransaction(isolationLevel) {\n if (this.inTransaction) {\n throw new Error('Transaction already in progress');\n }\n const response = await fetch(`${this.baseUrl}/transaction/begin`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n body: JSON.stringify({\n isolationLevel: isolationLevel || IsolationLevel.Serializable,\n }),\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Failed to begin transaction: ${error}`);\n }\n this.inTransaction = true;\n }\n /**\n * Commit the current transaction\n */\n async commit() {\n if (!this.inTransaction) {\n throw new Error('No transaction in progress');\n }\n const response = await fetch(`${this.baseUrl}/transaction/commit`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Failed to commit transaction: ${error}`);\n }\n this.inTransaction = false;\n }\n /**\n * Rollback the current transaction\n */\n async rollback() {\n if (!this.inTransaction) {\n throw new Error('No transaction in progress');\n }\n const response = await fetch(`${this.baseUrl}/transaction/rollback`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${this.token}`,\n 'X-Database': this.database,\n },\n });\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Failed to rollback transaction: ${error}`);\n }\n this.inTransaction = false;\n }\n /**\n * Execute operations within a transaction automatically\n *\n * @param callback - Function containing operations to execute\n * @param isolationLevel - Optional isolation level\n */\n async transaction(callback, isolationLevel) {\n await this.beginTransaction(isolationLevel);\n try {\n const result = await callback(this);\n await this.commit();\n return result;\n }\n catch (error) {\n await this.rollback();\n throw error;\n }\n }\n /**\n * Query helper for SELECT statements\n *\n * @param statement - SELECT statement\n * @param params - Query parameters\n * @returns Array of rows\n */\n async query(statement, params) {\n const result = await this.execute(statement, params);\n return result.rows;\n }\n /**\n * Execute helper for INSERT/UPDATE/DELETE statements\n *\n * @param statement - SQL statement\n * @param params - Statement parameters\n * @returns Number of affected rows and insert ID if applicable\n */\n async run(statement, params) {\n const result = await this.execute(statement, params);\n return {\n rowsAffected: result.rowsAffected,\n insertId: result.insertId,\n };\n }\n /**\n * Serialize parameters for transmission\n * Binary data (Uint8Array) is converted to base64 for JSON transport\n */\n serializeParams(params) {\n return params.map((param) => {\n if (param instanceof Uint8Array) {\n return {\n _type: 'binary',\n _data: this.uint8ArrayToBase64(param),\n };\n }\n return param;\n });\n }\n /**\n * Deserialize result from server\n * Base64-encoded binary data is converted back to Uint8Array\n */\n deserializeResult(result) {\n return {\n rows: result.rows.map((row) => {\n const deserializedRow = {};\n for (const [key, value] of Object.entries(row)) {\n if (value && typeof value === 'object' && value._type === 'binary') {\n deserializedRow[key] = this.base64ToUint8Array(value._data);\n }\n else {\n deserializedRow[key] = value;\n }\n }\n return deserializedRow;\n }),\n rowsAffected: result.rowsAffected || 0,\n insertId: result.insertId,\n };\n }\n /**\n * Convert Uint8Array to base64 string\n */\n uint8ArrayToBase64(bytes) {\n let binary = '';\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n /**\n * Convert base64 string to Uint8Array\n */\n base64ToUint8Array(base64) {\n const binary = atob(base64);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n }\n}\n","import { CapgoCapacitorFastSql } from './plugin';\nimport { SQLConnection } from './sql-connection';\n/**\n * FastSQL - High-level API for managing SQL connections\n *\n * This class provides a convenient interface for opening/closing database connections\n * and managing multiple databases simultaneously.\n */\nexport class FastSQL {\n /**\n * Open a database connection\n *\n * @param options - Connection options\n * @returns SQLConnection instance for executing queries\n */\n static async connect(options) {\n // Check if already connected\n if (this.connections.has(options.database)) {\n return this.connections.get(options.database);\n }\n // Connect via native plugin\n const info = await CapgoCapacitorFastSql.connect(options);\n // Create connection instance\n const connection = new SQLConnection(info.database, info.port, info.token);\n // Store connection\n this.connections.set(options.database, connection);\n return connection;\n }\n /**\n * Close a database connection\n *\n * @param database - Database name to close\n */\n static async disconnect(database) {\n const connection = this.connections.get(database);\n if (!connection) {\n throw new Error(`Database '${database}' is not connected`);\n }\n // Disconnect via native plugin\n await CapgoCapacitorFastSql.disconnect({ database });\n // Remove connection\n this.connections.delete(database);\n }\n /**\n * Get an existing connection\n *\n * @param database - Database name\n * @returns SQLConnection instance or null if not connected\n */\n static getConnection(database) {\n return this.connections.get(database) || null;\n }\n /**\n * Close all open connections\n */\n static async disconnectAll() {\n const databases = Array.from(this.connections.keys());\n await Promise.all(databases.map((db) => this.disconnect(db)));\n }\n /**\n * Get list of all open database connections\n *\n * @returns Array of database names\n */\n static getOpenDatabases() {\n return Array.from(this.connections.keys());\n }\n}\nFastSQL.connections = new Map();\n","import { WebPlugin } from '@capacitor/core';\n/**\n * Web implementation using sql.js (SQLite compiled to WebAssembly)\n *\n * This provides a compatible API on the web platform, storing databases\n * in IndexedDB for persistence.\n */\nexport class CapgoCapacitorFastSqlWeb extends WebPlugin {\n constructor() {\n super();\n this.databases = new Map();\n this.sqlPromise = null;\n this.nextPort = 9000;\n this.loadSqlJs();\n }\n /**\n * Load sql.js library\n */\n async loadSqlJs() {\n if (this.sqlPromise)\n return;\n this.sqlPromise = new Promise((resolve, reject) => {\n try {\n // Load sql.js from CDN\n const script = document.createElement('script');\n script.src = 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';\n script.onload = async () => {\n const initSqlJs = window.initSqlJs;\n const SQL = await initSqlJs({\n locateFile: (file) => `https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/${file}`,\n });\n resolve(SQL);\n };\n script.onerror = reject;\n document.head.appendChild(script);\n }\n catch (error) {\n reject(error);\n }\n });\n }\n async connect(options) {\n const SQL = await this.sqlPromise;\n // Check if database already exists in IndexedDB\n const savedData = await this.loadFromIndexedDB(options.database);\n let db;\n if (savedData) {\n db = new SQL.Database(savedData);\n }\n else {\n db = new SQL.Database();\n }\n const token = this.generateToken();\n const port = this.nextPort++;\n this.databases.set(options.database, { db, token, port });\n return {\n port,\n token,\n database: options.database,\n };\n }\n async disconnect(options) {\n const dbInfo = this.databases.get(options.database);\n if (!dbInfo) {\n throw new Error(`Database '${options.database}' is not connected`);\n }\n // Save to IndexedDB before closing\n const data = dbInfo.db.export();\n await this.saveToIndexedDB(options.database, data);\n dbInfo.db.close();\n this.databases.delete(options.database);\n }\n async getServerInfo(options) {\n const dbInfo = this.databases.get(options.database);\n if (!dbInfo) {\n throw new Error(`Database '${options.database}' is not connected`);\n }\n return {\n port: dbInfo.port,\n token: dbInfo.token,\n };\n }\n async execute(options) {\n const dbInfo = this.databases.get(options.database);\n if (!dbInfo) {\n throw new Error(`Database '${options.database}' is not connected`);\n }\n try {\n const stmt = dbInfo.db.prepare(options.statement);\n if (options.params) {\n stmt.bind(options.params);\n }\n const rows = [];\n while (stmt.step()) {\n const row = stmt.getAsObject();\n rows.push(row);\n }\n stmt.free();\n // Get changes and last insert ID\n const changes = dbInfo.db.getRowsModified();\n const insertId = this.getLastInsertId(dbInfo.db);\n return {\n rows,\n rowsAffected: changes,\n insertId: insertId > 0 ? insertId : undefined,\n };\n }\n catch (error) {\n throw new Error(`SQL execution failed: ${error.message}`);\n }\n }\n async beginTransaction(options) {\n await this.execute({\n database: options.database,\n statement: 'BEGIN TRANSACTION',\n });\n }\n async commitTransaction(options) {\n await this.execute({\n database: options.database,\n statement: 'COMMIT',\n });\n }\n async rollbackTransaction(options) {\n await this.execute({\n database: options.database,\n statement: 'ROLLBACK',\n });\n }\n /**\n * Generate a random authentication token\n */\n generateToken() {\n return Array.from(crypto.getRandomValues(new Uint8Array(32)))\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('');\n }\n /**\n * Get last insert row ID\n */\n getLastInsertId(db) {\n try {\n const result = db.exec('SELECT last_insert_rowid()');\n if (result.length > 0 && result[0].values.length > 0) {\n return result[0].values[0][0];\n }\n }\n catch (_a) {\n // Ignore error\n }\n return -1;\n }\n /**\n * Save database to IndexedDB\n */\n async saveToIndexedDB(dbName, data) {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open('CapacitorNativeSQL', 1);\n request.onerror = () => reject(request.error);\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n if (!db.objectStoreNames.contains('databases')) {\n db.createObjectStore('databases');\n }\n };\n request.onsuccess = () => {\n const db = request.result;\n const transaction = db.transaction(['databases'], 'readwrite');\n const store = transaction.objectStore('databases');\n const putRequest = store.put(data, dbName);\n putRequest.onsuccess = () => {\n db.close();\n resolve();\n };\n putRequest.onerror = () => {\n db.close();\n reject(putRequest.error);\n };\n };\n });\n }\n /**\n * Load database from IndexedDB\n */\n async loadFromIndexedDB(dbName) {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open('CapacitorNativeSQL', 1);\n request.onerror = () => reject(request.error);\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n if (!db.objectStoreNames.contains('databases')) {\n db.createObjectStore('databases');\n }\n };\n request.onsuccess = () => {\n const db = request.result;\n const transaction = db.transaction(['databases'], 'readonly');\n const store = transaction.objectStore('databases');\n const getRequest = store.get(dbName);\n getRequest.onsuccess = () => {\n db.close();\n resolve(getRequest.result || null);\n };\n getRequest.onerror = () => {\n db.close();\n reject(getRequest.error);\n };\n };\n });\n }\n async getPluginVersion() {\n return { version: 'web' };\n }\n}\n"],"names":["IsolationLevel","registerPlugin","WebPlugin"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -1,4 +1,4 @@
1
- var capacitorNativeSql = (function (exports, core) {
1
+ var capacitorCapgoCapacitorFastSql = (function (exports, core) {
2
2
  'use strict';
3
3
 
4
4
  /**
@@ -12,8 +12,8 @@ var capacitorNativeSql = (function (exports, core) {
12
12
  IsolationLevel["Serializable"] = "SERIALIZABLE";
13
13
  })(exports.IsolationLevel || (exports.IsolationLevel = {}));
14
14
 
15
- const CapgoCapacitorNativeSql = core.registerPlugin('CapgoCapacitorNativeSql', {
16
- web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.CapgoCapacitorNativeSqlWeb()),
15
+ const CapgoCapacitorFastSql = core.registerPlugin('CapgoCapacitorFastSql', {
16
+ web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.CapgoCapacitorFastSqlWeb()),
17
17
  });
18
18
 
19
19
  /**
@@ -224,9 +224,7 @@ var capacitorNativeSql = (function (exports, core) {
224
224
  rows: result.rows.map((row) => {
225
225
  const deserializedRow = {};
226
226
  for (const [key, value] of Object.entries(row)) {
227
- if (value &&
228
- typeof value === 'object' &&
229
- value._type === 'binary') {
227
+ if (value && typeof value === 'object' && value._type === 'binary') {
230
228
  deserializedRow[key] = this.base64ToUint8Array(value._data);
231
229
  }
232
230
  else {
@@ -263,12 +261,12 @@ var capacitorNativeSql = (function (exports, core) {
263
261
  }
264
262
 
265
263
  /**
266
- * NativeSQL - High-level API for managing SQL connections
264
+ * FastSQL - High-level API for managing SQL connections
267
265
  *
268
266
  * This class provides a convenient interface for opening/closing database connections
269
267
  * and managing multiple databases simultaneously.
270
268
  */
271
- class NativeSQL {
269
+ class FastSQL {
272
270
  /**
273
271
  * Open a database connection
274
272
  *
@@ -281,7 +279,7 @@ var capacitorNativeSql = (function (exports, core) {
281
279
  return this.connections.get(options.database);
282
280
  }
283
281
  // Connect via native plugin
284
- const info = await CapgoCapacitorNativeSql.connect(options);
282
+ const info = await CapgoCapacitorFastSql.connect(options);
285
283
  // Create connection instance
286
284
  const connection = new SQLConnection(info.database, info.port, info.token);
287
285
  // Store connection
@@ -299,7 +297,7 @@ var capacitorNativeSql = (function (exports, core) {
299
297
  throw new Error(`Database '${database}' is not connected`);
300
298
  }
301
299
  // Disconnect via native plugin
302
- await CapgoCapacitorNativeSql.disconnect({ database });
300
+ await CapgoCapacitorFastSql.disconnect({ database });
303
301
  // Remove connection
304
302
  this.connections.delete(database);
305
303
  }
@@ -328,7 +326,7 @@ var capacitorNativeSql = (function (exports, core) {
328
326
  return Array.from(this.connections.keys());
329
327
  }
330
328
  }
331
- NativeSQL.connections = new Map();
329
+ FastSQL.connections = new Map();
332
330
 
333
331
  /**
334
332
  * Web implementation using sql.js (SQLite compiled to WebAssembly)
@@ -336,7 +334,7 @@ var capacitorNativeSql = (function (exports, core) {
336
334
  * This provides a compatible API on the web platform, storing databases
337
335
  * in IndexedDB for persistence.
338
336
  */
339
- class CapgoCapacitorNativeSqlWeb extends core.WebPlugin {
337
+ class CapgoCapacitorFastSqlWeb extends core.WebPlugin {
340
338
  constructor() {
341
339
  super();
342
340
  this.databases = new Map();
@@ -350,12 +348,11 @@ var capacitorNativeSql = (function (exports, core) {
350
348
  async loadSqlJs() {
351
349
  if (this.sqlPromise)
352
350
  return;
353
- this.sqlPromise = new Promise(async (resolve, reject) => {
351
+ this.sqlPromise = new Promise((resolve, reject) => {
354
352
  try {
355
353
  // Load sql.js from CDN
356
354
  const script = document.createElement('script');
357
- script.src =
358
- 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';
355
+ script.src = 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';
359
356
  script.onload = async () => {
360
357
  const initSqlJs = window.initSqlJs;
361
358
  const SQL = await initSqlJs({
@@ -541,17 +538,17 @@ var capacitorNativeSql = (function (exports, core) {
541
538
  });
542
539
  }
543
540
  async getPluginVersion() {
544
- return { version: "web" };
541
+ return { version: 'web' };
545
542
  }
546
543
  }
547
544
 
548
545
  var web = /*#__PURE__*/Object.freeze({
549
546
  __proto__: null,
550
- CapgoCapacitorNativeSqlWeb: CapgoCapacitorNativeSqlWeb
547
+ CapgoCapacitorFastSqlWeb: CapgoCapacitorFastSqlWeb
551
548
  });
552
549
 
553
- exports.CapgoCapacitorNativeSql = CapgoCapacitorNativeSql;
554
- exports.NativeSQL = NativeSQL;
550
+ exports.CapgoCapacitorFastSql = CapgoCapacitorFastSql;
551
+ exports.FastSQL = FastSQL;
555
552
  exports.SQLConnection = SQLConnection;
556
553
 
557
554
  return exports;