Get unlimited public & private packages + team-based management with npm Teams.Learn more »

This package has been deprecated

Author message:

This module is no longer maintained.

peekaboo

2.0.2 • Public • Published

peekaboo

A Peekable node stream.

A Peekaboo stream works just like a PassThrough stream, it can be piped to and from without any transformation of the chunks. The difference is that a Peekaboo stream will emit each chunk as a peek event on an EventEmitter of your choosing, letting you spy on stream chunks in an uninvasive way.

Build Status

Lead Maintainer - Eran Hammer

Example

We can report the download process of a request by peeking on response stream events:

'use strict';
 
const Events = require('events');
const Fs = require('fs');
const Https = require('https');
const Peekaboo = require('peekaboo');
 
const emitter = new Events.EventEmitter();
const peek = new Peekaboo(emitter);
 
Https.get('https://codeload.github.com/hapijs/hapi/zip/master', (res) => {
 
    res.pipe(peek).pipe(Fs.createWriteStream('./hapi.zip'));
 
    let downloaded = 0;
    emitter.on('peek', (chunk) => {
 
        downloaded += chunk.length;
        const pct = (downloaded / res.headers['content-length'] * 100).toFixed(1);
        process.stdout.write(pct + '% downloaded\r');
    });
});

Install

npm i peekaboo

DownloadsWeekly Downloads

47,951

Version

2.0.2

License

BSD-3-Clause

Last publish

Collaborators

  • avatar