function isNodeStreamLike( value ) {
	return (
		// Must be an object:
		value !== null &&
		typeof value === 'object' &&

		// Should be an event emitter:
		typeof value.on === 'function' &&
		typeof value.once === 'function' &&
		typeof value.emit === 'function' &&
		typeof value.addListener === 'function' &&
		typeof value.removeListener === 'function' &&
		typeof value.removeAllListeners === 'function' &&

		// Should have a `pipe` method (Node streams inherit from `Stream`, including writable streams):
		typeof value.pipe === 'function'
	);
}
Tests if a value is Node stream-like.

@param {*} value - value to test
@returns {boolean} boolean indicating if a value is Node stream-like

@example
var transformStream = require( '@stdlib/streams/node/transform' );

var stream = transformStream();

var bool = isNodeStreamLike( stream );
// returns true

bool = isNodeStreamLike( {} );
// returns false