Transferable streams

Adds track.transform (why not have both?)

by jib1

JavaScript

async function work({data: readable}) {
  const reader = readable.getReader();
  while (true) console.log((await reader.read()).value);
}

(async () => {
  try {
    const worker = new Worker(`data:text/javascript,onmessage = ${work.toString()};`);
    const {readable, writable} = new TransformStream();
    worker.postMessage(readable, [readable]);
    
    const writer = writable.getWriter();
    writer.write(1);
    writer.write(2);
    writer.write(3);
  } catch (e) {
    console.log(e);
  }
})();