doc: replace function expressions with arrows
authorBenjamin Gruenbaum <inglor@gmail.com>
Sun, 24 Jan 2016 09:15:51 +0000 (11:15 +0200)
committerMyles Borins <mborins@us.ibm.com>
Wed, 2 Mar 2016 22:01:11 +0000 (14:01 -0800)
This commit replaces multiple usages of `function(){}` with ES2015
arrow functions in places it was forgotten earlier. The goal is to
make the docs more consistent since other functions were already
replaced with ES2015 arrows.

In addition, it fixes invalid syntax in modules.markdown to valid
syntax as well as remove `var self = this` pattern usages in the code
where they are now possible to avoid through arrow functions.

PR-URL: https://github.com/nodejs/node/pull/4832
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
13 files changed:
doc/api/addons.markdown
doc/api/assert.markdown
doc/api/debugger.markdown
doc/api/domain.markdown
doc/api/events.markdown
doc/api/fs.markdown
doc/api/modules.markdown
doc/api/process.markdown
doc/api/readline.markdown
doc/api/repl.markdown
doc/api/stream.markdown
doc/api/util.markdown
doc/api/zlib.markdown

index 986c151..f0ec1c3 100644 (file)
@@ -44,7 +44,9 @@ be used as a starting-point for your own Addon.
 This "Hello world" example is a simple Addon, written in C++, that is the
 equivalent of the following JavaScript code:
 
-    module.exports.hello = function() { return 'world'; };
+```js
+module.exports.hello = () => 'world';
+```
 
 First, create the file `hello.cc`:
 
@@ -368,7 +370,7 @@ To test it, run the following JavaScript:
 // test.js
 const addon = require('./build/Release/addon');
 
-addon(function(msg){
+addon((msg) => {
   console.log(msg); // 'hello world'
 });
 ```
index 0a9fa36..44dafc2 100644 (file)
@@ -139,7 +139,7 @@ matching error type in the assertion:
 
 ```js
 assert.doesNotThrow(
-  function() {
+  () => {
     throw new TypeError('Wrong value');
   },
   SyntaxError
@@ -151,7 +151,7 @@ However, the following will result in an `AssertionError` with the message
 
 ```js
 assert.doesNotThrow(
-  function() {
+  () => {
     throw new TypeError('Wrong value');
   },
   TypeError
@@ -164,7 +164,7 @@ message:
 
 ```js
 assert.doesNotThrow(
-  function() {
+  () => {
     throw new TypeError('Wrong value');
   },
   TypeError,
@@ -359,7 +359,7 @@ Validate instanceof using constructor:
 
 ```js
 assert.throws(
-  function() {
+  () => {
     throw new Error('Wrong value');
   },
   Error
@@ -370,7 +370,7 @@ Validate error message using [`RegExp`][]:
 
 ```js
 assert.throws(
-  function() {
+  () => {
     throw new Error('Wrong value');
   },
   /value/
@@ -381,7 +381,7 @@ Custom error validation:
 
 ```js
 assert.throws(
-  function() {
+  () => {
     throw new Error('Wrong value');
   },
   function(err) {
index 0973f5d..a4dbaa3 100644 (file)
@@ -15,7 +15,7 @@ debug; a prompt will be displayed indicating successful launch of the debugger:
 connecting... ok
 break in /home/indutny/Code/git/indutny/myscript.js:1
   1 x = 5;
-  2 setTimeout(function () {
+  2 setTimeout(() => {
   3   debugger;
 debug>
 ```
@@ -31,7 +31,7 @@ For example, suppose `myscript.js` is written as:
 ```js
 // myscript.js
 x = 5;
-setTimeout(function () {
+setTimeout(() => {
   debugger;
   console.log('world');
 }, 1000);
@@ -46,19 +46,19 @@ Once the debugger is run, a breakpoint will occur at line 4:
 connecting... ok
 break in /home/indutny/Code/git/indutny/myscript.js:1
   1 x = 5;
-  2 setTimeout(function () {
+  2 setTimeout(() => {
   3   debugger;
 debug> cont
 < hello
 break in /home/indutny/Code/git/indutny/myscript.js:3
   1 x = 5;
-  2 setTimeout(function () {
+  2 setTimeout(() => {
   3   debugger;
   4   console.log('world');
   5 }, 1000);
 debug> next
 break in /home/indutny/Code/git/indutny/myscript.js:4
-  2 setTimeout(function () {
+  2 setTimeout(() => {
   3   debugger;
   4   console.log('world');
   5 }, 1000);
@@ -136,7 +136,7 @@ Warning: script 'mod.js' was not loaded yet.
 debug> c
 break in test/fixtures/break-in-module/mod.js:23
  21
- 22 exports.hello = function() {
+ 22 exports.hello = () => {
  23   return 'hello from module';
  24 };
  25
index 91fbe56..9321b38 100644 (file)
@@ -349,7 +349,7 @@ thrown will be routed to the domain's `'error'` event.
 const d = domain.create();
 
 function readSomeFile(filename, cb) {
-  fs.readFile(filename, 'utf8', d.bind(function(er, data) {
+  fs.readFile(filename, 'utf8', d.bind((er, data) => {
     // if this throws, it will also be passed to the domain
     return cb(er, data ? JSON.parse(data) : null);
   }));
@@ -380,7 +380,7 @@ with a single error handler in a single place.
 const d = domain.create();
 
 function readSomeFile(filename, cb) {
-  fs.readFile(filename, 'utf8', d.intercept(function(data) {
+  fs.readFile(filename, 'utf8', d.intercept((data) => {
     // note, the first argument is never passed to the
     // callback since it is assumed to be the 'Error' argument
     // and thus intercepted by the domain.
index 3aa996a..0afd583 100644 (file)
@@ -37,7 +37,7 @@ function MyEmitter() {
 util.inherits(MyEmitter, EventEmitter);
 
 const myEmitter = new MyEmitter();
-myEmitter.on('event', function() {
+myEmitter.on('event', () => {
   console.log('an event occurred!');
 });
 myEmitter.emit('event');
@@ -54,7 +54,7 @@ const EventEmitter = require('events');
 class MyEmitter extends EventEmitter {}
 
 const myEmitter = new MyEmitter();
-myEmitter.on('event', function() {
+myEmitter.on('event', () => {
   console.log('an event occurred!');
 });
 myEmitter.emit('event');
@@ -364,7 +364,7 @@ Removes the specified `listener` from the listener array for the specified
 `event`.
 
 ```js
-var callback = function(stream) {
+var callback = (stream) => {
   console.log('someone connected!');
 };
 server.on('connection', callback);
index 6f3955d..69e4ab0 100644 (file)
@@ -239,7 +239,7 @@ argument will be populated. The following example checks if the file
 `/etc/passwd` can be read and written by the current process.
 
 ```js
-fs.access('/etc/passwd', fs.R_OK | fs.W_OK, function (err) {
+fs.access('/etc/passwd', fs.R_OK | fs.W_OK, (err) => {
   console.log(err ? 'no access!' : 'can read/write');
 });
 ```
index 09a255a..376feb3 100644 (file)
@@ -20,13 +20,10 @@ The contents of `circle.js`:
 ```js
 const PI = Math.PI;
 
-exports.area = function (r) {
-  return PI * r * r;
-};
+exports.area = (r) => PI * r * r;
+
+exports.circumference = (r) => 2 * PI * r;
 
-exports.circumference = function (r) {
-  return 2 * PI * r;
-};
 ```
 
 The module `circle.js` has exported the functions `area()` and
@@ -53,11 +50,9 @@ The `square` module is defined in `square.js`:
 
 ```js
 // assigning to exports will not modify module, must use module.exports
-module.exports = function(width) {
+module.exports = (width) => {
   return {
-    area: function() {
-      return width * width;
-    }
+    area: () => width * width
   };
 }
 ```
@@ -498,12 +493,12 @@ To illustrate the behavior, imagine this hypothetical implementation of
 ```js
 function require(...) {
   // ...
-  function (module, exports) {
+  ((module, exports) => {
     // Your module code here
     exports = some_func;        // re-assigns exports, exports is no longer
                                 // a shortcut, and nothing is exported.
     module.exports = some_func; // makes your module export 0
-  } (module, module.exports);
+  })(module, module.exports);
   return module;
 }
 ```
index 55946d0..6027cf4 100644 (file)
@@ -179,7 +179,7 @@ var resource = new SomeResource();
 
 In cases like this, you may not want to track the rejection as a developer
 error like you would for other `'unhandledRejection'` events. To address
-this, you can either attach a dummy `.catch(function() { })` handler to
+this, you can either attach a dummy `.catch(() => { })` handler to
 `resource.loaded`, preventing the `'unhandledRejection'` event from being
 emitted, or you can use the [`'rejectionHandled'`][] event.
 
@@ -750,7 +750,7 @@ function maybeSync(arg, cb) {
 This API is hazardous.  If you do this:
 
 ```js
-maybeSync(true, function() {
+maybeSync(true, () => {
   foo();
 });
 bar();
@@ -986,7 +986,7 @@ A `Writable Stream` to `stdout` (on fd `1`).
 For example, a `console.log` equivalent could look like this:
 
 ```js
-console.log = function(msg) {
+console.log = (msg) => {
   process.stdout.write(`${msg}\n`);
 };
 ```
index 62409b0..1e32507 100644 (file)
@@ -266,7 +266,7 @@ const rl = readline.createInterface({
   input: fs.createReadStream('sample.txt')
 });
 
-rl.on('line', function (line) {
+rl.on('line', (line) => {
   console.log('Line from file:', line);
 });
 ```
index e9f2bfc..17757bf 100644 (file)
@@ -15,7 +15,7 @@ mjr:~$ node
 Type '.help' for options.
 > a = [ 1, 2, 3];
 [ 1, 2, 3 ]
-> a.forEach(function (v){
+> a.forEach((v) => {
 ...   console.log(v);
 ...   });
 1
@@ -139,7 +139,7 @@ For example, if you have defined an `inspect()` function on an object, like this
 ```
 > var obj = {foo: 'this will not show up in the inspect() output'};
 undefined
-> obj.inspect = function() {
+> obj.inspect = () => {
 ...   return {bar: 'baz'};
 ... };
 [Function]
index 4d957fb..238b9cd 100644 (file)
@@ -925,18 +925,17 @@ function SourceWrapper(options) {
   Readable.call(this, options);
 
   this._source = getLowlevelSourceObject();
-  var self = this;
 
   // Every time there's data, we push it into the internal buffer.
-  this._source.ondata = function(chunk) {
+  this._source.ondata = (chunk) => {
     // if push() returns false, then we need to stop reading from source
-    if (!self.push(chunk))
-      self._source.readStop();
+    if (!this.push(chunk))
+      this._source.readStop();
   };
 
   // When the source ends, we push the EOF-signaling `null` chunk
-  this._source.onend = function() {
-    self.push(null);
+  this._source.onend = () => {
+    this.push(null);
   };
 }
 
index 9633e0e..e270276 100644 (file)
@@ -58,7 +58,7 @@ Marks that a method should not be used any more.
 ```js
 const util = require('util');
 
-exports.puts = util.deprecate(function() {
+exports.puts = util.deprecate(() => {
   for (var i = 0, len = arguments.length; i < len; ++i) {
     process.stdout.write(arguments[i] + '\n');
   }
index 61a2deb..60cd714 100644 (file)
@@ -29,16 +29,20 @@ the convenience methods.
 
 ```js
 const input = '.................................';
-zlib.deflate(input, function(err, buffer) {
+zlib.deflate(input, (err, buffer) => {
   if (!err) {
     console.log(buffer.toString('base64'));
+  } else {
+    // handle error
   }
 });
 
 const buffer = new Buffer('eJzT0yMAAGTvBe8=', 'base64');
-zlib.unzip(buffer, function(err, buffer) {
+zlib.unzip(buffer, (err, buffer) => {
   if (!err) {
     console.log(buffer.toString());
+  } else {
+    // handle error
   }
 });
 ```