Skip to content

Commit

Permalink
readline: refactor construct Interface
Browse files Browse the repository at this point in the history
Remove the dependency on the arguments.length.

PR-URL: #4740
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
  • Loading branch information
JacksonTian committed Jan 13, 2017
1 parent 57f6a10 commit dad98bf
Showing 1 changed file with 3 additions and 12 deletions.
15 changes: 3 additions & 12 deletions lib/readline.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,13 @@ const stripVTControlCharacters = internalReadline.stripVTControlCharacters;


exports.createInterface = function(input, output, completer, terminal) {
var rl;
if (arguments.length === 1) {
rl = new Interface(input);
} else {
rl = new Interface(input, output, completer, terminal);
}
return rl;
return new Interface(input, output, completer, terminal);
};


function Interface(input, output, completer, terminal) {
if (!(this instanceof Interface)) {
// call the constructor preserving original number of arguments
const self = Object.create(Interface.prototype);
Interface.apply(self, arguments);
return self;
return new Interface(input, output, completer, terminal);
}

this._sawReturnAt = 0;
Expand All @@ -51,7 +42,7 @@ function Interface(input, output, completer, terminal) {
let crlfDelay;
let prompt = '> ';

if (arguments.length === 1) {
if (input && input.input) {
// an options object was given
output = input.output;
completer = input.completer;
Expand Down

0 comments on commit dad98bf

Please sign in to comment.