@quartal/bridge-client
Version:
Universal client library for embedding applications with URL-configurable transport support (iframe, postMessage) and framework adapters for Angular and Vue
35 lines • 1.23 kB
TypeScript
import { BaseTransportAdapter } from './transport-adapter';
export interface PostMessageTransportConfig {
/** Target window to communicate with */
targetWindow?: Window;
/** Target origin for postMessage (use '*' for any origin, but be careful!) */
targetOrigin?: string;
/** Channel identifier to distinguish messages */
channel?: string;
/** Connection timeout in milliseconds */
timeout?: number;
/** Debug mode */
debug?: boolean;
}
/**
* PostMessage transport adapter using native browser postMessage API
* Provides cross-origin communication capabilities with better UX than iframe
*/
export declare class PostMessageTransport extends BaseTransportAdapter {
private config;
private targetWindow;
private boundMessageListener;
private connectPromise;
private connectionTimeout;
constructor(config?: PostMessageTransportConfig);
connect(target?: Window | HTMLIFrameElement): Promise<void>;
private _connect;
disconnect(): Promise<void>;
send(type: string, data: any): void;
destroy(): void;
getType(): string;
private sendRawMessage;
private handleMessage;
private cleanup;
}
//# sourceMappingURL=postmessage-transport.d.ts.map