@electric-sql/d2ts
Version:
D2TS is a TypeScript implementation of Differential Dataflow.
48 lines (47 loc) • 1.5 kB
TypeScript
/**
* Represents a prepared statement in SQLite
*/
export interface SQLiteStatement<Params = unknown, Result = unknown> {
/**
* Run the prepared statement with parameters
* Accepts either an array of parameters or an object of named parameters
*/
run(...params: Params extends any[] ? Params : [Params?]): void;
/**
* Get a single row from the prepared statement
* Accepts either an array of parameters or an object of named parameters
*/
get(...params: Params extends any[] ? Params : [Params?]): Result | undefined;
/**
* Get all rows from the prepared statement
* Accepts either an array of parameters or an object of named parameters
*/
all(...params: Params extends any[] ? Params : [Params?]): Result[];
/**
* Finalize the prepared statement
*/
finalize?: () => void;
}
/**
* Interface for SQLite database operations
*/
export interface SQLiteDb {
/**
* Execute raw SQL
*/
exec(sql: string): void;
/**
* Prepare a statement
*/
prepare<Params = unknown, Result = unknown>(sql: string): SQLiteStatement<Params, Result>;
}
/**
* Wrapper for better-sqlite3 to implement SQLiteDb interface
*/
export declare class BetterSQLite3Wrapper implements SQLiteDb {
#private;
constructor(db: import('better-sqlite3').Database);
exec(sql: string): void;
prepare<Params = unknown, Result = unknown>(sql: string): SQLiteStatement<Params, Result>;
close(): void;
}