1
1
import type { Statement } from 'bun:sqlite'
2
2
import type { MessageHandleFn } from 'kysely-generic-sqlite/worker'
3
- import type { InitData } from '../type'
3
+ import type { DBOptions , InitData } from '../type'
4
4
import Database from 'bun:sqlite'
5
5
import { type IGenericSqlite , parseBigInt , type Promisable } from 'kysely-generic-sqlite'
6
6
import { createWebOnMessageCallback } from 'kysely-generic-sqlite/worker-helper-web'
@@ -17,10 +17,13 @@ async function* iterateData(
17
17
}
18
18
}
19
19
20
- export type CreateDatabaseFn = ( fileName : string ) => Promisable < Database >
20
+ export type CreateDatabaseFn = (
21
+ fileName : string ,
22
+ opt : DBOptions
23
+ ) => Promisable < Database >
21
24
22
25
export const defaultCreateDatabaseFn : CreateDatabaseFn
23
- = fileName => new Database ( fileName , { create : true } )
26
+ = ( fileName , opt ) => new Database ( fileName , opt )
24
27
25
28
/**
26
29
* Handle worker message, support custom callback on initialization.
@@ -40,8 +43,8 @@ export function createOnMessageCallback(
40
43
message ?: MessageHandleFn < Database > ,
41
44
) : void {
42
45
createWebOnMessageCallback < InitData , Database > (
43
- async ( { cache, fileName } ) => {
44
- const db = await create ( fileName )
46
+ async ( { cache, fileName, opt } ) => {
47
+ const db = await create ( fileName , opt )
45
48
return createSqliteExecutor ( db , cache )
46
49
} ,
47
50
message ,
0 commit comments