Browse Source

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>
v4.x
Jackson Tian 9 years ago
committed by Myles Borins
parent
commit
c4103b154f
  1. 4
      lib/_debug_agent.js
  2. 2
      lib/_debugger.js
  3. 5
      lib/cluster.js
  4. 10
      lib/os.js
  5. 2
      lib/readline.js
  6. 2
      lib/repl.js
  7. 4
      lib/tls.js

4
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;

2
lib/_debugger.js

@ -1342,7 +1342,7 @@ Interface.prototype.setBreakpoint = function(script, line,
}
let req;
if (/\(\)$/.test(script)) {
if (script.endsWith('()')) {
// setBreakpoint('functionname()');
req = {
type: 'function',

5
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;

10
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;
};

2
lib/readline.js

@ -330,7 +330,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);

2
lib/repl.js

@ -437,7 +437,7 @@ function REPLServer(prompt,
debug('finish', e, ret);
self.memory(cmd);
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');

4
lib/tls.js

@ -60,7 +60,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,
@ -129,7 +129,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)

Loading…
Cancel
Save