The transform.destroy() method in a Readable Stream is used to destroy the transform stream and also emits an 'error' event optionally. Moreover, the transform stream releases any internal resources after this call is made.
Syntax:
transform.destroy( error )
Parameters: This method accepts single parameters error which emits an error event optionally.
Return Value: It emits an error event if any error is made in creating a stream else it only destroys the transform streams.
The below examples illustrate the use of transform.destroy() method in Node.js:
Example 1:
// Node.js program to demonstrate the
// transform.destroy() method
// Accessing zlib module
const zlib = require("zlib");
// Create a transform stream
const transform = zlib.createGzip();
// Calling destroy method
transform.destroy();
transform.destroyed;
Output:
true
Example 2:
// Node.js program to demonstrate the
// transform.destroy() method
// Accessing fs module
const fs = require("fs");
// Accessing zlib module
const zlib = require("zlib");
// Create a readable stream
const readable = fs.createReadStream('input.text');
// Create a writable stream
const writable = fs.createWriteStream('output.text');
// Create a transform stream
const transform = zlib.createGzip();
// Calling pipe method
readable.pipe(transform).pipe(writable);
// Calling destroy method
transform.destroy();
console.log("done...");
Output:
done...
Here, the transform stream is destroyed so the piping made is also removed.
Reference: https://nodejs.org/api/stream.html#stream_transform_destroy_error