iframe-connect
Version:
A lightweight, type-safe cross-frame communication library with plugin system and multi-window isolation
58 lines (50 loc) • 2.32 kB
text/typescript
import { I as IframeBridge, B as BridgeConfig, P as PluginsConfig } from './index-DuScrLdb.mjs';
export { a as BaseMessage, c as EventListener, E as EventMessage, L as Logger, f as LoggerOptions, d as MessageHandler, M as MessageType, Q as QueueManager, k as QueueOptions, R as RequestMessage, b as ResponseMessage, g as RetryManager, i as RetryOptions, e as createLogger, j as createQueueManager, h as createRetryManager } from './index-DuScrLdb.mjs';
/**
* 主窗口iframe桥梁
*/
declare class HostBridge extends IframeBridge {
private iframe;
constructor(iframe: HTMLIFrameElement, config?: BridgeConfig);
protected setupMessageListener(): void;
protected getTargetWindow(): Window | null;
}
/**
* 子窗口iframe桥梁
*/
declare class ChildBridge extends IframeBridge {
constructor(config?: BridgeConfig);
protected setupMessageListener(): void;
protected getTargetWindow(): Window | null;
}
/**
* 跨框架桥梁工厂函数
*/
interface EnhancedBridgeConfig extends BridgeConfig {
plugins?: PluginsConfig;
}
/**
* 创建增强的主窗口桥梁(带插件支持)
*/
declare function createEnhancedHostBridge(iframe: HTMLIFrameElement, config?: EnhancedBridgeConfig): HostBridge;
/**
* 创建增强的子窗口桥梁(带插件支持)
*/
declare function createEnhancedChildBridge(config?: EnhancedBridgeConfig): ChildBridge;
/**
* 自动创建增强的桥梁(根据环境判断,带插件支持)
*/
declare function createEnhancedBridge(iframeOrConfig?: HTMLIFrameElement | EnhancedBridgeConfig, config?: EnhancedBridgeConfig): HostBridge | ChildBridge;
/**
* 创建主窗口桥梁
*/
declare function createHostBridge(iframe: HTMLIFrameElement, config?: BridgeConfig): HostBridge;
/**
* 创建子窗口桥梁
*/
declare function createChildBridge(config?: BridgeConfig): ChildBridge;
/**
* 自动创建桥梁(根据环境判断)
*/
declare function createAutoBridge(iframeOrConfig?: HTMLIFrameElement | BridgeConfig, config?: BridgeConfig): HostBridge | ChildBridge;
export { BridgeConfig, ChildBridge, type EnhancedBridgeConfig, HostBridge, IframeBridge, PluginsConfig, createAutoBridge, createEnhancedBridge as createBridge, createChildBridge, createEnhancedBridge, createEnhancedChildBridge, createEnhancedHostBridge, createHostBridge };