JSPM

parallel-transform-web

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 720
  • Score
    100M100P100Q104764F
  • License Apache-2.0 OR MIT

Parallel transform for web streams. Zero dependencies.

Package Exports

  • parallel-transform-web
  • parallel-transform-web/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (parallel-transform-web) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

parallel-transform-web

Build JavaScript Style Guide

Parallel transform for web streams. Zero dependencies.

Note: does not preserve ordering.

Install

npm i parallel-transform-web

Usage

import { Parallel } from 'parallel-transform-web'

// a stream that yields random numbers, forever!
const randomNumbers = new ReadableStream({ pull: controller => controller.enqueue(Math.random() * 10) })
// run up to 10 transforms concurrently
const concurrency = 10
// identity transform that adds a short delay
const transformer = n => new Promise(resolve => setTimeout(() => resolve(n), n))
// parallelized transform stream
const delayer = new Parallel(concurrency, transformer)
// writable stream that just logs whatever is written to it
const logger = new WritableStream({ write: n => console.log(n) })

await randomNumbers.pipeThrough(delayer).pipeTo(logger)

Contributing

Feel free to join in. All welcome. Please open an issue!

License

Dual-licensed under MIT + Apache 2.0