UNPKG

@electric-sql/d2ts

Version:

D2TS is a TypeScript implementation of Differential Dataflow.

48 lines (47 loc) 1.5 kB
/** * 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; }