1
1
import type { DatabaseConnection , Driver , QueryResult } from 'kysely'
2
2
import type { Emitter } from 'zen-mitt'
3
- import type { EventWithError , MainMsg , WaSqliteWorkerDialectConfig , WorkerMsg } from './type'
3
+ import type { EventWithError , MainToWorkerMsg , WaSqliteWorkerDialectConfig , WorkerToMainMsg } from './type'
4
4
import { isModuleWorkerSupport , isOpfsSupported } from '@subframe7536/sqlite-wasm'
5
5
import { CompiledQuery , SelectQueryNode } from 'kysely'
6
6
import { mitt } from 'zen-mitt'
@@ -29,7 +29,7 @@ export class WaSqliteWorkerDriver implements Driver {
29
29
30
30
this . worker = parseWorkerOrURL ( this . config . worker || defaultWorker , useOPFS || isModuleWorkerSupport ( ) )
31
31
32
- this . worker . onmessage = ( { data : [ type , ...msg ] } : MessageEvent < WorkerMsg > ) => {
32
+ this . worker . onmessage = ( { data : [ type , ...msg ] } : MessageEvent < WorkerToMainMsg > ) => {
33
33
this . mitt ?. emit ( type , ...msg )
34
34
}
35
35
this . worker . postMessage ( [
@@ -38,7 +38,7 @@ export class WaSqliteWorkerDriver implements Driver {
38
38
// if use OPFS, wasm should use sync version
39
39
parseWorkerOrURL ( this . config . url ?? defaultWasmURL , ! useOPFS ) as string ,
40
40
useOPFS ,
41
- ] satisfies MainMsg )
41
+ ] satisfies MainToWorkerMsg )
42
42
await new Promise < void > ( ( resolve , reject ) => {
43
43
this . mitt ?. once ( 0 , ( _ , err ) => err ? reject ( err ) : resolve ( ) )
44
44
} )
@@ -74,7 +74,7 @@ export class WaSqliteWorkerDriver implements Driver {
74
74
if ( ! this . worker ) {
75
75
return
76
76
}
77
- this . worker . postMessage ( [ 2 ] satisfies MainMsg )
77
+ this . worker . postMessage ( [ 2 ] satisfies MainToWorkerMsg )
78
78
return new Promise < void > ( ( resolve , reject ) => {
79
79
this . mitt ?. once ( 2 , ( _ , err ) => {
80
80
if ( err ) {
@@ -127,7 +127,7 @@ class WaSqliteWorkerConnection implements DatabaseConnection {
127
127
if ( ! SelectQueryNode . is ( query ) ) {
128
128
throw new Error ( 'WaSqlite dialect only supported SELECT queries' )
129
129
}
130
- this . worker . postMessage ( [ 3 , sql , parameters ] satisfies MainMsg )
130
+ this . worker . postMessage ( [ 3 , sql , parameters ] satisfies MainToWorkerMsg )
131
131
let resolver : ( ( value : IteratorResult < { rows : QueryResult < R > [ ] } > ) => void ) | null = null
132
132
let rejecter : ( ( reason : any ) => void ) | null = null
133
133
@@ -169,7 +169,7 @@ class WaSqliteWorkerConnection implements DatabaseConnection {
169
169
async executeQuery < R > ( compiledQuery : CompiledQuery < unknown > ) : Promise < QueryResult < R > > {
170
170
const { parameters, sql, query } = compiledQuery
171
171
const isSelect = SelectQueryNode . is ( query )
172
- this . worker . postMessage ( [ 1 , isSelect , sql , parameters ] satisfies MainMsg )
172
+ this . worker . postMessage ( [ 1 , isSelect , sql , parameters ] satisfies MainToWorkerMsg )
173
173
return new Promise ( ( resolve , reject ) => {
174
174
if ( ! this . mitt ) {
175
175
reject ( new Error ( 'kysely instance has been destroyed' ) )
0 commit comments