Skip to content

Commit

Permalink
doc: replace function expressions with arrows
Browse files Browse the repository at this point in the history
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: nodejs#4832
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
benjamingr authored and Michael Scovetta committed Apr 2, 2016
1 parent 662b21d commit c97cc64
Show file tree
Hide file tree
Showing 13 changed files with 47 additions and 47 deletions.
6 changes: 4 additions & 2 deletions doc/api/addons.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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`:

Expand Down Expand Up @@ -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'
});
```
Expand Down
12 changes: 6 additions & 6 deletions doc/api/assert.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ matching error type in the assertion:

```js
assert.doesNotThrow(
function() {
() => {
throw new TypeError('Wrong value');
},
SyntaxError
Expand All @@ -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
Expand All @@ -164,7 +164,7 @@ message:

```js
assert.doesNotThrow(
function() {
() => {
throw new TypeError('Wrong value');
},
TypeError,
Expand Down Expand Up @@ -359,7 +359,7 @@ Validate instanceof using constructor:

```js
assert.throws(
function() {
() => {
throw new Error('Wrong value');
},
Error
Expand All @@ -370,7 +370,7 @@ Validate error message using [`RegExp`][]:

```js
assert.throws(
function() {
() => {
throw new Error('Wrong value');
},
/value/
Expand All @@ -381,7 +381,7 @@ Custom error validation:

```js
assert.throws(
function() {
() => {
throw new Error('Wrong value');
},
function(err) {
Expand Down
12 changes: 6 additions & 6 deletions doc/api/debugger.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ $ node debug myscript.js
connecting... ok
break in /home/indutny/Code/git/indutny/myscript.js:1
1 x = 5;
2 setTimeout(function () {
2 setTimeout(() => {
3 debugger;
debug>
```
Expand All @@ -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);
Expand All @@ -46,19 +46,19 @@ $ node debug myscript.js
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);
Expand Down Expand Up @@ -135,7 +135,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
Expand Down
4 changes: 2 additions & 2 deletions doc/api/domain.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}));
Expand Down Expand Up @@ -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.
Expand Down
6 changes: 3 additions & 3 deletions doc/api/events.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand All @@ -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');
Expand Down Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion doc/api/fs.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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');
});
```
Expand Down
19 changes: 7 additions & 12 deletions doc/api/modules.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
};
}
```
Expand Down Expand Up @@ -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;
}
```
Expand Down
6 changes: 3 additions & 3 deletions doc/api/process.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,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.

Expand Down Expand Up @@ -720,7 +720,7 @@ function maybeSync(arg, cb) {
This API is hazardous. If you do this:

```js
maybeSync(true, function() {
maybeSync(true, () => {
foo();
});
bar();
Expand Down Expand Up @@ -954,7 +954,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`);
};
```
Expand Down
2 changes: 1 addition & 1 deletion doc/api/readline.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,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);
});
```
Expand Down
4 changes: 2 additions & 2 deletions doc/api/repl.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ $ node
Type '.help' for options.
> a = [ 1, 2, 3];
[ 1, 2, 3 ]
> a.forEach(function (v){
> a.forEach((v) => {
... console.log(v);
... });
1
Expand Down Expand Up @@ -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]
Expand Down
11 changes: 5 additions & 6 deletions doc/api/stream.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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);
};
}

Expand Down
2 changes: 1 addition & 1 deletion doc/api/util.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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');
}
Expand Down
8 changes: 6 additions & 2 deletions doc/api/zlib.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
});
```
Expand Down

0 comments on commit c97cc64

Please sign in to comment.