UNPKG

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
import { I as IframeBridge, B as BridgeConfig, P as PluginsConfig } from './index-DuScrLdb.js'; 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.js'; /** * 主窗口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 };