29 lines
		
	
	
		
			677 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			677 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
const isStream = stream =>
 | 
						|
	stream !== null &&
 | 
						|
	typeof stream === 'object' &&
 | 
						|
	typeof stream.pipe === 'function';
 | 
						|
 | 
						|
isStream.writable = stream =>
 | 
						|
	isStream(stream) &&
 | 
						|
	stream.writable !== false &&
 | 
						|
	typeof stream._write === 'function' &&
 | 
						|
	typeof stream._writableState === 'object';
 | 
						|
 | 
						|
isStream.readable = stream =>
 | 
						|
	isStream(stream) &&
 | 
						|
	stream.readable !== false &&
 | 
						|
	typeof stream._read === 'function' &&
 | 
						|
	typeof stream._readableState === 'object';
 | 
						|
 | 
						|
isStream.duplex = stream =>
 | 
						|
	isStream.writable(stream) &&
 | 
						|
	isStream.readable(stream);
 | 
						|
 | 
						|
isStream.transform = stream =>
 | 
						|
	isStream.duplex(stream) &&
 | 
						|
	typeof stream._transform === 'function';
 | 
						|
 | 
						|
module.exports = isStream;
 |