Home

Awesome

on-stream-end npmjs.com The MIT License

Handles completion and errors of any stream - readable/writable/duplex.
A drop-in replacement for end-of-stream.

code climate standard code style travis build status coverage status dependency status

Install

npm i on-stream-end --save

Usage

For more use-cases see the tests

const eos = require('on-stream-end')

onStreamEnd

Handles completion and errors of any stream - readable/writable/duplex.

Example

const fs = require('fs')
const eos = require('on-stream-end')
const readable = fs.createReadStream('README.md')

eos(readable, err => {
  if (err) return console.log('stream had an error or closed early')
  console.log('stream has ended')
})

More examples

This module is drop-in replacement for end-of-stream, just more strictness, more coverage and more tests.

var eos = require('on-stream-end')

eos(readableStream, function (err) {
  if (err) return console.log('stream had an error or closed early')
  console.log('stream has ended')
})

eos(writableStream, function (err) {
  if (err) return console.log('stream had an error or closed early')
  console.log('stream has finished')
})

eos(duplexStream, function (err) {
  if (err) return console.log('stream had an error or closed early')
  console.log('stream has ended and finished')
})

eos(duplexStream, {readable: 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(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 readable')
})

eos(readableStream, {error: false}, function (err) {
  // do not treat emit('error', err) as a end of stream
})

Related

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckocore.tk keybase tunnckocore tunnckoCore npm tunnckoCore twitter tunnckoCore github