Skip to content

Commit a77489e

Browse files
committed
feat(dialect-bun-worker): add BunSqliteDialect
1 parent 18b6553 commit a77489e

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

packages/dialect-bun-worker/package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
"import": "./dist/index.mjs",
2727
"require": "./dist/index.js"
2828
},
29+
"./normal": {
30+
"import": "./dist/normal.mjs",
31+
"require": "./dist/normal.js"
32+
},
2933
"./worker": {
3034
"import": "./dist/worker.mjs",
3135
"require": "./dist/worker.js"
@@ -36,6 +40,9 @@
3640
"module": "./dist/index.mjs",
3741
"typesVersions": {
3842
"*": {
43+
"normal": [
44+
"./dist/normal.d.ts"
45+
],
3946
"worker": [
4047
"./dist/index.d.ts"
4148
]
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import type { BunSqliteDialectConfig } from './type'
2+
3+
import Database from 'bun:sqlite'
4+
import { GenericSqliteDialect } from 'kysely-generic-sqlite'
5+
6+
import { createSqliteExecutor } from './worker/utils'
7+
8+
export class BunSqliteDialect extends GenericSqliteDialect {
9+
constructor(config?: BunSqliteDialectConfig) {
10+
const {
11+
url = ':memory:',
12+
cacheStatment = false,
13+
onCreateConnection,
14+
} = config || {}
15+
super(
16+
() => createSqliteExecutor(new Database(url), cacheStatment),
17+
onCreateConnection,
18+
)
19+
}
20+
}

packages/dialect-bun-worker/src/type.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,17 @@ export type InitData = {
2222
fileName: string
2323
cache: boolean
2424
}
25+
26+
export interface BunSqliteDialectConfig extends IBaseSqliteDialectConfig {
27+
/**
28+
* db file path
29+
*
30+
* @default ':memory:'
31+
*/
32+
url?: string
33+
/**
34+
* use `bun:sqlite` built-in statment cache
35+
* @see https://bun.sh/docs/api/sqlite#query
36+
*/
37+
cacheStatment?: boolean
38+
}

0 commit comments

Comments
 (0)