Nanobots Protecting Microbots

    block-stream2

    2.1.0 • Public • Published

    block-stream2

    transform input into equally-sized chunks as output

    streams3 version of block-stream

    build status

    example

    const BlockStream = require('block-stream2');
    const through = require('through2');
    
    process.stdin
        .pipe(new BlockStream({ size: 16, zeroPadding: true }))
        .pipe(through((buf, enc, next) => {
            const str = buf.toString().replace(/[\x00-\x1f]/g, chr);
            console.log(`buf[${buf.length}]=${str}`);
            next();
        }))
    ;
    function chr (s) { return `\\x${pad(s.charCodeAt(0).toString(16),2)}` }
    function pad (s, n) { return Array(n - s.length + 1).join('0') + s }
    $ 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
    

    methods

    const BlockStream = require('block-stream2');

    const b = new BlockStream(opts)

    const b = new BlockStream(size, opts)

    Create a new transform stream b that outputs chunks of length size or opts.size.

    When opts.zeroPadding is false, do not zero-pad the last chunk.

    install

    With npm do:

    npm install block-stream2
    

    license

    MIT

    Install

    npm i block-stream2

    DownloadsWeekly Downloads

    73,474

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    5.23 kB

    Total Files

    4

    Last publish

    Collaborators

    • feross
    • substack