UNPKG

kysely-generic-sqlite

Version:
52 lines (49 loc) 2.55 kB
import { a as IGenericSqliteExecutor, I as IGenericSqlite } from './type-dQxYJ4xm.cjs'; import { Dialect, Driver, QueryCompiler, DialectAdapter, Kysely, DatabaseIntrospector, DatabaseConnection } from 'kysely'; declare class BaseSqliteDialect implements Dialect { /** * Base class that implements {@link Dialect} * @param create function that create {@link Driver} */ constructor(create: () => Driver); createDriver: () => Driver; createQueryCompiler(): QueryCompiler; createAdapter(): DialectAdapter; createIntrospector(db: Kysely<any>): DatabaseIntrospector; } declare abstract class BaseSqliteDriver implements Driver { private mutex; conn?: DatabaseConnection; savepoint: ((connection: DatabaseConnection, savepointName: string, compileQuery: QueryCompiler['compileQuery']) => Promise<void>) | undefined; releaseSavepoint: ((connection: DatabaseConnection, savepointName: string, compileQuery: QueryCompiler['compileQuery']) => Promise<void>) | undefined; rollbackToSavepoint: ((connection: DatabaseConnection, savepointName: string, compileQuery: QueryCompiler['compileQuery']) => Promise<void>) | undefined; init: () => Promise<void>; /** * Base abstract class that implements {@link Driver} * * You **MUST** assign `this.conn` in `init` and implement `destroy` method */ constructor(init: () => Promise<void>); acquireConnection(): Promise<DatabaseConnection>; beginTransaction(connection: DatabaseConnection): Promise<void>; commitTransaction(connection: DatabaseConnection): Promise<void>; rollbackTransaction(connection: DatabaseConnection): Promise<void>; releaseConnection(): Promise<void>; abstract destroy(): Promise<void>; } /** * Wrapper for {@link IGenericSqlite}'s `query` function * * Do not support `returning` in `INSERT`, `UPDATE`, `DELETE` * @param exec {@link IGenericSqliteExecutor} */ declare function buildQueryFnAlt(exec: IGenericSqliteExecutor): IGenericSqlite['query']; /** * Wrapper for {@link IGenericSqlite}'s `query` function * * Support `returning`, get `insertId` and `numAffectedRows` by calling `select 1` * @param exec {@link IGenericSqliteExecutor} `exec.run` will never call real sqls */ declare function buildQueryFn(exec: IGenericSqliteExecutor): IGenericSqlite['query']; declare function parseBigInt(num: number | bigint | null | undefined): bigint | undefined; export { BaseSqliteDialect as B, BaseSqliteDriver as a, buildQueryFnAlt as b, buildQueryFn as c, parseBigInt as p };