diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2017-12-30 03:22:01 +0100 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-01-04 21:21:22 +0100 |
commit | 11dda69a33e4e9bbaa9ed9913a8bc7e470c4bd72 (patch) | |
tree | f64331fcc4d17ceda4156bde67fb7b595383073a /lib/repl.js | |
parent | 80988f9322a1989f7fbd58855489fc75c14aabc3 (diff) | |
download | android-node-v8-11dda69a33e4e9bbaa9ed9913a8bc7e470c4bd72.tar.gz android-node-v8-11dda69a33e4e9bbaa9ed9913a8bc7e470c4bd72.tar.bz2 android-node-v8-11dda69a33e4e9bbaa9ed9913a8bc7e470c4bd72.zip |
repl: refactor code for readability
PR-URL: https://github.com/nodejs/node/pull/17919
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Weijia Wang <starkwang@126.com>
Reviewed-By: Khaidi Chu <i@2333.moe>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Lance Ball <lball@redhat.com>
Diffstat (limited to 'lib/repl.js')
-rw-r--r-- | lib/repl.js | 83 |
1 files changed, 26 insertions, 57 deletions
diff --git a/lib/repl.js b/lib/repl.js index 19ea965f1c..20c1c4ee92 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -412,15 +412,10 @@ function REPLServer(prompt, // Use stdin and stdout as the default streams if none were given stream = process; } - if (stream.stdin && stream.stdout) { - // We're given custom object with 2 streams, or the `process` object - input = stream.stdin; - output = stream.stdout; - } else { - // We're given a duplex readable/writable Stream, like a `net.Socket` - input = stream; - output = stream; - } + // We're given a duplex readable/writable Stream, like a `net.Socket` + // or a custom object with 2 streams, or the `process` object + input = stream.stdin || stream; + output = stream.stdout || stream; } self.inputStream = input; @@ -770,7 +765,7 @@ REPLServer.prototype.createContext = function() { Object.defineProperty(context, 'console', { configurable: true, enumerable: true, - get: () => _console + value: _console }); var names = Object.getOwnPropertyNames(global); @@ -1129,19 +1124,16 @@ function complete(line, callback) { break; } } - } catch (e) { - // console.log("completion error walking prototype chain:" + e); - } + } catch (e) {} } if (memberGroups.length) { for (i = 0; i < memberGroups.length; i++) { - completionGroups.push(memberGroups[i].map(function(member) { - return expr + '.' + member; - })); + completionGroups.push( + memberGroups[i].map((member) => `${expr}.${member}`)); } if (filter) { - filter = expr + '.' + filter; + filter = `${expr}.${filter}`; } } @@ -1162,9 +1154,8 @@ function complete(line, callback) { if (completionGroups.length && filter) { var newCompletionGroups = []; for (i = 0; i < completionGroups.length; i++) { - group = completionGroups[i].filter(function(elem) { - return elem.indexOf(filter) === 0; - }); + group = completionGroups[i] + .filter((elem) => elem.indexOf(filter) === 0); if (group.length) { newCompletionGroups.push(group); } @@ -1493,55 +1484,33 @@ function isCodeRecoverable(code) { if (previous === '\\' && (stringLiteral || isRegExpLiteral)) { current = null; - continue; - } - - if (stringLiteral) { + } else if (stringLiteral) { if (stringLiteral === current) { stringLiteral = null; } - continue; - } else { - if (isRegExpLiteral && current === '/') { - isRegExpLiteral = false; - continue; - } - - if (isBlockComment && previous === '*' && current === '/') { - isBlockComment = false; - continue; - } - - if (isSingleComment && current === '\n') { - isSingleComment = false; - continue; - } - - if (isBlockComment || isRegExpLiteral || isSingleComment) continue; - + } else if (isRegExpLiteral && current === '/') { + isRegExpLiteral = false; + } else if (isBlockComment && previous === '*' && current === '/') { + isBlockComment = false; + } else if (isSingleComment && current === '\n') { + isSingleComment = false; + } else if (!isBlockComment && !isRegExpLiteral && !isSingleComment) { if (current === '/' && previous === '/') { isSingleComment = true; - continue; - } - - if (previous === '/') { + } else if (previous === '/') { if (current === '*') { isBlockComment = true; - } else if ( // Distinguish between a division operator and the start of a regex // by examining the non-whitespace character that precedes the / - [null, '(', '[', '{', '}', ';'].includes(prevTokenChar) - ) { + } else if ([null, '(', '[', '{', '}', ';'].includes(prevTokenChar)) { isRegExpLiteral = true; } - continue; + } else { + if (current.trim()) prevTokenChar = current; + if (current === '\'' || current === '"') { + stringLiteral = current; + } } - - if (current.trim()) prevTokenChar = current; - } - - if (current === '\'' || current === '"') { - stringLiteral = current; } } |