kysely-libsql
Version:
Kysely dialect for libSQL
39 lines (36 loc) • 1.63 kB
TypeScript
import * as libsql from '@libsql/client';
import * as kysely from 'kysely';
type LibsqlDialectConfig = {
client: libsql.Client;
} | libsql.Config;
declare class LibsqlDialect implements kysely.Dialect {
#private;
constructor(config: LibsqlDialectConfig);
createAdapter(): kysely.DialectAdapter;
createDriver(): kysely.Driver;
createIntrospector(db: kysely.Kysely<unknown>): kysely.DatabaseIntrospector;
createQueryCompiler(): kysely.QueryCompiler;
}
declare class LibsqlDriver implements kysely.Driver {
#private;
client: libsql.Client;
constructor(client: libsql.Client, closeClient: boolean);
init(): Promise<void>;
acquireConnection(): Promise<LibsqlConnection>;
beginTransaction(connection: LibsqlConnection, _settings: kysely.TransactionSettings): Promise<void>;
commitTransaction(connection: LibsqlConnection): Promise<void>;
rollbackTransaction(connection: LibsqlConnection): Promise<void>;
releaseConnection(_conn: LibsqlConnection): Promise<void>;
destroy(): Promise<void>;
}
declare class LibsqlConnection implements kysely.DatabaseConnection {
#private;
client: libsql.Client;
constructor(client: libsql.Client);
executeQuery<R>(compiledQuery: kysely.CompiledQuery): Promise<kysely.QueryResult<R>>;
beginTransaction(): Promise<void>;
commitTransaction(): Promise<void>;
rollbackTransaction(): Promise<void>;
streamQuery<R>(_compiledQuery: kysely.CompiledQuery, _chunkSize: number): AsyncIterableIterator<kysely.QueryResult<R>>;
}
export { LibsqlConnection, LibsqlDialect, type LibsqlDialectConfig, LibsqlDriver };