@syncular/dialect-wa-sqlite 0.0.4-26 → 0.0.4-33
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 +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +50 -0
package/dist/index.d.ts
CHANGED
|
@@ -5,11 +5,20 @@
|
|
|
5
5
|
* Uses kysely-wasqlite-worker for running SQL in a web worker with OPFS or IndexedDB storage.
|
|
6
6
|
*/
|
|
7
7
|
import { Kysely } from 'kysely';
|
|
8
|
+
import { GenericSqliteDialect } from 'kysely-generic-sqlite';
|
|
8
9
|
import { WaSqliteWorkerDialect, type WaSqliteWorkerDialectConfig } from 'kysely-wasqlite-worker';
|
|
9
10
|
export interface WaSqliteOptions extends Omit<WaSqliteWorkerDialectConfig, 'fileName'> {
|
|
10
11
|
/** Database filename for persistence (defaults to 'diego.sqlite') */
|
|
11
12
|
fileName?: string;
|
|
12
13
|
}
|
|
14
|
+
export interface WaSqliteMainThreadOptions {
|
|
15
|
+
/** Database filename for persistence (defaults to 'diego.sqlite') */
|
|
16
|
+
fileName?: string;
|
|
17
|
+
/** Prefer OPFS storage when available (defaults to true) */
|
|
18
|
+
useOPFS?: boolean;
|
|
19
|
+
/** WASM URL override */
|
|
20
|
+
url?: string;
|
|
21
|
+
}
|
|
13
22
|
/**
|
|
14
23
|
* Create a Kysely instance with wa-sqlite dialect.
|
|
15
24
|
*
|
|
@@ -27,6 +36,17 @@ export declare function createWaSqliteDb<T>(options?: WaSqliteOptions): Kysely<T
|
|
|
27
36
|
* Create the wa-sqlite dialect directly.
|
|
28
37
|
*/
|
|
29
38
|
export declare function createWaSqliteDialect(options?: WaSqliteOptions): WaSqliteWorkerDialect;
|
|
39
|
+
/**
|
|
40
|
+
* Create a Kysely instance with wa-sqlite running in the current thread.
|
|
41
|
+
*
|
|
42
|
+
* Useful when nested Worker support is unavailable (for example, in
|
|
43
|
+
* ServiceWorker runtimes).
|
|
44
|
+
*/
|
|
45
|
+
export declare function createWaSqliteMainThreadDb<T>(options?: WaSqliteMainThreadOptions): Kysely<T>;
|
|
46
|
+
/**
|
|
47
|
+
* Create the wa-sqlite main-thread dialect directly.
|
|
48
|
+
*/
|
|
49
|
+
export declare function createWaSqliteMainThreadDialect(options?: WaSqliteMainThreadOptions): GenericSqliteDialect;
|
|
30
50
|
export declare function getWaSqliteWorkerEntrypointPaths(): {
|
|
31
51
|
moduleWorkerPath: string;
|
|
32
52
|
};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAIL,qBAAqB,EACrB,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC;IACrD,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAWD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAIxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,eAAe,GACxB,qBAAqB,CAEvB;AAUD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,OAAO,CAAC,EAAE,yBAAyB,GAClC,MAAM,CAAC,CAAC,CAAC,CAOX;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,CAAC,EAAE,yBAAyB,GAClC,oBAAoB,CAKtB;AAED,wBAAgB,gCAAgC,IAAI;IAClD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAIA;AAED,wBAAgB,oBAAoB,IAAI;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAQA"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* Uses kysely-wasqlite-worker for running SQL in a web worker with OPFS or IndexedDB storage.
|
|
6
6
|
*/
|
|
7
7
|
import { Kysely } from 'kysely';
|
|
8
|
-
import {
|
|
8
|
+
import { GenericSqliteDialect } from 'kysely-generic-sqlite';
|
|
9
|
+
import { createSqliteExecutor, defaultCreateDatabaseFn, WaSqliteWorkerDialect, } from 'kysely-wasqlite-worker';
|
|
9
10
|
function toDialectConfig(options) {
|
|
10
11
|
return {
|
|
11
12
|
fileName: options?.fileName ?? 'diego.sqlite',
|
|
@@ -35,6 +36,32 @@ export function createWaSqliteDb(options) {
|
|
|
35
36
|
export function createWaSqliteDialect(options) {
|
|
36
37
|
return new WaSqliteWorkerDialect(toDialectConfig(options));
|
|
37
38
|
}
|
|
39
|
+
function toMainThreadInitData(options) {
|
|
40
|
+
return {
|
|
41
|
+
fileName: options?.fileName ?? 'diego.sqlite',
|
|
42
|
+
useOPFS: options?.useOPFS ?? true,
|
|
43
|
+
url: options?.url,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create a Kysely instance with wa-sqlite running in the current thread.
|
|
48
|
+
*
|
|
49
|
+
* Useful when nested Worker support is unavailable (for example, in
|
|
50
|
+
* ServiceWorker runtimes).
|
|
51
|
+
*/
|
|
52
|
+
export function createWaSqliteMainThreadDb(options) {
|
|
53
|
+
const initData = toMainThreadInitData(options);
|
|
54
|
+
return new Kysely({
|
|
55
|
+
dialect: new GenericSqliteDialect(async () => createSqliteExecutor(await defaultCreateDatabaseFn(initData))),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create the wa-sqlite main-thread dialect directly.
|
|
60
|
+
*/
|
|
61
|
+
export function createWaSqliteMainThreadDialect(options) {
|
|
62
|
+
const initData = toMainThreadInitData(options);
|
|
63
|
+
return new GenericSqliteDialect(async () => createSqliteExecutor(await defaultCreateDatabaseFn(initData)));
|
|
64
|
+
}
|
|
38
65
|
export function getWaSqliteWorkerEntrypointPaths() {
|
|
39
66
|
return {
|
|
40
67
|
moduleWorkerPath: new URL('./worker-module.ts', import.meta.url).pathname,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EAEvB,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAiBhC,SAAS,eAAe,CACtB,OAAyB,EACI;IAC7B,OAAO;QACL,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,cAAc;QAC7C,GAAG,OAAO;KACX,CAAC;AAAA,CACH;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAI,OAAyB,EAAa;IACxE,OAAO,IAAI,MAAM,CAAI;QACnB,OAAO,EAAE,IAAI,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;KAC7D,CAAC,CAAC;AAAA,CACJ;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAyB,EACF;IACvB,OAAO,IAAI,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAAA,CAC5D;AAED,SAAS,oBAAoB,CAAC,OAAmC,EAAY;IAC3E,OAAO;QACL,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,cAAc;QAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;QACjC,GAAG,EAAE,OAAO,EAAE,GAAG;KAClB,CAAC;AAAA,CACH;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAmC,EACxB;IACX,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,IAAI,MAAM,CAAI;QACnB,OAAO,EAAE,IAAI,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAC3C,oBAAoB,CAAC,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAC9D;KACF,CAAC,CAAC;AAAA,CACJ;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAmC,EACb;IACtB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,IAAI,oBAAoB,CAAC,KAAK,IAAI,EAAE,CACzC,oBAAoB,CAAC,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAC9D,CAAC;AAAA,CACH;AAED,MAAM,UAAU,gCAAgC,GAE9C;IACA,OAAO;QACL,gBAAgB,EAAE,IAAI,GAAG,CAAC,oBAAoB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ;KAC1E,CAAC;AAAA,CACH;AAED,MAAM,UAAU,oBAAoB,GAGlC;IACA,OAAO;QACL,aAAa,EAAE,IAAI,GAAG,CACpB,OAAO,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAC5D,CAAC,QAAQ;QACV,YAAY,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;aACzE,QAAQ;KACZ,CAAC;AAAA,CACH"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { Kysely } from 'kysely';
|
|
9
|
+
import { GenericSqliteDialect } from 'kysely-generic-sqlite';
|
|
9
10
|
import {
|
|
11
|
+
createSqliteExecutor,
|
|
12
|
+
defaultCreateDatabaseFn,
|
|
13
|
+
type InitData,
|
|
10
14
|
WaSqliteWorkerDialect,
|
|
11
15
|
type WaSqliteWorkerDialectConfig,
|
|
12
16
|
} from 'kysely-wasqlite-worker';
|
|
@@ -17,6 +21,15 @@ export interface WaSqliteOptions
|
|
|
17
21
|
fileName?: string;
|
|
18
22
|
}
|
|
19
23
|
|
|
24
|
+
export interface WaSqliteMainThreadOptions {
|
|
25
|
+
/** Database filename for persistence (defaults to 'diego.sqlite') */
|
|
26
|
+
fileName?: string;
|
|
27
|
+
/** Prefer OPFS storage when available (defaults to true) */
|
|
28
|
+
useOPFS?: boolean;
|
|
29
|
+
/** WASM URL override */
|
|
30
|
+
url?: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
20
33
|
function toDialectConfig(
|
|
21
34
|
options?: WaSqliteOptions
|
|
22
35
|
): WaSqliteWorkerDialectConfig {
|
|
@@ -53,6 +66,43 @@ export function createWaSqliteDialect(
|
|
|
53
66
|
return new WaSqliteWorkerDialect(toDialectConfig(options));
|
|
54
67
|
}
|
|
55
68
|
|
|
69
|
+
function toMainThreadInitData(options?: WaSqliteMainThreadOptions): InitData {
|
|
70
|
+
return {
|
|
71
|
+
fileName: options?.fileName ?? 'diego.sqlite',
|
|
72
|
+
useOPFS: options?.useOPFS ?? true,
|
|
73
|
+
url: options?.url,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Create a Kysely instance with wa-sqlite running in the current thread.
|
|
79
|
+
*
|
|
80
|
+
* Useful when nested Worker support is unavailable (for example, in
|
|
81
|
+
* ServiceWorker runtimes).
|
|
82
|
+
*/
|
|
83
|
+
export function createWaSqliteMainThreadDb<T>(
|
|
84
|
+
options?: WaSqliteMainThreadOptions
|
|
85
|
+
): Kysely<T> {
|
|
86
|
+
const initData = toMainThreadInitData(options);
|
|
87
|
+
return new Kysely<T>({
|
|
88
|
+
dialect: new GenericSqliteDialect(async () =>
|
|
89
|
+
createSqliteExecutor(await defaultCreateDatabaseFn(initData))
|
|
90
|
+
),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Create the wa-sqlite main-thread dialect directly.
|
|
96
|
+
*/
|
|
97
|
+
export function createWaSqliteMainThreadDialect(
|
|
98
|
+
options?: WaSqliteMainThreadOptions
|
|
99
|
+
): GenericSqliteDialect {
|
|
100
|
+
const initData = toMainThreadInitData(options);
|
|
101
|
+
return new GenericSqliteDialect(async () =>
|
|
102
|
+
createSqliteExecutor(await defaultCreateDatabaseFn(initData))
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
56
106
|
export function getWaSqliteWorkerEntrypointPaths(): {
|
|
57
107
|
moduleWorkerPath: string;
|
|
58
108
|
} {
|