brendanashworth / block-stream-file

transform input into equally-sized chunks as output

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

block-stream-file build status

transform input into equally-sized chunks as output, using a temporary file to buffer instead of memory

example

var block = require('block-stream-file');
var through = require('through2');

process.stdin
    .pipe(block({ size: 16, zeroPadding: true }))
    .pipe(through(function (buf, enc, next) {
        var 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

var block = require('block-stream-file');

var b = block(opts)

var b = block(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-stream-file

license

MIT

About

transform input into equally-sized chunks as output

License:Other


Languages

Language:JavaScript 100.0%