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.
21 lines
800 B
21 lines
800 B
'use strict'; |
|
|
|
var isStream = module.exports = function (stream) { |
|
return stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function'; |
|
}; |
|
|
|
isStream.writable = function (stream) { |
|
return isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object'; |
|
}; |
|
|
|
isStream.readable = function (stream) { |
|
return isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object'; |
|
}; |
|
|
|
isStream.duplex = function (stream) { |
|
return isStream.writable(stream) && isStream.readable(stream); |
|
}; |
|
|
|
isStream.transform = function (stream) { |
|
return isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object'; |
|
};
|
|
|