summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackson Tian <shyvo1987@gmail.com>2016-03-17 12:23:52 +0800
committerBenjamin Gruenbaum <inglor@gmail.com>2016-03-23 15:58:52 +0200
commit91466b855f0ced0df9a2d7444eea8ac7b89e278e (patch)
tree3b2db268ae1960f2343d414e527af8bdadbc6641
parentfb51c396ff823f8274bc4bea487da562ce57d75e (diff)
downloadandroid-node-v8-91466b855f0ced0df9a2d7444eea8ac7b89e278e.tar.gz
android-node-v8-91466b855f0ced0df9a2d7444eea8ac7b89e278e.tar.bz2
android-node-v8-91466b855f0ced0df9a2d7444eea8ac7b89e278e.zip
lib: refactor code with startsWith/endsWith
reduce using RegExp for string test. This pull reuqest replaces various usages of regular expressions in favor of the ES2015 startsWith and endsWith methods. PR-URL: https://github.com/nodejs/node/pull/5753 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>
-rw-r--r--lib/_debug_agent.js4
-rw-r--r--lib/_debugger.js2
-rw-r--r--lib/cluster.js5
-rw-r--r--lib/os.js10
-rw-r--r--lib/readline.js2
-rw-r--r--lib/repl.js2
-rw-r--r--lib/tls.js4
7 files changed, 14 insertions, 15 deletions
diff --git a/lib/_debug_agent.js b/lib/_debug_agent.js
index 152a7c65a6..cb4684f0ed 100644
--- a/lib/_debug_agent.js
+++ b/lib/_debug_agent.js
@@ -119,10 +119,10 @@ Client.prototype._transform = function _transform(data, enc, cb) {
while (true) {
if (this.state === 'headers') {
// Not enough data
- if (!/\r\n/.test(this.buffer))
+ if (!this.buffer.includes('\r\n'))
break;
- if (/^\r\n/.test(this.buffer)) {
+ if (this.buffer.startsWith('\r\n')) {
this.buffer = this.buffer.slice(2);
this.state = 'body';
continue;
diff --git a/lib/_debugger.js b/lib/_debugger.js
index b1091424c6..e7e24d32a1 100644
--- a/lib/_debugger.js
+++ b/lib/_debugger.js
@@ -1350,7 +1350,7 @@ Interface.prototype.setBreakpoint = function(script, line,
}
let req;
- if (/\(\)$/.test(script)) {
+ if (script.endsWith('()')) {
// setBreakpoint('functionname()');
req = {
type: 'function',
diff --git a/lib/cluster.js b/lib/cluster.js
index 69698ddeb8..b43d4a0a34 100644
--- a/lib/cluster.js
+++ b/lib/cluster.js
@@ -237,9 +237,8 @@ function masterInit() {
// Without --logfile=v8-%p.log, everything ends up in a single, unusable
// file. (Unusable because what V8 logs are memory addresses and each
// process has its own memory mappings.)
- if (settings.execArgv.some(function(s) { return /^--prof/.test(s); }) &&
- !settings.execArgv.some(function(s) { return /^--logfile=/.test(s); }))
- {
+ if (settings.execArgv.some((s) => s.startsWith('--prof')) &&
+ !settings.execArgv.some((s) => s.startsWith('--logfile='))) {
settings.execArgv = settings.execArgv.concat(['--logfile=v8-%p.log']);
}
cluster.settings = settings;
diff --git a/lib/os.js b/lib/os.js
index ddf7cee9d4..42ece99a7d 100644
--- a/lib/os.js
+++ b/lib/os.js
@@ -24,23 +24,23 @@ exports.platform = function() {
return process.platform;
};
-const trailingSlashRe = isWindows ? /[^:]\\$/
- : /.\/$/;
-
exports.tmpdir = function() {
var path;
if (isWindows) {
path = process.env.TEMP ||
process.env.TMP ||
(process.env.SystemRoot || process.env.windir) + '\\temp';
+ if (path.length > 1 && path.endsWith('\\') && !path.endsWith(':\\'))
+ path = path.slice(0, -1);
} else {
path = process.env.TMPDIR ||
process.env.TMP ||
process.env.TEMP ||
'/tmp';
+ if (path.length > 1 && path.endsWith('/'))
+ path = path.slice(0, -1);
}
- if (trailingSlashRe.test(path))
- path = path.slice(0, -1);
+
return path;
};
diff --git a/lib/readline.js b/lib/readline.js
index 065cc62807..3948d99053 100644
--- a/lib/readline.js
+++ b/lib/readline.js
@@ -335,7 +335,7 @@ Interface.prototype._normalWrite = function(b) {
this._line_buffer = null;
}
if (newPartContainsEnding) {
- this._sawReturn = /\r$/.test(string);
+ this._sawReturn = string.endsWith('\r');
// got one or more newlines; process into "line" events
var lines = string.split(lineEnding);
diff --git a/lib/repl.js b/lib/repl.js
index 7d05f659f5..a43ff42d8d 100644
--- a/lib/repl.js
+++ b/lib/repl.js
@@ -448,7 +448,7 @@ function REPLServer(prompt,
self.memory(cmd);
self.wrappedCmd = false;
- if (e && !self.bufferedCommand && cmd.trim().match(/^npm /)) {
+ if (e && !self.bufferedCommand && cmd.trim().startsWith('npm ')) {
self.outputStream.write('npm should be run outside of the ' +
'node repl, in your normal shell.\n' +
'(Press Control-D to exit.)\n');
diff --git a/lib/tls.js b/lib/tls.js
index 1f7dcf39a1..808f8d417a 100644
--- a/lib/tls.js
+++ b/lib/tls.js
@@ -75,7 +75,7 @@ exports.checkServerIdentity = function checkServerIdentity(host, cert) {
// Create regexp to much hostnames
function regexpify(host, wildcards) {
// Add trailing dot (make hostnames uniform)
- if (!/\.$/.test(host)) host += '.';
+ if (!host || !host.endsWith('.')) host += '.';
// The same applies to hostname with more than one wildcard,
// if hostname has wildcard when wildcards are not allowed,
@@ -144,7 +144,7 @@ exports.checkServerIdentity = function checkServerIdentity(host, cert) {
}
} else if (cert.subject) {
// Transform hostname to canonical form
- if (!/\.$/.test(host)) host += '.';
+ if (!host || !host.endsWith('.')) host += '.';
// Otherwise check all DNS/URI records from certificate
// (with allowed wildcards)