@gftdcojp/ksqldb-orm
Version:
ksqldb-orm - Server-Side TypeScript ORM for ksqlDB with enterprise security extensions
155 lines • 4.3 kB
TypeScript
/**
* クライアントサイド用HTTPクライアント(ブラウザ環境)
*/
import { KsqlDbConfig } from './types';
import { PullQueryOptions } from './ksqldb-client';
export interface ClientConfig {
url: string;
apiKey?: string;
apiSecret?: string;
headers?: Record<string, string>;
timeout?: number;
enforceHttps?: boolean;
}
/**
* ブラウザ環境用HTTPクライアント
*/
export declare class HttpClient {
private config;
private defaultHeaders;
constructor(config: ClientConfig);
/**
* GET リクエストを送信
*/
get(path: string, params?: Record<string, any>): Promise<any>;
/**
* POST リクエストを送信
*/
post(path: string, data?: any): Promise<any>;
/**
* PUT リクエストを送信
*/
put(path: string, data?: any): Promise<any>;
/**
* DELETE リクエストを送信
*/
delete(path: string): Promise<any>;
/**
* ksqlDB クエリを実行
*/
executeQuery(sql: string): Promise<any>;
/**
* Pull Query を実行(ブラウザ用)
* @param sql - 実行するSQL文
* @param options - Pull Queryのオプション
*/
executePullQuery(sql: string, options?: PullQueryOptions): Promise<any>;
private fetch;
private handleResponse;
}
/**
* ブラウザ環境用ksqlDBクライアント
*/
export declare class KsqlDbClientBrowser {
private httpClient;
private config;
constructor(config: KsqlDbConfig);
/**
* クエリを実行
*/
executeQuery(sql: string): Promise<any>;
/**
* Pull Query を実行
* @param sql - 実行するSQL文
* @param options - Pull Queryのオプション(デフォルトでオブジェクト形式を返す)
*/
executePullQuery(sql: string, options?: PullQueryOptions): Promise<any>;
/**
* DDL文を実行
*/
executeDDL(ddl: string): Promise<any>;
/**
* ストリーム/テーブル一覧を取得
*/
listStreams(): Promise<any>;
listTables(): Promise<any>;
/**
* トピック一覧を取得
*/
listTopics(): Promise<any>;
/**
* スキーマ情報を取得
*/
describeStream(streamName: string): Promise<any>;
describeTable(tableName: string): Promise<any>;
/**
* 接続状態を確認
*/
isConnected(): Promise<boolean>;
/**
* クライアント設定を取得
*/
getConfig(): KsqlDbConfig;
}
/**
* ブラウザ環境用ksqlDBクライアントを作成
*/
export declare function createKsqlDbClientBrowser(config: KsqlDbConfig): KsqlDbClientBrowser;
/**
* サーバー環境用ksqlDBクライアント
*/
export declare class KsqlDbClientServer {
private config;
constructor(config: KsqlDbConfig);
/**
* クエリを実行
*/
executeQuery(sql: string): Promise<any>;
/**
* Pull Query を実行
* @param sql - 実行するSQL文
* @param options - Pull Queryのオプション(デフォルトでオブジェクト形式を返す)
*/
executePullQuery(sql: string, options?: PullQueryOptions): Promise<any>;
/**
* Push Query を実行
*/
executePushQuery(sql: string, onData: (data: any) => void, onError?: (error: Error) => void, onComplete?: () => void): Promise<{
terminate: () => void;
}>;
/**
* DDL文を実行
*/
executeDDL(ddl: string): Promise<any>;
/**
* ストリーム/テーブル一覧を取得
*/
listStreams(): Promise<any>;
listTables(): Promise<any>;
/**
* トピック一覧を取得
*/
listTopics(): Promise<any>;
/**
* スキーマ情報を取得
*/
describeStream(streamName: string): Promise<any>;
describeTable(tableName: string): Promise<any>;
/**
* 接続状態を確認
*/
isConnected(): Promise<boolean>;
/**
* クライアント設定を取得
*/
getConfig(): KsqlDbConfig;
/**
* クライアントを初期化
*/
initialize(): Promise<void>;
}
/**
* サーバー環境用ksqlDBクライアントを作成
*/
export declare function createKsqlDbClientServer(config: KsqlDbConfig): KsqlDbClientServer;
//# sourceMappingURL=http-client.d.ts.map