Creating your own readablewritable stream

suggest change

We will see stream objects being returned by modules like fs etc but what if we want to create our own streamable object.

To create Stream object we need to use the stream module provided by NodeJs

var fs = require("fs");
var stream = require("stream").Writable;

/* 
 *  Implementing the write function in writable stream class.
 *  This is the function which will be used when other stream is piped into this 
 *  writable stream.
 */
stream.prototype._write = function(chunk, data){
    console.log(data);
}

var customStream = new stream();

fs.createReadStream("am1.js").pipe(customStream);

This will give us our own custom writable stream. we can implement anything within the _write function. Above method works in NodeJs 4.x.x version but in NodeJs 6.x ES6 introduced classes therefore syntax have changed. Below is the code for 6.x version of NodeJs

const Writable = require('stream').Writable;

class MyWritable extends Writable {
  constructor(options) {
    super(options);
  }

  _write(chunk, encoding, callback) {
    console.log(chunk);
  }
}

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents