UNPKG

@junkawasaki/kawadb-orm

Version:

TypeScript ORM for KawaDB with KSQL support - works in Web and Electron environments

76 lines (75 loc) 1.85 kB
/** * KawaDB接続クラス */ import { WasmLoader } from '../utils/WasmLoader'; import { Logger } from '../utils/Logger'; import { DatabaseConfig, ConnectionOptions, DatabaseStats } from '../types/DatabaseTypes'; export declare class Connection { private wasmLoader; private wasmModule; private kawaBrowserDB; private logger; private config; private connected; constructor(wasmLoader: WasmLoader, config: DatabaseConfig, logger: Logger); /** * データベースに接続 */ connect(options?: ConnectionOptions): Promise<void>; /** * データベースから切断 */ disconnect(): Promise<void>; /** * SQLクエリを実行 */ query(sql: string, params?: any[]): Promise<any>; /** * イベントを追加 */ addEvent(eventType: string, data: any): Promise<string>; /** * イベントを取得 */ getEvents(limit?: number): Promise<any[]>; /** * 統計情報を取得 */ getStats(): Promise<DatabaseStats>; /** * データベースを最適化 */ optimize(): Promise<void>; /** * データを同期 */ sync(): Promise<void>; /** * 全データをクリア */ clearAll(): Promise<void>; /** * トランザクションを開始 */ beginTransaction(): Promise<void>; /** * トランザクションをコミット */ commitTransaction(): Promise<void>; /** * トランザクションをロールバック */ rollbackTransaction(): Promise<void>; /** * 接続状態を取得 */ isConnected(): boolean; /** * 生のKawaBrowserDBインスタンスを取得 */ getRawConnection(): any; /** * ブラウザDB設定を構成 */ private configureBrowserDB; }