Skip to content

Commit 892107f

Browse files
kevvasindresorhus
authored andcommittedApr 12, 2016
Add support for detecting transform streams (#4)
Fixes #3.
1 parent 838082d commit 892107f

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed
 

‎index.js

+4
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ isStream.readable = function (stream) {
1515
isStream.duplex = function (stream) {
1616
return isStream.writable(stream) && isStream.readable(stream);
1717
};
18+
19+
isStream.transform = function (stream) {
20+
return isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object';
21+
};

‎readme.md

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ isStream({});
3434

3535
#### isStream.duplex(stream)
3636

37+
#### isStream.transform(stream)
3738

3839

3940
## License

‎test.js

+11
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,14 @@ test('isStream.duplex()', t => {
5555
t.false(m.duplex(fs.createReadStream('test.js')));
5656
t.false(m.duplex(fs.createWriteStream(tempfile())));
5757
});
58+
59+
test('isStream.transform()', t => {
60+
t.true(m.transform(new Stream.Transform()));
61+
t.true(m.transform(new Stream.PassThrough()));
62+
t.false(m.transform(new Stream.Duplex()));
63+
t.false(m.transform(new Stream.Stream()));
64+
t.false(m.transform(new Stream.Readable()));
65+
t.false(m.transform(new Stream.Writable()));
66+
t.false(m.transform(fs.createReadStream('test.js')));
67+
t.false(m.transform(fs.createWriteStream(tempfile())));
68+
});

0 commit comments

Comments
 (0)
Please sign in to comment.