UNPKG

@arkts/headless-jsonrpc

Version:

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

25 lines (23 loc) 751 B
//#region src/adapters/vscode-browser-window.ts var VSCodeBrowserWindowAdapter = class { _vscodeApi; get vscodeApi() { return this._vscodeApi ??= acquireVsCodeApi(); } constructor(options = {}) { this.options = options; } sendEvent(request) { this.vscodeApi.postMessage(this.options.serialize ? this.options.serialize(request) : JSON.stringify(request)); } onEvent(callback) { window.addEventListener("message", (event) => { callback(this.options.deserialize ? this.options.deserialize(event.data) : JSON.parse(event.data)); }); } }; function createVSCodeBrowserWindowAdapter(options) { return new VSCodeBrowserWindowAdapter(options); } //#endregion exports.createVSCodeBrowserWindowAdapter = createVSCodeBrowserWindowAdapter;