async filter transform

by jib1

HTML

<script src="https://jan-ivar.github.io/dummy/progressbar.js"></script>
<div id="container"></div>
<div id="div"></div>

JavaScript

const console = {log: msg => div.innerHTML += `${msg}<br>`};

(async url => {
  try {
    await new ReadableStream({
      n: 0,
      pull(controller) { this.n < 10 && controller.enqueue(this.n++); }
    })
      .pipeThrough(new TransformStream({
        transform(chunk, controller) {
          if (chunk % 2 == 0) controller.enqueue(chunk);
        }
      }))
      .pipeTo(new WritableStream({write: c => console.log(c)}));
  } catch (e) {
    console.log(`${e.name}: ${e.message}`);
  }
})();