Source code

Revision control

Copy as Markdown

Other Tools

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