Source code

Revision control

Copy as Markdown

Other Tools

let channel;
let port;
onmessage = (e) => {
if (e.data.port) {
port = e.data.port;
port.onmessage = (event) => channel.send(event.data.message);
}
if (e.data.channel) {
channel = e.data.channel;
channel.onopen = () => port.postMessage("opened");
channel.onerror = () => port.postMessage("errored");
channel.onclose = () => port.postMessage("closed");
channel.onmessage = (event) => port.postMessage(event.data);
}
};