Skip to content

Commit 1e293d3

Browse files
committed
feat(utils): improve pragma type
1 parent 81b395e commit 1e293d3

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

packages/sqlite-utils/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,23 @@ function createKyselyLogger(options: LoggerOptions): (event: LogEvent) => void
1212
function savePoint(db: Kysely<any> | Transaction<any>, name?: string): Promise<SavePoint>
1313

1414
// run with savepoint, auto release or rollback
15-
function runWithSavePoint< DB extends Kysely<any> | Transaction<any>, O,>(
15+
function runWithSavePoint<DB extends Kysely<any> | Transaction<any>, O>(
1616
db: Kysely<any> | Transaction<any>,
1717
fn: (db: DB) => Promise<O>,
1818
name?: string
1919
): Promise<O>
2020

2121
// check integrity (`integrity_check` pragma)
22-
function checkIntegrity(db: Kysely<any>): Promise<boolean>
22+
function checkIntegrity(db: DatabaseConnection | Kysely<any> | Transaction<any>): Promise<boolean>
2323

2424
// get or set db version (`user_version` pragma)
25-
function getOrSetDBVersion(db: Kysely<any>, version?: number): Promise<number>
25+
function getOrSetDBVersion(db: DatabaseConnection | Kysely<any> | Transaction<any>, version?: number): Promise<number>
2626

2727
// optimize pragma (typesafe `journal_mode`, `synchoronous`...)
28-
function optimzePragma(conn: DatabaseConnection, options?: OptimizePragmaOptions): Promise<void>
28+
function optimzePragma(conn: DatabaseConnection | Kysely<any> | Transaction<any>, options?: OptimizePragmaOptions): Promise<void>
2929

3030
// control whether to enable foreign keys, **no param check**
31-
export async function foreignKeys(db: Kysely<any>, enable: boolean): Promise<void>
31+
export async function foreignKeys(db: DatabaseConnection | Kysely<any> | Transaction<any>, enable: boolean): Promise<void>
3232

3333
// precompile querys for performance
3434
function precompileQuery<O>(

packages/sqlite-utils/src/pragma.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import { CompiledQuery } from 'kysely'
22
import type { DatabaseConnection, Kysely, Transaction } from 'kysely'
33

4+
type Executor = DatabaseConnection | Kysely<any> | Transaction<any>
5+
46
/**
5-
* check integrity_check pragma, **no param check**
7+
* check integrity_check pragma
68
*/
7-
export async function checkIntegrity(db: Kysely<any>): Promise<boolean> {
9+
export async function checkIntegrity(db: Executor): Promise<boolean> {
810
const { rows } = await db.executeQuery(CompiledQuery.raw('PRAGMA integrity_check'))
911
if (!rows.length) {
1012
throw new Error('fail to check integrity')
@@ -16,15 +18,15 @@ export async function checkIntegrity(db: Kysely<any>): Promise<boolean> {
1618
/**
1719
* control whether to enable foreign keys, **no param check**
1820
*/
19-
export async function foreignKeys(db: Kysely<any>, enable: boolean): Promise<void> {
21+
export async function foreignKeys(db: Executor, enable: boolean): Promise<void> {
2022
await db.executeQuery(CompiledQuery.raw(`PRAGMA foreign_keys = ${enable}`))
2123
}
2224

2325
/**
2426
* get or set user_version pragma, **no param check**
2527
*/
2628
export async function getOrSetDBVersion(
27-
db: Kysely<any>,
29+
db: Executor,
2830
version?: number,
2931
): Promise<number> {
3032
if (version) {
@@ -84,7 +86,7 @@ export type OptimizePragmaOptions = {
8486
* @param options pragma options, {@link OptimizePragmaOptions details}
8587
*/
8688
export async function optimizePragma(
87-
db: DatabaseConnection | Kysely<any> | Transaction<any>,
89+
db: Executor,
8890
options: OptimizePragmaOptions = {},
8991
) {
9092
const entries = Object.entries({

0 commit comments

Comments
 (0)