Introduction to is-stream
The is-stream
module is an incredibly useful utility for Node.js developers to determine whether a given object is a stream. Streams are essential components in Node.js, enabling efficient reading, writing, and piping of data. This guide covers the extensive API of is-stream
with practical examples to help you integrate it seamlessly into your applications.
API Overview
isStream(value)
Checks if value
is a stream.
const isStream = require('is-stream');
console.log(isStream(fs.createReadStream('example.txt'))); // true
isStream.writable(value)
Checks if value
is a writable stream.
const {Writable} = require('stream');
const isStream = require('is-stream');
const writableStream = new Writable({
write(chunk, encoding, callback) {
callback();
}
});
console.log(isStream.writable(writableStream)); // true
isStream.readable(value)
Checks if value
is a readable stream.
const {Readable} = require('stream');
const isStream = require('is-stream');
const readableStream = new Readable({
read(size) {
this.push('data');
}
});
console.log(isStream.readable(readableStream)); // true
isStream.duplex(value)
Checks if value
is a duplex stream.
const {Duplex} = require('stream');
const isStream = require('is-stream');
const duplexStream = new Duplex({
read(size) {
this.push('data');
},
write(chunk, encoding, callback) {
callback();
}
});
console.log(isStream.duplex(duplexStream)); // true
isStream.transform(value)
Checks if value
is a transform stream.
const {Transform} = require('stream');
const isStream = require('is-stream');
const transformStream = new Transform({
transform(chunk, encoding, callback) {
callback(null, chunk.toString().toUpperCase());
}
});
console.log(isStream.transform(transformStream)); // true
Example Application
Below is an example of using the is-stream
module to validate streams in a small Node.js application:
const fs = require('fs');
const {Readable, Writable} = require('stream');
const isStream = require('is-stream');
const readableStream = fs.createReadStream('input.txt');
const writableStream = fs.createWriteStream('output.txt');
if (isStream.readable(readableStream) && isStream.writable(writableStream)) {
readableStream.pipe(writableStream);
console.log('Piping stream from input.txt to output.txt');
} else {
console.log('Invalid stream');
}
With is-stream
, verifying stream types becomes straightforward, making it easier to manage stream operations within your applications. Integrate this module to enhance the robustness of your stream handling logic.
Hash: 73d56d960864c3d853381391b43ba491d658a719f03ba10c61c5685acc5511cd