Skip to content

Commit

Permalink
util: use template strings
Browse files Browse the repository at this point in the history
This commit changes string manipulation in favor of template
literals in the `util` module.

PR-URL: #9120
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information
a0viedo authored and Myles Borins committed Nov 22, 2016
1 parent 1d54f07 commit 52a04bb
Showing 1 changed file with 24 additions and 28 deletions.
52 changes: 24 additions & 28 deletions lib/util.js
Expand Up @@ -144,7 +144,7 @@ exports.debuglog = function(set) {
debugEnviron = process.env.NODE_DEBUG || '';
set = set.toUpperCase();
if (!debugs[set]) {
if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
if (new RegExp(`\\b${set}\\b`, 'i').test(debugEnviron)) {
var pid = process.pid;
debugs[set] = function() {
var msg = exports.format.apply(exports, arguments);
Expand Down Expand Up @@ -239,8 +239,8 @@ function stylizeWithColor(str, styleType) {
var style = inspect.styles[styleType];

if (style) {
return '\u001b[' + inspect.colors[style][0] + 'm' + str +
'\u001b[' + inspect.colors[style][1] + 'm';
return `\u001b[${inspect.colors[style][0]}m${str}` +
`\u001b[${inspect.colors[style][1]}m`;
} else {
return str;
}
Expand Down Expand Up @@ -402,8 +402,8 @@ function formatValue(ctx, value, recurseTimes) {
// Some type of object without properties can be shortcutted.
if (keys.length === 0) {
if (typeof value === 'function') {
var name = value.name ? ': ' + value.name : '';
return ctx.stylize('[Function' + name + ']', 'special');
return ctx.stylize(`[Function${value.name ? `: ${value.name}` : ''}]`,
'special');
}
if (isRegExp(value)) {
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
Expand All @@ -421,19 +421,19 @@ function formatValue(ctx, value, recurseTimes) {
// now check the `raw` value to handle boxed primitives
if (typeof raw === 'string') {
formatted = formatPrimitiveNoColor(ctx, raw);
return ctx.stylize('[String: ' + formatted + ']', 'string');
return ctx.stylize(`[String: ${formatted}]`, 'string');
}
if (typeof raw === 'symbol') {
formatted = formatPrimitiveNoColor(ctx, raw);
return ctx.stylize('[Symbol: ' + formatted + ']', 'symbol');
return ctx.stylize(`[Symbol: ${formatted}]`, 'symbol');
}
if (typeof raw === 'number') {
formatted = formatPrimitiveNoColor(ctx, raw);
return ctx.stylize('[Number: ' + formatted + ']', 'number');
return ctx.stylize(`[Number: ${formatted}]`, 'number');
}
if (typeof raw === 'boolean') {
formatted = formatPrimitiveNoColor(ctx, raw);
return ctx.stylize('[Boolean: ' + formatted + ']', 'boolean');
return ctx.stylize(`[Boolean: ${formatted}]`, 'boolean');
}
// Fast path for ArrayBuffer and SharedArrayBuffer.
// Can't do the same for DataView because it has a non-primitive
Expand Down Expand Up @@ -535,8 +535,7 @@ function formatValue(ctx, value, recurseTimes) {

// Make functions say that they are functions
if (typeof value === 'function') {
var n = value.name ? ': ' + value.name : '';
base = ' [Function' + n + ']';
base = ` [Function${value.name ? `: ${value.name}` : ''}]`;
}

// Make RegExps say that they are RegExps
Expand All @@ -557,24 +556,24 @@ function formatValue(ctx, value, recurseTimes) {
// Make boxed primitive Strings look like such
if (typeof raw === 'string') {
formatted = formatPrimitiveNoColor(ctx, raw);
base = ' ' + '[String: ' + formatted + ']';
base = ` [String: ${formatted}]`;
}

// Make boxed primitive Numbers look like such
if (typeof raw === 'number') {
formatted = formatPrimitiveNoColor(ctx, raw);
base = ' ' + '[Number: ' + formatted + ']';
base = ` [Number: ${formatted}]`;
}

// Make boxed primitive Booleans look like such
if (typeof raw === 'boolean') {
formatted = formatPrimitiveNoColor(ctx, raw);
base = ' ' + '[Boolean: ' + formatted + ']';
base = ` [Boolean: ${formatted}]`;
}

// Add constructor name if available
if (base === '' && constructor)
braces[0] = constructor.name + ' ' + braces[0];
braces[0] = `${constructor.name} ${braces[0]}`;

if (empty === true) {
return braces[0] + base + braces[1];
Expand Down Expand Up @@ -646,7 +645,7 @@ function formatPrimitiveNoColor(ctx, value) {


function formatError(value) {
return value.stack || '[' + Error.prototype.toString.call(value) + ']';
return value.stack || `[${Error.prototype.toString.call(value)}]`;
}


Expand Down Expand Up @@ -782,9 +781,9 @@ function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
}
if (!hasOwnProperty(visibleKeys, key)) {
if (typeof key === 'symbol') {
name = '[' + ctx.stylize(key.toString(), 'symbol') + ']';
name = `[${ctx.stylize(key.toString(), 'symbol')}]`;
} else {
name = '[' + key + ']';
name = `[${key}]`;
}
}
if (!str) {
Expand Down Expand Up @@ -822,7 +821,7 @@ function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
}
}

return name + ': ' + str;
return `${name}: ${str}`;
}


Expand All @@ -837,13 +836,10 @@ function reduceToSingleString(output, base, braces, breakLength) {
// we need to force the first item to be on the next line or the
// items will not line up correctly.
(base === '' && braces[0].length === 1 ? '' : base + '\n ') +
' ' +
output.join(',\n ') +
' ' +
braces[1];
` ${output.join(',\n ')} ${braces[1]}`;
}

return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
return `${braces[0]}${base} ${output.join(', ')} ${braces[1]}`;
}


Expand Down Expand Up @@ -1007,7 +1003,7 @@ exports.puts = internalUtil.deprecate(function() {


exports.debug = internalUtil.deprecate(function(x) {
process.stderr.write('DEBUG: ' + x + '\n');
process.stderr.write(`DEBUG: ${x}\n`);
}, 'util.debug is deprecated. Use console.error instead.');


Expand All @@ -1020,7 +1016,7 @@ exports.error = internalUtil.deprecate(function(x) {

exports._errnoException = function(err, syscall, original) {
var errname = uv.errname(err);
var message = syscall + ' ' + errname;
var message = `${syscall} ${errname}`;
if (original)
message += ' ' + original;
var e = new Error(message);
Expand All @@ -1038,13 +1034,13 @@ exports._exceptionWithHostPort = function(err,
additional) {
var details;
if (port && port > 0) {
details = address + ':' + port;
details = `${address}:${port}`;
} else {
details = address;
}

if (additional) {
details += ' - Local (' + additional + ')';
details += ` - Local (${additional})`;
}
var ex = exports._errnoException(err, syscall, details);
ex.address = address;
Expand Down

0 comments on commit 52a04bb

Please sign in to comment.