comlink-extension
v1.0.8
Published
This module allows you to use Comlink for Background <-> Content/Popup scripts.
Downloads
207
Readme
Comlink for Web Extensions
This module allows you to use Comlink for Background <-> Content/Popup scripts.
Usage
Background-script:
import { createBackgroundEndpoint, isMessagePort } from "comlink-extension";
import * as Comlink from "comlink";
chrome.runtime.onConnect.addListener((port) => {
if (isMessagePort(port)) return;
Comlink.expose(
{
test() {
console.log("called");
},
},
createBackgroundEndpoint(port)
);
});
Content / popup / devtool script:
import { createEndpoint, forward } from "comlink-extension";
import * as Comlink from "comlink";
// Wrap a chrome.runtime.Port
const obj = Comlink.wrap(createEndpoint(chrome.runtime.connect()));
obj.test();
// Or, wrap an existing Message Channel:
const { port1, port2 } = new MessageChannel();
forward(port1, chrome.runtime.connect());
const obj = Comlink.wrap(port2);
obj.test();