You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
巴林闲侠
6f4dcd76d0
|
3 years ago | |
---|---|---|
.. | ||
node_modules | 3 years ago | |
LICENSE | 3 years ago | |
index.js | 3 years ago | |
package.json | 3 years ago | |
readme.markdown | 3 years ago |
readme.markdown
block-stream2
transform input into equally-sized chunks as output
streams3 version of block-stream
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