@syncular/dialect-electron-sqlite 0.0.6-158 → 0.0.6-165

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.
package/dist/index.d.ts CHANGED
@@ -7,8 +7,7 @@
7
7
  * This keeps database access in the Electron main process while preserving a
8
8
  * standard Kysely API in renderer code.
9
9
  */
10
- import type { DatabaseIntrospector, Dialect, DialectAdapter, Driver, QueryCompiler } from 'kysely';
11
- import { type Kysely } from 'kysely';
10
+ import type { Dialect } from 'kysely';
12
11
  export type ElectronSqliteInteger = bigint | number | string;
13
12
  export interface ElectronSqliteExecuteRequest {
14
13
  sql: string;
@@ -73,13 +72,13 @@ export interface RegisterElectronSqliteIpcOptions {
73
72
  /**
74
73
  * Create the Electron IPC SQLite dialect directly.
75
74
  */
76
- export declare function createElectronSqliteDialect(options: ElectronSqliteOptions): ElectronSqliteDialect;
75
+ export declare function createElectronSqliteDialect(options: ElectronSqliteOptions): Dialect;
77
76
  /**
78
77
  * Create the Electron dialect using `window.electronAPI[bridgeKey]`.
79
78
  *
80
79
  * `bridgeKey` defaults to `sqlite`.
81
80
  */
82
- export declare function createElectronSqliteDialectFromWindow(options?: ElectronSqliteWindowOptions): ElectronSqliteDialect;
81
+ export declare function createElectronSqliteDialectFromWindow(options?: ElectronSqliteWindowOptions): Dialect;
83
82
  /**
84
83
  * Build an Electron SQLite bridge from `ipcRenderer.invoke(...)`.
85
84
  *
@@ -107,17 +106,8 @@ export declare function createElectronSqliteBridgeFromDialect(options: ElectronS
107
106
  * channel contract.
108
107
  */
109
108
  export declare function registerElectronSqliteIpc(options: RegisterElectronSqliteIpcOptions): ElectronSqliteIpcChannels;
110
- declare class ElectronSqliteDialect implements Dialect {
111
- #private;
112
- constructor(options: ElectronSqliteOptions);
113
- createAdapter(): DialectAdapter;
114
- createDriver(): Driver;
115
- createQueryCompiler(): QueryCompiler;
116
- createIntrospector(db: Kysely<unknown>): DatabaseIntrospector;
117
- }
118
109
  declare global {
119
110
  interface Window extends ElectronSqliteWindowLike {
120
111
  }
121
112
  }
122
- export {};
123
113
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,MAAM,EACN,aAAa,EAGd,MAAM,QAAQ,CAAC;AAChB,OAAO,EAEL,KAAK,MAAM,EAIZ,MAAM,QAAQ,CAAC;AAEhB,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,wBAAwB,GAChC,SAAS,GACT;IACE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC7D,CAAC;AAEN,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,IAAI,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;IACtE,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,4BAA4B,GAEnC,OAAO,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,GAC3C,6BAA6B,CAAC,GAAG,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEzD,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,uBAAuB,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sCAAsC;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,OAAO,EAC9C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CACR,KAAK,EAAE,wBAAwB,EAC/B,GAAG,IAAI,EAAE,KAAK,KACX,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC9B,IAAI,CAAC;CACT;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAYD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,qBAAqB,GAC7B,qBAAqB,CAEvB;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,GAAE,2BAAgC,GACxC,qBAAqB,CAEvB;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,oBAAoB,CA4BtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,sCAAsC,GAC9C,oBAAoB,CAEtB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,CAwD3B;AAyGD,cAAM,qBAAsB,YAAW,OAAO;;IAG5C,YAAY,OAAO,EAAE,qBAAqB,EAEzC;IAED,aAAa,IAAI,cAAc,CAE9B;IAED,YAAY,IAAI,MAAM,CAErB;IAED,mBAAmB,IAAI,aAAa,CAEnC;IAED,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAE5D;CACF;AA+LD,OAAO,CAAC,MAAM,CAAC,CAAC;IACd,UAAU,MAAO,SAAQ,wBAAwB;KAAG;CACrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,7 +7,8 @@
7
7
  * This keeps database access in the Electron main process while preserving a
8
8
  * standard Kysely API in renderer code.
9
9
  */
10
- import { CompiledQuery, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler, } from 'kysely';
10
+ import { CompiledQuery } from 'kysely';
11
+ import { BaseSqliteDialect, BaseSqliteDriver } from 'kysely-generic-sqlite';
11
12
  const DEFAULT_WINDOW_BRIDGE_KEY = 'sqlite';
12
13
  const DEFAULT_ELECTRON_SQLITE_CHANNELS = {
13
14
  open: 'sqlite:open',
@@ -19,7 +20,7 @@ const INTEGER_PATTERN = /^-?\d+$/;
19
20
  * Create the Electron IPC SQLite dialect directly.
20
21
  */
21
22
  export function createElectronSqliteDialect(options) {
22
- return new ElectronSqliteDialect(options);
23
+ return new BaseSqliteDialect(() => new ElectronSqliteDriver(options));
23
24
  }
24
25
  /**
25
26
  * Create the Electron dialect using `window.electronAPI[bridgeKey]`.
@@ -199,51 +200,15 @@ class DialectBackedElectronSqliteBridge {
199
200
  // ---------------------------------------------------------------------------
200
201
  // Kysely Dialect implementation for Electron IPC SQLite
201
202
  // ---------------------------------------------------------------------------
202
- class ElectronSqliteDialect {
203
- #options;
204
- constructor(options) {
205
- this.#options = options;
206
- }
207
- createAdapter() {
208
- return new SqliteAdapter();
209
- }
210
- createDriver() {
211
- return new ElectronSqliteDriver(this.#options);
212
- }
213
- createQueryCompiler() {
214
- return new SqliteQueryCompiler();
215
- }
216
- createIntrospector(db) {
217
- return new SqliteIntrospector(db);
218
- }
219
- }
220
- class ElectronSqliteDriver {
203
+ class ElectronSqliteDriver extends BaseSqliteDriver {
221
204
  #bridge;
222
- #connectionMutex = new ConnectionMutex();
223
- #connection;
224
205
  #opened = false;
225
206
  constructor(bridge) {
207
+ super(async () => {
208
+ await this.#ensureOpen();
209
+ this.conn = new ElectronSqliteConnection(this.#bridge.execute);
210
+ });
226
211
  this.#bridge = bridge;
227
- this.#connection = new ElectronSqliteConnection(bridge.execute);
228
- }
229
- async init() {
230
- await this.#ensureOpen();
231
- }
232
- async acquireConnection() {
233
- await this.#connectionMutex.lock();
234
- return this.#connection;
235
- }
236
- async beginTransaction(connection, _settings) {
237
- await connection.executeQuery(CompiledQuery.raw('begin'));
238
- }
239
- async commitTransaction(connection) {
240
- await connection.executeQuery(CompiledQuery.raw('commit'));
241
- }
242
- async rollbackTransaction(connection) {
243
- await connection.executeQuery(CompiledQuery.raw('rollback'));
244
- }
245
- async releaseConnection(_connection) {
246
- this.#connectionMutex.unlock();
247
212
  }
248
213
  async destroy() {
249
214
  if (this.#bridge.close) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncular/dialect-electron-sqlite",
3
- "version": "0.0.6-158",
3
+ "version": "0.0.6-165",
4
4
  "description": "Electron IPC SQLite dialect for the Syncular client",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Benjamin Kniffler",
@@ -42,13 +42,15 @@
42
42
  "build": "tsgo",
43
43
  "release": "bunx syncular-publish"
44
44
  },
45
- "dependencies": {},
45
+ "dependencies": {
46
+ "kysely-generic-sqlite": "^1.2.1"
47
+ },
46
48
  "peerDependencies": {
47
49
  "kysely": "^0.28.0"
48
50
  },
49
51
  "devDependencies": {
50
52
  "@syncular/config": "0.0.0",
51
- "@syncular/core": "0.0.6-158",
53
+ "@syncular/core": "0.0.6-165",
52
54
  "kysely": "*"
53
55
  },
54
56
  "files": [
package/src/index.ts CHANGED
@@ -8,23 +8,9 @@
8
8
  * standard Kysely API in renderer code.
9
9
  */
10
10
 
11
- import type {
12
- DatabaseConnection,
13
- DatabaseIntrospector,
14
- Dialect,
15
- DialectAdapter,
16
- Driver,
17
- QueryCompiler,
18
- QueryResult,
19
- TransactionSettings,
20
- } from 'kysely';
21
- import {
22
- CompiledQuery,
23
- type Kysely,
24
- SqliteAdapter,
25
- SqliteIntrospector,
26
- SqliteQueryCompiler,
27
- } from 'kysely';
11
+ import type { DatabaseConnection, Dialect, Driver, QueryResult } from 'kysely';
12
+ import { CompiledQuery } from 'kysely';
13
+ import { BaseSqliteDialect, BaseSqliteDriver } from 'kysely-generic-sqlite';
28
14
 
29
15
  export type ElectronSqliteInteger = bigint | number | string;
30
16
 
@@ -133,8 +119,8 @@ const INTEGER_PATTERN = /^-?\d+$/;
133
119
  */
134
120
  export function createElectronSqliteDialect(
135
121
  options: ElectronSqliteOptions
136
- ): ElectronSqliteDialect {
137
- return new ElectronSqliteDialect(options);
122
+ ): Dialect {
123
+ return new BaseSqliteDialect(() => new ElectronSqliteDriver(options));
138
124
  }
139
125
 
140
126
  /**
@@ -144,7 +130,7 @@ export function createElectronSqliteDialect(
144
130
  */
145
131
  export function createElectronSqliteDialectFromWindow(
146
132
  options: ElectronSqliteWindowOptions = {}
147
- ): ElectronSqliteDialect {
133
+ ): Dialect {
148
134
  return createElectronSqliteDialect(resolveWindowBridge(options));
149
135
  }
150
136
 
@@ -373,68 +359,16 @@ class DialectBackedElectronSqliteBridge implements ElectronSqliteBridge {
373
359
  // Kysely Dialect implementation for Electron IPC SQLite
374
360
  // ---------------------------------------------------------------------------
375
361
 
376
- class ElectronSqliteDialect implements Dialect {
377
- readonly #options: ElectronSqliteOptions;
378
-
379
- constructor(options: ElectronSqliteOptions) {
380
- this.#options = options;
381
- }
382
-
383
- createAdapter(): DialectAdapter {
384
- return new SqliteAdapter();
385
- }
386
-
387
- createDriver(): Driver {
388
- return new ElectronSqliteDriver(this.#options);
389
- }
390
-
391
- createQueryCompiler(): QueryCompiler {
392
- return new SqliteQueryCompiler();
393
- }
394
-
395
- createIntrospector(db: Kysely<unknown>): DatabaseIntrospector {
396
- return new SqliteIntrospector(db);
397
- }
398
- }
399
-
400
- class ElectronSqliteDriver implements Driver {
362
+ class ElectronSqliteDriver extends BaseSqliteDriver {
401
363
  readonly #bridge: ElectronSqliteBridge;
402
- readonly #connectionMutex = new ConnectionMutex();
403
- readonly #connection: ElectronSqliteConnection;
404
-
405
364
  #opened = false;
406
365
 
407
366
  constructor(bridge: ElectronSqliteBridge) {
367
+ super(async () => {
368
+ await this.#ensureOpen();
369
+ this.conn = new ElectronSqliteConnection(this.#bridge.execute);
370
+ });
408
371
  this.#bridge = bridge;
409
- this.#connection = new ElectronSqliteConnection(bridge.execute);
410
- }
411
-
412
- async init(): Promise<void> {
413
- await this.#ensureOpen();
414
- }
415
-
416
- async acquireConnection(): Promise<DatabaseConnection> {
417
- await this.#connectionMutex.lock();
418
- return this.#connection;
419
- }
420
-
421
- async beginTransaction(
422
- connection: DatabaseConnection,
423
- _settings: TransactionSettings
424
- ): Promise<void> {
425
- await connection.executeQuery(CompiledQuery.raw('begin'));
426
- }
427
-
428
- async commitTransaction(connection: DatabaseConnection): Promise<void> {
429
- await connection.executeQuery(CompiledQuery.raw('commit'));
430
- }
431
-
432
- async rollbackTransaction(connection: DatabaseConnection): Promise<void> {
433
- await connection.executeQuery(CompiledQuery.raw('rollback'));
434
- }
435
-
436
- async releaseConnection(_connection: DatabaseConnection): Promise<void> {
437
- this.#connectionMutex.unlock();
438
372
  }
439
373
 
440
374
  async destroy(): Promise<void> {