lib/mixins/_stream.js
function _Stream(superObj) {
	var self = this;
	this._zSuperObj = superObj;
	this._isZStream = true;
	this._ignoreStreamError = false;
	this._zStreamId = streamIdCounter++;
	this._currentStreamChain = new StreamChain(true);
	this._currentStreamChain._addStream(this);
	this._zStreamRank = 0;

	this.on('error', function(error) {
		// If there are no other 'error' handlers on this stream, trigger a chainerror
		if(self.listeners('error').length <= 1) {
			self.triggerChainError(error);
		}
	});
}
function _Stream(superObj) {
	var self = this;
	this._zSuperObj = superObj;
	this._isZStream = true;
	this._ignoreStreamError = false;
	this._zStreamId = streamIdCounter++;
	this._currentStreamChain = new StreamChain(true);
	this._currentStreamChain._addStream(this);
	this._zStreamRank = 0;

	this.on('error', function(error) {
		// If there are no other 'error' handlers on this stream, trigger a chainerror
		if(self.listeners('error').length <= 1) {
			self.triggerChainError(error);
		}
	});
}
function _Stream ( superObj ) { var self = this ; this . _zSuperObj = superObj ; this . _isZStream = true ; this . _ignoreStreamError = false ; this . _zStreamId = streamIdCounter ++ ; this . _currentStreamChain = new StreamChain ( true ) ; this . _currentStreamChain . _addStream ( this ) ; this . _zStreamRank = 0 ; this . on ( 'error' , function ( error ) { // If there are no other 'error' handlers on this stream, trigger a chainerror if ( self . listeners ( 'error' ) . length <= 1 ) { self . triggerChainError ( error ) ; } } ) ; }
Writable mixins for ZStream streams.

This class cannot be instantiated in itself.  Its prototype methods must be added to the prototype
of the class it's being mixed into, and its constructor must be called from the superclass's constructor.

@class _Stream
@constructor
@param {Function} superObj - The prototype functions of the superclass the mixin is added on top of.  For example, Writable.prototype or Transform.prototype.
Writable mixins for ZStream streams .