@electric-sql/drivers
Version:
ElectricSQL database drivers.
21 lines (20 loc) • 1.2 kB
TypeScript
import { Mutex } from 'async-mutex';
import { DatabaseAdapter as DatabaseAdapterInterface, RunResult, Transaction as Tx, UncoordinatedDatabaseAdapter } from '../adapter.js';
import { Statement as DbStatement, Row, Statement } from '../util/types.js';
import { Database } from './database.js';
export declare class DatabaseAdapter implements DatabaseAdapterInterface {
db: Database;
readonly defaultNamespace = "main";
protected txMutex: Mutex;
constructor(db: Database);
_runInTransaction(...statements: DbStatement[]): Promise<RunResult>;
_transaction<T>(f: (_tx: Tx, setResult: (res: T) => void) => void): Promise<T>;
_run({ sql, args }: DbStatement): Promise<RunResult>;
_query({ sql, args }: DbStatement): Promise<Row[]>;
_runExclusively<T>(f: (adapter: UncoordinatedDatabaseAdapter) => Promise<T> | T): Promise<T>;
runInTransaction(...statements: DbStatement[]): Promise<RunResult>;
transaction<T>(f: (_tx: Tx, setResult: (res: T) => void) => void): Promise<T>;
run(stmt: Statement): Promise<RunResult>;
query(stmt: Statement): Promise<Row[]>;
runExclusively<T>(f: (adapter: UncoordinatedDatabaseAdapter) => Promise<T> | T): Promise<T>;
}