util: remove duplicate code in format
util.format contains an idential if statement within each branch of switch. Move it before the switch statement for cleaner code and better performance. PR-URL: https://github.com/nodejs/node/pull/15098 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
parent
83a5eef6f2
commit
365c24591c
20
lib/util.js
20
lib/util.js
@ -111,51 +111,35 @@ function format(f) {
|
|||||||
++i;
|
++i;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (lastPos < i)
|
||||||
|
str += f.slice(lastPos, i);
|
||||||
switch (f.charCodeAt(i + 1)) {
|
switch (f.charCodeAt(i + 1)) {
|
||||||
case 100: // 'd'
|
case 100: // 'd'
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += Number(arguments[a++]);
|
str += Number(arguments[a++]);
|
||||||
break;
|
break;
|
||||||
case 105: // 'i'
|
case 105: // 'i'
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += parseInt(arguments[a++]);
|
str += parseInt(arguments[a++]);
|
||||||
break;
|
break;
|
||||||
case 102: // 'f'
|
case 102: // 'f'
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += parseFloat(arguments[a++]);
|
str += parseFloat(arguments[a++]);
|
||||||
break;
|
break;
|
||||||
case 106: // 'j'
|
case 106: // 'j'
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += tryStringify(arguments[a++]);
|
str += tryStringify(arguments[a++]);
|
||||||
break;
|
break;
|
||||||
case 115: // 's'
|
case 115: // 's'
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += String(arguments[a++]);
|
str += String(arguments[a++]);
|
||||||
break;
|
break;
|
||||||
case 79: // 'O'
|
case 79: // 'O'
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += inspect(arguments[a++]);
|
str += inspect(arguments[a++]);
|
||||||
break;
|
break;
|
||||||
case 111: // 'o'
|
case 111: // 'o'
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += inspect(arguments[a++],
|
str += inspect(arguments[a++],
|
||||||
{ showHidden: true, depth: 4, showProxy: true });
|
{ showHidden: true, depth: 4, showProxy: true });
|
||||||
break;
|
break;
|
||||||
case 37: // '%'
|
case 37: // '%'
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += '%';
|
str += '%';
|
||||||
break;
|
break;
|
||||||
default: // any other character is not a correct placeholder
|
default: // any other character is not a correct placeholder
|
||||||
if (lastPos < i)
|
|
||||||
str += f.slice(lastPos, i);
|
|
||||||
str += '%';
|
str += '%';
|
||||||
lastPos = i = i + 1;
|
lastPos = i = i + 1;
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user