@syncular/dialect-electron-sqlite 0.0.6-72 → 0.0.6-79
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/README.md +6 -2
- package/dist/index.d.ts +1 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -24
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/index.test.ts +13 -6
- package/src/index.ts +1 -30
package/README.md
CHANGED
|
@@ -13,10 +13,14 @@ npm install @syncular/dialect-electron-sqlite
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
15
15
|
```ts
|
|
16
|
-
import {
|
|
16
|
+
import { createDatabase } from '@syncular/core';
|
|
17
|
+
import { createElectronSqliteDialectFromWindow } from '@syncular/dialect-electron-sqlite';
|
|
17
18
|
|
|
18
19
|
// Uses window.electronAPI.sqlite by default (bridgeKey: "sqlite")
|
|
19
|
-
const db =
|
|
20
|
+
const db = createDatabase<MyDb>({
|
|
21
|
+
dialect: createElectronSqliteDialectFromWindow(),
|
|
22
|
+
family: 'sqlite',
|
|
23
|
+
});
|
|
20
24
|
```
|
|
21
25
|
|
|
22
26
|
## Documentation
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* standard Kysely API in renderer code.
|
|
9
9
|
*/
|
|
10
10
|
import type { DatabaseIntrospector, Dialect, DialectAdapter, Driver, QueryCompiler } from 'kysely';
|
|
11
|
-
import { Kysely } from 'kysely';
|
|
11
|
+
import { type Kysely } from 'kysely';
|
|
12
12
|
export type ElectronSqliteInteger = bigint | number | string;
|
|
13
13
|
export interface ElectronSqliteExecuteRequest {
|
|
14
14
|
sql: string;
|
|
@@ -70,27 +70,10 @@ export interface RegisterElectronSqliteIpcOptions {
|
|
|
70
70
|
autoOpen?: boolean;
|
|
71
71
|
app?: ElectronAppLike;
|
|
72
72
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Create a Kysely instance with Electron IPC SQLite dialect.
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* const db = createElectronSqliteDb<MyDb>({
|
|
78
|
-
* open: () => window.electronAPI.sqlite.open(),
|
|
79
|
-
* execute: (request) => window.electronAPI.sqlite.execute(request),
|
|
80
|
-
* close: () => window.electronAPI.sqlite.close(),
|
|
81
|
-
* });
|
|
82
|
-
*/
|
|
83
|
-
export declare function createElectronSqliteDb<T>(options: ElectronSqliteOptions): Kysely<T>;
|
|
84
73
|
/**
|
|
85
74
|
* Create the Electron IPC SQLite dialect directly.
|
|
86
75
|
*/
|
|
87
76
|
export declare function createElectronSqliteDialect(options: ElectronSqliteOptions): ElectronSqliteDialect;
|
|
88
|
-
/**
|
|
89
|
-
* Create a Kysely instance using `window.electronAPI[bridgeKey]`.
|
|
90
|
-
*
|
|
91
|
-
* `bridgeKey` defaults to `sqlite`.
|
|
92
|
-
*/
|
|
93
|
-
export declare function createElectronSqliteDbFromWindow<T>(options?: ElectronSqliteWindowOptions): Kysely<T>;
|
|
94
77
|
/**
|
|
95
78
|
* Create the Electron dialect using `window.electronAPI[bridgeKey]`.
|
|
96
79
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,MAAM,
|
|
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,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 { CompiledQuery,
|
|
10
|
+
import { CompiledQuery, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler, } from 'kysely';
|
|
11
11
|
const DEFAULT_WINDOW_BRIDGE_KEY = 'sqlite';
|
|
12
12
|
const DEFAULT_ELECTRON_SQLITE_CHANNELS = {
|
|
13
13
|
open: 'sqlite:open',
|
|
@@ -15,35 +15,12 @@ const DEFAULT_ELECTRON_SQLITE_CHANNELS = {
|
|
|
15
15
|
close: 'sqlite:close',
|
|
16
16
|
};
|
|
17
17
|
const INTEGER_PATTERN = /^-?\d+$/;
|
|
18
|
-
/**
|
|
19
|
-
* Create a Kysely instance with Electron IPC SQLite dialect.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* const db = createElectronSqliteDb<MyDb>({
|
|
23
|
-
* open: () => window.electronAPI.sqlite.open(),
|
|
24
|
-
* execute: (request) => window.electronAPI.sqlite.execute(request),
|
|
25
|
-
* close: () => window.electronAPI.sqlite.close(),
|
|
26
|
-
* });
|
|
27
|
-
*/
|
|
28
|
-
export function createElectronSqliteDb(options) {
|
|
29
|
-
return new Kysely({
|
|
30
|
-
dialect: createElectronSqliteDialect(options),
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
18
|
/**
|
|
34
19
|
* Create the Electron IPC SQLite dialect directly.
|
|
35
20
|
*/
|
|
36
21
|
export function createElectronSqliteDialect(options) {
|
|
37
22
|
return new ElectronSqliteDialect(options);
|
|
38
23
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Create a Kysely instance using `window.electronAPI[bridgeKey]`.
|
|
41
|
-
*
|
|
42
|
-
* `bridgeKey` defaults to `sqlite`.
|
|
43
|
-
*/
|
|
44
|
-
export function createElectronSqliteDbFromWindow(options = {}) {
|
|
45
|
-
return createElectronSqliteDb(resolveWindowBridge(options));
|
|
46
|
-
}
|
|
47
24
|
/**
|
|
48
25
|
* Create the Electron dialect using `window.electronAPI[bridgeKey]`.
|
|
49
26
|
*
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,EACL,aAAa,
|
|
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-
|
|
3
|
+
"version": "0.0.6-79",
|
|
4
4
|
"description": "Electron IPC SQLite dialect for the Syncular client",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Benjamin Kniffler",
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@syncular/config": "0.0.0",
|
|
51
|
+
"@syncular/core": "0.0.6-79",
|
|
51
52
|
"kysely": "*"
|
|
52
53
|
},
|
|
53
54
|
"files": [
|
package/src/index.test.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { afterEach, describe, expect, it } from 'bun:test';
|
|
2
|
+
import { createDatabase } from '@syncular/core';
|
|
2
3
|
import type {
|
|
3
4
|
DatabaseConnection,
|
|
4
5
|
Dialect,
|
|
@@ -26,8 +27,8 @@ import type {
|
|
|
26
27
|
import {
|
|
27
28
|
createElectronSqliteBridgeFromDialect,
|
|
28
29
|
createElectronSqliteBridgeFromIpc,
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
createElectronSqliteDialect,
|
|
31
|
+
createElectronSqliteDialectFromWindow,
|
|
31
32
|
registerElectronSqliteIpc,
|
|
32
33
|
} from './index';
|
|
33
34
|
|
|
@@ -247,7 +248,10 @@ describe('electron sqlite dialect', () => {
|
|
|
247
248
|
},
|
|
248
249
|
};
|
|
249
250
|
|
|
250
|
-
db =
|
|
251
|
+
db = createDatabase<TestDb>({
|
|
252
|
+
dialect: createElectronSqliteDialect(bridge),
|
|
253
|
+
family: 'sqlite',
|
|
254
|
+
});
|
|
251
255
|
|
|
252
256
|
const updated = await db
|
|
253
257
|
.updateTable('tasks')
|
|
@@ -277,9 +281,12 @@ describe('electron sqlite dialect', () => {
|
|
|
277
281
|
electronAPI: { app: bridge },
|
|
278
282
|
};
|
|
279
283
|
|
|
280
|
-
db =
|
|
281
|
-
|
|
282
|
-
|
|
284
|
+
db = createDatabase<TestDb>({
|
|
285
|
+
dialect: createElectronSqliteDialectFromWindow<TestDb>({
|
|
286
|
+
bridgeKey: 'app',
|
|
287
|
+
window: windowLike,
|
|
288
|
+
}),
|
|
289
|
+
family: 'sqlite',
|
|
283
290
|
});
|
|
284
291
|
|
|
285
292
|
const row = await db
|
package/src/index.ts
CHANGED
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
} from 'kysely';
|
|
21
21
|
import {
|
|
22
22
|
CompiledQuery,
|
|
23
|
-
Kysely,
|
|
23
|
+
type Kysely,
|
|
24
24
|
SqliteAdapter,
|
|
25
25
|
SqliteIntrospector,
|
|
26
26
|
SqliteQueryCompiler,
|
|
@@ -128,24 +128,6 @@ const DEFAULT_ELECTRON_SQLITE_CHANNELS: ElectronSqliteIpcChannels = {
|
|
|
128
128
|
|
|
129
129
|
const INTEGER_PATTERN = /^-?\d+$/;
|
|
130
130
|
|
|
131
|
-
/**
|
|
132
|
-
* Create a Kysely instance with Electron IPC SQLite dialect.
|
|
133
|
-
*
|
|
134
|
-
* @example
|
|
135
|
-
* const db = createElectronSqliteDb<MyDb>({
|
|
136
|
-
* open: () => window.electronAPI.sqlite.open(),
|
|
137
|
-
* execute: (request) => window.electronAPI.sqlite.execute(request),
|
|
138
|
-
* close: () => window.electronAPI.sqlite.close(),
|
|
139
|
-
* });
|
|
140
|
-
*/
|
|
141
|
-
export function createElectronSqliteDb<T>(
|
|
142
|
-
options: ElectronSqliteOptions
|
|
143
|
-
): Kysely<T> {
|
|
144
|
-
return new Kysely<T>({
|
|
145
|
-
dialect: createElectronSqliteDialect(options),
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
|
|
149
131
|
/**
|
|
150
132
|
* Create the Electron IPC SQLite dialect directly.
|
|
151
133
|
*/
|
|
@@ -155,17 +137,6 @@ export function createElectronSqliteDialect(
|
|
|
155
137
|
return new ElectronSqliteDialect(options);
|
|
156
138
|
}
|
|
157
139
|
|
|
158
|
-
/**
|
|
159
|
-
* Create a Kysely instance using `window.electronAPI[bridgeKey]`.
|
|
160
|
-
*
|
|
161
|
-
* `bridgeKey` defaults to `sqlite`.
|
|
162
|
-
*/
|
|
163
|
-
export function createElectronSqliteDbFromWindow<T>(
|
|
164
|
-
options: ElectronSqliteWindowOptions = {}
|
|
165
|
-
): Kysely<T> {
|
|
166
|
-
return createElectronSqliteDb<T>(resolveWindowBridge(options));
|
|
167
|
-
}
|
|
168
|
-
|
|
169
140
|
/**
|
|
170
141
|
* Create the Electron dialect using `window.electronAPI[bridgeKey]`.
|
|
171
142
|
*
|