end-of-stream
Advanced tools
Weekly downloads
Readme
A node module that calls a callback when a readable/writable/duplex stream has completed or failed.
npm install end-of-stream
Simply pass a stream and a callback to the eos
.
Both legacy streams, streams2 and stream3 are supported.
var eos = require('end-of-stream');
eos(readableStream, function(err) {
// this will be set to the stream instance
if (err) return console.log('stream had an error or closed early');
console.log('stream has ended', this === readableStream);
});
eos(writableStream, function(err) {
if (err) return console.log('stream had an error or closed early');
console.log('stream has finished', this === writableStream);
});
eos(duplexStream, function(err) {
if (err) return console.log('stream had an error or closed early');
console.log('stream has ended and finished', this === duplexStream);
});
eos(duplexStream, {readable:false}, function(err) {
if (err) return console.log('stream had an error or closed early');
console.log('stream has finished but might still be readable');
});
eos(duplexStream, {writable:false}, function(err) {
if (err) return console.log('stream had an error or closed early');
console.log('stream has ended but might still be writable');
});
eos(readableStream, {error:false}, function(err) {
// do not treat emit('error', err) as a end-of-stream
});
MIT
end-of-stream
is part of the mississippi stream utility collection which includes more useful stream modules similar to this one.
FAQs
Call a callback when a readable/writable/duplex stream has completed or failed.
The npm package end-of-stream receives a total of 27,017,170 weekly downloads. As such, end-of-stream popularity was classified as popular.
We found that end-of-stream demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.