UNPKG

746 BJavaScriptView Raw
1export function isStream(stream) {
2 return stream !== null
3 && typeof stream === 'object'
4 && typeof stream.pipe === 'function';
5}
6
7export function isWritableStream(stream) {
8 return isStream(stream)
9 && stream.writable !== false
10 && typeof stream._write === 'function'
11 && typeof stream._writableState === 'object';
12}
13
14export function isReadableStream(stream) {
15 return isStream(stream)
16 && stream.readable !== false
17 && typeof stream._read === 'function'
18 && typeof stream._readableState === 'object';
19}
20
21export function isDuplexStream(stream) {
22 return isWritableStream(stream)
23 && isReadableStream(stream);
24}
25
26export function isTransformStream(stream) {
27 return isDuplexStream(stream)
28 && typeof stream._transform === 'function';
29}