Skip to content

Transform input into equally-sized blocks of output using async iterators

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

alanshaw/it-block

Repository files navigation

it-block

codecov CI

transform input into equally-sized blocks of output using async iterators

Table of contents

Install

$ npm i it-block

An async iterators version of block-stream.

Usage

Example

import { block } from 'it-block'
import { pipe } from 'it-pipe'

const chr = s => '\\x' + pad(s.charCodeAt(0).toString(16), 2)
const pad = (s, n) => Array(n - s.length + 1).join('0') + s

pipe(
  process.stdin,
  block({ size: 16 }),
  async source => {
    for await (const buf of source) {
      const str = new TextDecoder().decode(buf.slice()).replace(/[\x00-\x1f]/g, chr)
      console.log('buf[' + buf.byteLength + ']=' + str)
    }
  }
)
$ echo {c,d,f}{a,e,i,o,u}{t,g,r} | node example/stream.js
buf[16]=cat cag car cet
buf[16]=ceg cer cit cig
buf[16]=cir cot cog cor
buf[16]=cut cug cur dat
buf[16]=dag dar det deg
buf[16]=der dit dig dir
buf[16]=dot dog dor dut
buf[16]=dug dur fat fag
buf[16]=far fet feg fer
buf[16]=fit fig fir fot
buf[16]=fog for fut fug
buf[16]=fur\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

API

import { block } from 'it-block'

const b = block(size, opts)

Create a new transform b that yields chunks of length size.

Note: chunks that are output are Uint8ArrayList objects NOT Uint8Arrays.

When opts.noPad is true, do not zero-pad the last chunk.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Transform input into equally-sized blocks of output using async iterators

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •