From 50125e27b763aa49a93788c4605addf3c5966f44 Mon Sep 17 00:00:00 2001 From: Evan Lucas Date: Wed, 18 Nov 2015 06:59:43 -0600 Subject: [PATCH] repl: use String#repeat instead of Array#join String#repeat is quite a bit faster than new Array().join(). PR-URL: https://github.com/nodejs/node/pull/3900 Reviewed-By: Jeremiah Senkpiel Reviewed-By: Colin Ihrig Reviewed-By: Roman Reiss --- lib/repl.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/repl.js b/lib/repl.js index 8e81e6134381e8..f80555dba41afc 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -568,7 +568,8 @@ REPLServer.prototype.displayPrompt = function(preserveCursor) { var prompt = this._initialPrompt; if (this.bufferedCommand.length) { prompt = '...'; - var levelInd = new Array(this.lines.level.length).join('..'); + const len = this.lines.level.length ? this.lines.level.length - 1 : 0; + const levelInd = '..'.repeat(len); prompt += levelInd + ' '; } @@ -920,7 +921,8 @@ REPLServer.prototype.memory = function memory(cmd) { // save the line so I can do magic later if (cmd) { // TODO should I tab the level? - self.lines.push(new Array(self.lines.level.length).join(' ') + cmd); + const len = self.lines.level.length ? self.lines.level.length - 1 : 0; + self.lines.push(' '.repeat(len) + cmd); } else { // I don't want to not change the format too much... self.lines.push('');