Browse Source

readline: refactor construct Interface

Remove the dependency on the arguments.length.

PR-URL: https://github.com/nodejs/node/pull/4740
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
v4.x
Jackson Tian 9 years ago
committed by Myles Borins
parent
commit
396688f075
No known key found for this signature in database GPG Key ID: 933B01F40B5CA946
  1. 15
      lib/readline.js

15
lib/readline.js

@ -17,22 +17,13 @@ const EventEmitter = require('events');
exports.createInterface = function(input, output, completer, terminal) { exports.createInterface = function(input, output, completer, terminal) {
var rl; return new Interface(input, output, completer, terminal);
if (arguments.length === 1) {
rl = new Interface(input);
} else {
rl = new Interface(input, output, completer, terminal);
}
return rl;
}; };
function Interface(input, output, completer, terminal) { function Interface(input, output, completer, terminal) {
if (!(this instanceof Interface)) { if (!(this instanceof Interface)) {
// call the constructor preserving original number of arguments return new Interface(input, output, completer, terminal);
const self = Object.create(Interface.prototype);
Interface.apply(self, arguments);
return self;
} }
this._sawReturn = false; this._sawReturn = false;
@ -41,7 +32,7 @@ function Interface(input, output, completer, terminal) {
EventEmitter.call(this); EventEmitter.call(this);
var historySize; var historySize;
if (arguments.length === 1) { if (input && input.input) {
// an options object was given // an options object was given
output = input.output; output = input.output;
completer = input.completer; completer = input.completer;

Loading…
Cancel
Save