UNPKG

sqlocal

Version:

SQLocal makes it easy to run SQLite3 in the browser, backed by the origin private file system.

34 lines (33 loc) 1.64 kB
import type { DataChange, DriverConfig, DriverStatement, RawResultData, Sqlite3, Sqlite3Db, Sqlite3InitModule, Sqlite3StorageType, SQLocalDriver, UserFunction } from '../types.js'; /** * A SQLocal driver that implements the interface needed for * interacting with SQLite databases in memory. */ export declare class SQLiteMemoryDriver implements SQLocalDriver { protected sqlite3InitModule?: Sqlite3InitModule; protected sqlite3?: Sqlite3; protected db?: Sqlite3Db; protected config?: DriverConfig; protected pointers: number[]; protected writeCallbacks: Set<(change: DataChange) => void>; readonly storageType: Sqlite3StorageType; constructor(sqlite3InitModule?: Sqlite3InitModule); init(config: DriverConfig): Promise<void>; onWrite(callback: (change: DataChange) => void): () => void; exec(statement: DriverStatement): Promise<RawResultData>; execBatch(statements: DriverStatement[], method?: 'transaction' | 'savepoint'): Promise<RawResultData[]>; isDatabasePersisted(): Promise<boolean>; getDatabaseSizeBytes(): Promise<number>; createFunction(fn: UserFunction): Promise<void>; import(database: ArrayBuffer | Uint8Array<ArrayBuffer> | ReadableStream<Uint8Array<ArrayBuffer>>): Promise<void>; export(): Promise<{ name: string; data: ArrayBuffer | Uint8Array<ArrayBuffer>; }>; clear(): Promise<void>; destroy(): Promise<void>; protected getFlags(config: DriverConfig): string; protected execOnDb(db: Sqlite3Db, statement: DriverStatement): RawResultData; protected initWriteHook(): void; protected closeDb(): void; }