Skip to content

Commit feb90d6

Browse files
committed
fix(dialect-wasm): improve types
1 parent 0f082fc commit feb90d6

File tree

11 files changed

+29
-28
lines changed

11 files changed

+29
-28
lines changed

packages/dialect-wasm/src/crsqlite-dialect/driver.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@ export class CrSqliteDriver extends BaseDriver {
1515
? await this.config.database()
1616
: this.config.database
1717
this.connection = new CrSqliteConnection(this.db)
18-
if (this.config.onCreateConnection) {
19-
await this.config.onCreateConnection(this.connection)
20-
}
18+
19+
await this.config.onCreateConnection?.(this.connection)
2120
}
2221

2322
async destroy(): Promise<void> {

packages/dialect-wasm/src/crsqlite-dialect/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import type { DatabaseConnection, Driver } from 'kysely'
22
import { BaseDialect } from '../baseDialect'
3+
import type { Promisable } from '../util'
34
import { CrSqliteDriver } from './driver'
45
import type { CrSqliteDB } from './type'
56

67
export interface CrSqliteDialectConfig {
7-
database: CrSqliteDB | (() => Promise<CrSqliteDB>)
8-
onCreateConnection?: (connection: DatabaseConnection) => Promise<void>
8+
database: CrSqliteDB | (() => Promisable<CrSqliteDB>)
9+
onCreateConnection?: (connection: DatabaseConnection) => Promisable<void>
910
}
1011
export class CrSqliteDialect extends BaseDialect {
1112
#config: CrSqliteDialectConfig

packages/dialect-wasm/src/node-wasm-dialect/driver.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@ export class NodeWasmDriver extends BaseDriver {
1515
? await this.#config.database()
1616
: this.#config.database
1717
this.connection = new NodeWasmConnection(this.#db)
18-
if (this.#config.onCreateConnection) {
19-
await this.#config.onCreateConnection(this.connection)
20-
}
18+
19+
await this.#config.onCreateConnection?.(this.connection)
2120
}
2221

2322
async destroy(): Promise<void> {

packages/dialect-wasm/src/node-wasm-dialect/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import type { DatabaseConnection, Driver } from 'kysely'
22
import { BaseDialect } from '../baseDialect'
3+
import type { Promisable } from '../util'
34
import type { NodeWasmDataBase } from './type'
45
import { NodeWasmDriver } from './driver'
56

67
export interface NodeWasmDialectConfig {
7-
database: NodeWasmDataBase | (() => Promise<NodeWasmDataBase>)
8-
onCreateConnection?: (connection: DatabaseConnection) => Promise<void>
8+
database: NodeWasmDataBase | (() => Promisable<NodeWasmDataBase>)
9+
onCreateConnection?: (connection: DatabaseConnection) => Promisable<void>
910
}
1011

1112
export class NodeWasmDialect extends BaseDialect {

packages/dialect-wasm/src/official-wasm-dialect/driver.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@ export class OfficialWasmDriver extends BaseDriver {
1515
? await this.config.database()
1616
: this.config.database
1717
this.connection = new OfficailSqliteWasmConnection(this.db)
18-
if (this.config.onCreateConnection) {
19-
await this.config.onCreateConnection(this.connection)
20-
}
18+
19+
await this.config.onCreateConnection?.(this.connection)
2120
}
2221

2322
async destroy(): Promise<void> {

packages/dialect-wasm/src/official-wasm-dialect/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import type { DatabaseConnection } from 'kysely'
22
import { BaseDialect } from '../baseDialect'
3+
import type { Promisable } from '../util'
34
import { OfficialWasmDriver } from './driver'
45
import type { OfficialWasmDB } from './type'
56

67
export interface OfficialWasmDialectConfig {
7-
database: OfficialWasmDB | (() => Promise<OfficialWasmDB>)
8-
onCreateConnection?: (connection: DatabaseConnection) => Promise<void>
8+
database: OfficialWasmDB | (() => Promisable<OfficialWasmDB>)
9+
onCreateConnection?: (connection: DatabaseConnection) => Promisable<void>
910
}
1011

1112
export class OfficialWasmDialect extends BaseDialect {

packages/dialect-wasm/src/sqljs-dialect/driver.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,7 @@ export class SqlJsDriver extends BaseDriver {
8585
this.config.onWrite?.delay,
8686
)
8787

88-
if (this.config.onCreateConnection) {
89-
await this.config.onCreateConnection(this.connection)
90-
}
88+
await this.config.onCreateConnection?.(this.connection)
9189
}
9290

9391
async beginTransaction(connection: SqlJsConnection): Promise<void> {

packages/dialect-wasm/src/sqljs-dialect/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import type { DatabaseConnection, Driver } from 'kysely'
22
import { BaseDialect } from '../baseDialect'
3+
import type { Promisable } from '../util'
34
import { SqlJsDriver } from './driver'
45
import type { SqlJSDB } from './type'
56

67
export interface SqlJsDialectConfig {
7-
database: SqlJSDB | (() => Promise<SqlJSDB>)
8+
database: SqlJSDB | (() => Promisable<SqlJSDB>)
89
onWrite?: {
910
func: (buffer: Uint8Array) => void
1011
/**
@@ -20,7 +21,7 @@ export interface SqlJsDialectConfig {
2021
*/
2122
maxCalls?: number
2223
}
23-
onCreateConnection?: (connection: DatabaseConnection) => Promise<void>
24+
onCreateConnection?: (connection: DatabaseConnection) => Promisable<void>
2425
}
2526
export class SqlJsDialect extends BaseDialect {
2627
readonly #config: SqlJsDialectConfig

packages/dialect-wasm/src/util.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ import { CompiledQuery } from 'kysely'
1515
*/
1616
export async function optimzePragma(conn: DatabaseConnection, cacheSize = 4096, pageSize = 32 * 1024): Promise<void> {
1717
await conn.executeQuery(CompiledQuery.raw(`PRAGMA cache_size = ${cacheSize};`))
18-
await conn.executeQuery(CompiledQuery.raw('PRAGMA journal_mode = MEMORY;'))
19-
await conn.executeQuery(CompiledQuery.raw('PRAGMA locking_mode = MEMORY;'))
20-
await conn.executeQuery(CompiledQuery.raw('PRAGMA temp_store = 2;'))
18+
await conn.executeQuery(CompiledQuery.raw('PRAGMA journal_mode = WAL;'))
19+
await conn.executeQuery(CompiledQuery.raw('PRAGMA temp_store = MEMORY;'))
2120
await conn.executeQuery(CompiledQuery.raw(`PRAGMA page_size = ${pageSize};`))
21+
await conn.executeQuery(CompiledQuery.raw('PRAGMA synchronous = NORMAL;'))
2222
}
23+
24+
export type Promisable<T> = T | Promise<T>

packages/dialect-wasm/src/wasqlite-dialect/driver.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@ export class WaSqliteDriver extends BaseDriver {
1515
? await this.config.database()
1616
: this.config.database
1717
this.connection = new WaSqliteConnection(this.db)
18-
if (this.config.onCreateConnection) {
19-
await this.config.onCreateConnection(this.connection)
20-
}
18+
19+
await this.config.onCreateConnection?.(this.connection)
2120
}
2221

2322
async destroy(): Promise<void> {

0 commit comments

Comments
 (0)