chromium/third_party/blink/web_tests/external/wpt/webrtc-extensions/transfer-datachannel-service-worker.js

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);
    }
};