1
|
'use strict';
|
2
|
|
3
|
var isStream = module.exports = function (stream) {
|
4
|
return stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function';
|
5
|
};
|
6
|
|
7
|
isStream.writable = function (stream) {
|
8
|
return isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object';
|
9
|
};
|
10
|
|
11
|
isStream.readable = function (stream) {
|
12
|
return isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object';
|
13
|
};
|
14
|
|
15
|
isStream.duplex = function (stream) {
|
16
|
return isStream.writable(stream) && isStream.readable(stream);
|
17
|
};
|
18
|
|
19
|
isStream.transform = function (stream) {
|
20
|
return isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object';
|
21
|
};
|