Negotiable Paleobotanist Missions

    buffer-peek-stream

    1.1.0 • Public • Published

    node-buffer-peek-stream

    Build Status

    Take a peek at the start of a stream and get back a new stream rewound from the start without buffering the entire stream. Useful when you need to inspect the start of the stream before deciding what to do with the stream.

    npm install buffer-peek-stream
    

    Useful if you want to inspect the start of a stream before deciding what to do with it.

    This works with buffers and does no string decoding. If you know you have a string and already know its encoding then checkout peek-stream.

    Usage

    As a promise (with await)...

    const peek = require('buffer-peek-stream').promise;
    const readstream = fs.createReadStream('package.json');
    
    const [data, outputStream] = await peek(readstream, 65536);
    
    // outputStream is ready to be piped somewhere else
    outputStream.pipe(somewhere_else);
    

    As a callback...

    var peek = require('buffer-peek-stream');
    var readstream = fs.createReadStream('package.json');
    
    peek(readstream, 65536, function (err, data, outputStream) {
      if (err) throw err;
    
      // outputStream is ready to be piped somewhere else
      outputStream.pipe(somewhere_else);
    });
    

    As a stream...

    var PeekStream = require('buffer-peek-stream').BufferPeekStream;
    
    var peek = new PeekStream(65536);
    var readstream = fs.createReadStream('package.json');
    
    // peek will only emit the peek event once
    peek.once('peek', function (buf) {
    
      // readstream is ready to be piped somewhere else
      peek.pipe(somewhere_else);
    });
    
    readstream.pipe(peek);
    
    // alternatively pipe `peek` here instead of in `data` callback
    

    Licence

    MIT

    Install

    npm i buffer-peek-stream

    DownloadsWeekly Downloads

    22,195

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    10.4 kB

    Total Files

    7

    Last publish

    Collaborators

    • davidgwking
    • seangarner