import type { XWebViewConfig } from './types' export type XWebViewControllerAPI = { refresh: () => void close: () => void goBack: () => void goForward: () => void copyUrl: () => void postMessageToWeb: (jsString: string) => void getTitle: () => string } let _config: XWebViewConfig = {} let _controller: XWebViewControllerAPI | null = null export function openXWebView( navigate: (pluginId: string) => void, config: XWebViewConfig, ) { _config = { ...config } navigate('xwebview') } export function getXWebViewConfig(): XWebViewConfig { return _config } export function setXWebViewController( controller: XWebViewControllerAPI | null, ) { _controller = controller } export const XWebViewControl: XWebViewControllerAPI = { refresh: () => _controller?.refresh(), close: () => _controller?.close(), goBack: () => _controller?.goBack(), goForward: () => _controller?.goForward(), copyUrl: () => _controller?.copyUrl(), postMessageToWeb: js => _controller?.postMessageToWeb(js), getTitle: () => _controller?.getTitle() ?? '', }