UNPKG

@gftdcojp/gftd-orm

Version:

Enterprise-grade real-time data platform with ksqlDB, inspired by Supabase architecture

133 lines 3.63 kB
/** * Next.js環境のブラウザ専用クライアント * Client ComponentsやPages Routerのクライアントサイドで使用 */ declare class DatabaseClient { constructor(config: any); initialize(): Promise<void>; from<T = any>(table: string): { select: () => { eq: () => { execute: () => Promise<{ data: never[]; error: null; }>; }; }; insert: (data: any) => Promise<{ data: never[]; error: null; }>; update: (data: any) => Promise<{ data: never[]; error: null; }>; delete: () => Promise<{ data: never[]; error: null; }>; execute: () => Promise<{ data: never[]; error: null; }>; }; sql(query: string, params?: any[]): Promise<{ data: never[]; queryId: string; }>; health(): Promise<{ status: string; }>; } import { RealtimeClient } from '../realtime-client'; import { BrowserClientConfig, BaseClient, ClientHealth, QueryResult, StreamController } from './types'; /** * ブラウザ専用のGFTD-ORMクライアント */ export declare class BrowserClient implements BaseClient { private config; private _database; private _realtime; private initialized; private _isConnected; constructor(config: BrowserClientConfig); /** * ブラウザ環境の検証 */ private validateBrowserEnvironment; /** * データベースクライアントを取得 */ get database(): DatabaseClient; /** * リアルタイムクライアントを取得 */ get realtime(): RealtimeClient; /** * クライアントを初期化 */ initialize(): Promise<void>; /** * Supabaseライクなテーブルアクセス */ from<T = any>(table: string): { select: () => { eq: () => { execute: () => Promise<{ data: never[]; error: null; }>; }; }; insert: (data: any) => Promise<{ data: never[]; error: null; }>; update: (data: any) => Promise<{ data: never[]; error: null; }>; delete: () => Promise<{ data: never[]; error: null; }>; execute: () => Promise<{ data: never[]; error: null; }>; }; /** * SQL クエリを実行 */ query<T = any>(sql: string, params?: any[]): Promise<QueryResult<T>>; /** * ストリーミングクエリを実行 */ stream<T = any>(sql: string, onData: (data: T) => void, onError?: (error: Error) => void): Promise<StreamController>; /** * リアルタイムチャンネル */ channel(name: string): import("../realtime-client").RealtimeChannel; /** * ヘルスチェック */ health(): Promise<ClientHealth>; /** * 接続状態を確認 */ isConnected(): boolean; /** * すべての接続を閉じる */ disconnect(): Promise<void>; } /** * ブラウザ専用クライアント作成関数 */ export declare function createBrowserClient(config: BrowserClientConfig): BrowserClient; /** * Next.js Client Components用のクライアント作成関数 */ export declare function createNextBrowserClient(config: BrowserClientConfig): BrowserClient; export {}; //# sourceMappingURL=browser.d.ts.map