kysely dialect for bun:sqlite, running in worker
npm install kysely-bun-workerkysely dialect for bun:sqlite, run sql in worker
From v0.7.0, this dialect requires Bun@^1.1.14
``shell`
bun install kysely kysely-bun-worker
`ts
import { BunWorkerDialect } from 'kysely-bun-worker'
const dialect = new BunWorkerDialect({
// default
url: ':memory:',
})
`
in worker.ts
`ts
import { createOnMessageCallback, defaultCreateDatabaseFn } from 'kysely-bun-worker'
createOnMessageCallback(
async (...args) => {
const db = defaultCreateDatabaseFn(...args)
db.loadExtension(/ ... /)
return db
}
)
`
In v1.1.0, you can use BunSqliteDialect to run SQLs in main thread
`ts
import { BunSqliteDialect } from 'kysely-bun-worker/normal'
const dialect = new BunSqliteDialect({
// default
url: ':memory:',
})
`
`ts``
export type BunWorkerDialectConfig = {
/**
* db file path
*
* @default ':memory:'
*/
url?: string
onCreateConnection?: (connection: DatabaseConnection) => Promisable
/**
* 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
/**
* DB constructor options
* @default { create: true }
*/
dbOptions?: ConstructorParameters
}