kysely dialect for bun:sqlite
, run sql in worker
From v0.7.0
, this dialect requires Bun@^1.1.14
bun install kysely kysely-bun-worker
import { BunWorkerDialect } from 'kysely-bun-worker'
const dialect = new BunWorkerDialect({
url: ':memory:',
})
in worker.ts
import { createOnMessageCallback, defaultCreateDatabaseFn } from 'kysely-bun-worker'
createOnMessageCallback(
async (...args) => {
const db = defaultCreateDatabaseFn(...args)
db.loadExtension(/* ... */)
return db
}
)
export type BunWorkerDialectConfig = {
/**
* db file path
*
* @default ':memory:'
*/
url?: string
onCreateConnection?: (connection: DatabaseConnection) => Promisable<void>
/**
* use bun:sqlite's built-in statment cache
* @see https://bun.sh/docs/api/sqlite#query
*/
cacheStatment?: boolean
/**
* custom worker, default is a worker that use bun:sqlite
*/
worker?: Worker
}