stream-events
Get an event when you're being sent data or asked for it.
Last updated 7 years ago by stephenplusplus .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install stream-events 
SYNC missed versions from official npm registry.

stream-events

Get an event when you're being sent data or asked for it.

About

This is just a simple thing that tells you when _read and _write have been called, saving you the trouble of writing this yourself. You receive two events reading and writing-- no magic is performed.

This works well with duplexify or lazy streams, so you can wait until you know you're being used as a stream to do something asynchronous, such as fetching an API token.

Use

$ npm install --save stream-events
var stream = require('stream')
var streamEvents = require('stream-events')
var util = require('util')

function MyStream() {
  stream.Duplex.call(this)
  streamEvents.call(this)
}
util.inherits(MyStream, stream.Duplex)

MyStream.prototype._read = function(chunk) {
  console.log('_read called as usual')
  this.push(new Buffer(chunk))
  this.push(null)
}

MyStream.prototype._write = function() {
  console.log('_write called as usual')
}

var stream = new MyStream

stream.on('reading', function() {
  console.log('stream is being asked for data')
})

stream.on('writing', function() {
  console.log('stream is being sent data')
})

stream.pipe(stream)

Using with Duplexify

var duplexify = require('duplexify')
var streamEvents = require('stream-events')
var fs = require('fs')

var dup = streamEvents(duplexify())

dup.on('writing', function() {
  // do something async
  dup.setWritable(/*writable stream*/)
})

fs.createReadStream('file').pipe(dup)

Current Tags

  • 1.0.5                                ...           latest (7 years ago)

6 Versions

  • 1.0.5                                ...           7 years ago
  • 1.0.4                                ...           8 years ago
  • 1.0.3                                ...           8 years ago
  • 1.0.2                                ...           9 years ago
  • 1.0.1                                ...           11 years ago
  • 1.0.0                                ...           11 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 5
Dependencies (1)
Dev Dependencies (1)

Copyright 2013 - present © cnpmjs.org | Home |