https://github.com/seangarner/node-buffer-peek-stream
Node Transform stream that lets you inspect the start of a ReadStream before deciding what to do with it
https://github.com/seangarner/node-buffer-peek-stream
javascript node-streams nodejs stream
Last synced: 2 months ago
JSON representation
Node Transform stream that lets you inspect the start of a ReadStream before deciding what to do with it
- Host: GitHub
- URL: https://github.com/seangarner/node-buffer-peek-stream
- Owner: seangarner
- License: mit
- Created: 2014-11-05T21:41:47.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-06-17T00:29:19.000Z (12 months ago)
- Last Synced: 2025-03-01T16:41:34.375Z (3 months ago)
- Topics: javascript, node-streams, nodejs, stream
- Language: JavaScript
- Size: 64.5 KB
- Stars: 7
- Watchers: 1
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# node-buffer-peek-stream
[](https://travis-ci.org/seangarner/node-buffer-peek-stream)
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](https://github.com/mafintosh/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