| '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; |