You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
677 B
28 lines
677 B
'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;
|
|
|