@junkawasaki/kawadb-orm
Version:
TypeScript ORM for KawaDB with KSQL support - works in Web and Electron environments
76 lines (75 loc) • 1.85 kB
TypeScript
/**
* 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;
}