Writable Stream-like

Test if a value is Node writable stream-like.

Usage

var isNodeWritableStreamLike = require( '@stdlib/assert/is-node-writable-stream-like' );

isNodeWritableStreamLike( value )

Tests if a value is Node writable stream-like.

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

var bool = isNodeWritableStreamLike( transformStream() );
// returns true

Examples

var stream = require( 'stream' );
var transformStream = require( '@stdlib/streams/utils/transform' );
var isNodeWritableStreamLike = require( '@stdlib/assert/is-node-writable-stream-like' );

var bool = isNodeWritableStreamLike( new stream.Writable() );
// returns true

bool = isNodeWritableStreamLike( new stream.Transform() );
// returns true

bool = isNodeWritableStreamLike( new stream.Duplex() );
// returns true

bool = isNodeWritableStreamLike( transformStream() );
// returns true

bool = isNodeWritableStreamLike( new stream.Stream() );
// returns false

bool = isNodeWritableStreamLike( new stream.Readable() );
// returns false

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

bool = isNodeWritableStreamLike( [] );
// returns false

bool = isNodeWritableStreamLike( null );
// returns false

function Stream() {
    return this;
}

bool = isNodeWritableStreamLike( Stream );
// returns false

bool = isNodeWritableStreamLike( new Stream() );
// returns false