30 lines
1.5 KiB
TypeScript
30 lines
1.5 KiB
TypeScript
import type { DataChange, DriverConfig, DriverStatement, RawResultData, Sqlite3, Sqlite3Db, Sqlite3InitModule, Sqlite3StorageType, SQLocalDriver, UserFunction } from '../types.js';
|
|
export declare class SQLiteMemoryDriver implements SQLocalDriver {
|
|
protected sqlite3InitModule?: Sqlite3InitModule | undefined;
|
|
protected sqlite3?: Sqlite3;
|
|
protected db?: Sqlite3Db;
|
|
protected config?: DriverConfig;
|
|
protected pointers: number[];
|
|
protected writeCallbacks: Set<(change: DataChange) => void>;
|
|
readonly storageType: Sqlite3StorageType;
|
|
constructor(sqlite3InitModule?: Sqlite3InitModule | undefined);
|
|
init(config: DriverConfig): Promise<void>;
|
|
onWrite(callback: (change: DataChange) => void): () => void;
|
|
exec(statement: DriverStatement): Promise<RawResultData>;
|
|
execBatch(statements: DriverStatement[]): 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;
|
|
}
|