UNPKG

@arkts/headless-jsonrpc

Version:

Simple and Fast headless JSON-RPC communication libraries support advanced features such as retry and timeout.

33 lines (32 loc) 1.08 kB
//#region src/adapters/vscode-webview.ts var VSCodeWebviewAdapter = class { constructor(options) { this.options = options; } async sendEvent(request) { await this.options.webview.postMessage(this.options.serialize ? this.options.serialize(request) : JSON.stringify(request)); } onEvent(callback) { const listener = this.options.webview.onDidReceiveMessage((message) => { callback(this.options.deserialize ? this.options.deserialize(message) : JSON.parse(message)); }); this.options.context?.subscriptions.push(listener); } }; function createVSCodeWebviewAdapter(webviewOrOptions, context, extraOptions) { if ("webview" in webviewOrOptions) return new VSCodeWebviewAdapter({ webview: webviewOrOptions.webview, context: webviewOrOptions.context, serialize: webviewOrOptions.serialize, deserialize: webviewOrOptions.deserialize, ...extraOptions }); return new VSCodeWebviewAdapter({ webview: webviewOrOptions, context, ...extraOptions }); } //#endregion export { createVSCodeWebviewAdapter }; //# sourceMappingURL=vscode-webview-B5bu8aPw.js.map