From a3ecda7d171a0053a72a17eab532936465e3b94f Mon Sep 17 00:00:00 2001
From: Tom Gallacher <tomgallacher23@gmail.com>
Date: Fri, 30 Oct 2015 06:59:21 -0400
Subject: [PATCH] doc: Updated streams simplified constructor API

---
 doc/api/stream.markdown | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/doc/api/stream.markdown b/doc/api/stream.markdown
index 4dfc36e09e6648..2e9ea45151aecd 100644
--- a/doc/api/stream.markdown
+++ b/doc/api/stream.markdown
@@ -1375,6 +1375,10 @@ Examples:
 var readable = new stream.Readable({
   read: function(n) {
     // sets this._read under the hood
+
+    // push data onto the read queue, passing null
+    // will signal the end of the stream (EOF)
+    this.push(chunk);
   }
 });
 ```
@@ -1384,6 +1388,9 @@ var readable = new stream.Readable({
 var writable = new stream.Writable({
   write: function(chunk, encoding, next) {
     // sets this._write under the hood
+
+    // An optional error can be passed as the first argument
+    next()
   }
 });
 
@@ -1392,6 +1399,9 @@ var writable = new stream.Writable({
 var writable = new stream.Writable({
   writev: function(chunks, next) {
     // sets this._writev under the hood
+
+    // An optional error can be passed as the first argument
+    next()
   }
 });
 ```
@@ -1401,9 +1411,16 @@ var writable = new stream.Writable({
 var duplex = new stream.Duplex({
   read: function(n) {
     // sets this._read under the hood
+
+    // push data onto the read queue, passing null
+    // will signal the end of the stream (EOF)
+    this.push(chunk);
   },
   write: function(chunk, encoding, next) {
     // sets this._write under the hood
+
+    // An optional error can be passed as the first argument
+    next()
   }
 });
 
@@ -1412,9 +1429,16 @@ var duplex = new stream.Duplex({
 var duplex = new stream.Duplex({
   read: function(n) {
     // sets this._read under the hood
+
+    // push data onto the read queue, passing null
+    // will signal the end of the stream (EOF)
+    this.push(chunk);
   },
   writev: function(chunks, next) {
     // sets this._writev under the hood
+
+    // An optional error can be passed as the first argument
+    next()
   }
 });
 ```
@@ -1424,9 +1448,20 @@ var duplex = new stream.Duplex({
 var transform = new stream.Transform({
   transform: function(chunk, encoding, next) {
     // sets this._transform under the hood
+
+    // generate output as many times as needed
+    // this.push(chunk);
+
+    // call when the current chunk is consumed
+    next();
   },
   flush: function(done) {
     // sets this._flush under the hood
+
+    // generate output as many times as needed
+    // this.push(chunk);
+
+    done();
   }
 });
 ```