UNPKG

@gftdcojp/ksqldb-orm

Version:

ksqldb-orm - Server-Side TypeScript ORM for ksqlDB with enterprise security extensions

146 lines 5.86 kB
/** * ksqlDB コネクション - REST API 経由でクエリを実行、DDL/DML を発行 */ import { KsqlDbConfig, EnhancedPullQueryOptions } from './types'; import { ColumnNameTransformConfig } from './utils/column-name-transform'; /** * ksqlDB クライアントを初期化 */ export declare function initializeKsqlDbClient(ksqlConfig: KsqlDbConfig): void; /** * 配列レスポンスをオブジェクトに変換する関数(強化版) * @param rows - データ行の配列 * @param columnNames - カラム名の配列 * @param transformConfig - 列名変換設定(オプション、指定されない場合はグローバル設定を使用) * @returns オブジェクトの配列 */ export declare function transformArrayRowsToObjects(rows: any[][], columnNames: string[], transformConfig?: ColumnNameTransformConfig): 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 など) * 自動的にretention.ms=-1(infinity)を追加する機能付き */ export declare function executeDDL(ddl: string): Promise<any>; /** * DDL実行のオプション設定 */ export interface DDLExecutionOptions { /** retention.ms=-1の自動追加を無効にする(デフォルト: false) */ disableAutoInfinityRetention?: boolean; /** カスタムretention設定(ミリ秒、-1でinfinity) */ customRetentionMs?: number; /** その他のWITH句設定を自動追加 */ additionalWithSettings?: Record<string, string>; } /** * オプション付きDDL文実行 * @param ddl - 実行するDDL文 * @param options - 実行オプション */ export declare function executeDDLWithOptions(ddl: string, options?: DDLExecutionOptions): Promise<any>; /** * ストリーム作成ヘルパー - infinite retention設定済み */ export declare function createStreamWithInfinityRetention(streamName: string, fields: Record<string, string>, options?: { topic?: string; valueFormat?: 'JSON' | 'AVRO' | 'DELIMITED'; keyField?: string; partitions?: number; replicas?: number; additionalSettings?: Record<string, string>; }): Promise<any>; /** * テーブル作成ヘルパー - infinite retention設定済み */ export declare function createTableWithInfinityRetention(tableName: string, sourceStream: string, selectClause?: string, groupByClause?: string, options?: { additionalSettings?: Record<string, 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; /** * Enhanced Pull Query実行(リジリエンス機能対応) * * 下位互換性を保ちながら、拡張オプションをサポート * 通常のexecutePullQueryと同じ動作だが、将来的にリジリエンス機能を統合 * * @param sql - 実行するSQL文 * @param options - 拡張されたPull Queryオプション */ export declare function executePullQueryEnhanced(sql: string, options?: EnhancedPullQueryOptions): Promise<any>; export declare const KsqlDbClient: { initialize: typeof initializeKsqlDbClient; executeQuery: typeof executeQuery; executePullQuery: typeof executePullQuery; executePushQuery: typeof executePushQuery; executeDDL: typeof executeDDL; executeDDLWithOptions: typeof executeDDLWithOptions; createStreamWithInfinityRetention: typeof createStreamWithInfinityRetention; createTableWithInfinityRetention: typeof createTableWithInfinityRetention; listStreams: typeof listStreams; listTables: typeof listTables; listTopics: typeof listTopics; describeStream: typeof describeStream; describeTable: typeof describeTable; isConnected: typeof isConnected; getConfig: typeof getClientConfig; close: typeof closeClient; executeAnyQuery: typeof executeAnyQuery; executePullQueryEnhanced: typeof executePullQueryEnhanced; transformArrayRowsToObjects: typeof transformArrayRowsToObjects; }; //# sourceMappingURL=ksqldb-client.d.ts.map