import Foundation @MainActor public final class XWebViewBridge { public static let shared = XWebViewBridge() private var config = XWebViewConfig() private weak var controller: AnyObject? private init() {} public func open(_ config: XWebViewConfig) { self.config = config } public func currentConfig() -> XWebViewConfig { config } public func setController(_ controller: (any XWebViewController)?) { self.controller = controller } public func currentController() -> (any XWebViewController)? { controller as? any XWebViewController } } @MainActor public func openXWebView(_ config: XWebViewConfig) { XWebViewBridge.shared.open(config) }