@gftdcojp/gftd-orm
Version:
Enterprise-grade real-time data platform with ksqlDB, inspired by Supabase architecture
78 lines • 2.73 kB
TypeScript
/**
* ksqlDB コネクション - REST API 経由でクエリを実行、DDL/DML を発行
*/
import { KsqlDbConfig } from './types';
/**
* ksqlDB クライアントを初期化
*/
export declare function initializeKsqlDbClient(ksqlConfig: KsqlDbConfig): void;
/**
* 配列レスポンスをオブジェクトに変換する関数
* @param rows - データ行の配列
* @param columnNames - カラム名の配列
* @returns オブジェクトの配列
*/
export declare function transformArrayRowsToObjects(rows: any[][], columnNames: string[]): Record<string, any>[];
/**
* オプション型 - Pull Queryの結果形式を指定
*/
export interface PullQueryOptions {
/** レスポンス形式: 'object' (デフォルト) | 'array' */
format?: 'object' | 'array';
/** テーブル名の正規化を行うかどうか */
normalizeTableName?: boolean;
}
/**
* DDL/DML文を実行(CREATE, INSERT, UPDATE, DELETE, DROP など)
* /ksql エンドポイントを使用
*/
export declare function executeQuery(sql: string): Promise<any>;
/**
* Pull Query を実行(一度だけ結果を取得するSELECT文)
* /query-stream エンドポイントを使用
* @param sql - 実行するSQL文
* @param options - Pull Queryのオプション
*/
export declare function executePullQuery(sql: string, options?: PullQueryOptions): Promise<any>;
/**
* Push Query を実行(継続的にデータを受信するSELECT文)
* /query-stream エンドポイントでストリーミング
*/
export declare function executePushQuery(sql: string, onData: (data: any) => void, onError?: (error: Error) => void, onComplete?: () => void): Promise<{
terminate: () => void;
}>;
/**
* 汎用クエリ実行(自動でエンドポイントを選択)
*/
export declare function executeAnyQuery(sql: string): Promise<any>;
/**
* DDL文を実行(CREATE STREAM/TABLE など)
*/
export declare function executeDDL(ddl: string): Promise<any>;
/**
* ストリーム/テーブル一覧を取得
*/
export declare function listStreams(): Promise<any>;
export declare function listTables(): Promise<any>;
/**
* トピック一覧を取得
*/
export declare function listTopics(): Promise<any>;
/**
* スキーマ情報を取得
*/
export declare function describeStream(streamName: string): Promise<any>;
export declare function describeTable(tableName: string): Promise<any>;
/**
* クライアント設定を取得
*/
export declare function getClientConfig(): KsqlDbConfig | null;
/**
* 接続状態を確認
*/
export declare function isConnected(): boolean;
/**
* クライアントを閉じる
*/
export declare function closeClient(): void;
//# sourceMappingURL=ksqldb-client.d.ts.map