From 96f3f53c5d830cbe6166f93c1f59bd46edb0a473 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 16 Dec 2021 15:36:09 -0800 Subject: [PATCH] fixup: use RegExpPrototypeSymbolReplace instead of StringPrototypeReplace --- lib/internal/util/inspect.js | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/internal/util/inspect.js b/lib/internal/util/inspect.js index dbb8712ce69e18..adf1c42c37e26d 100644 --- a/lib/internal/util/inspect.js +++ b/lib/internal/util/inspect.js @@ -49,6 +49,7 @@ const { ObjectSetPrototypeOf, ReflectOwnKeys, RegExp, + RegExpPrototypeSymbolReplace, RegExpPrototypeTest, RegExpPrototypeToString, SafeStringIterator, @@ -64,7 +65,6 @@ const { StringPrototypePadEnd, StringPrototypePadStart, StringPrototypeRepeat, - StringPrototypeReplace, StringPrototypeSlice, StringPrototypeSplit, StringPrototypeToLowerCase, @@ -498,7 +498,7 @@ function strEscape(str) { if (str.length < 5000 && !RegExpPrototypeTest(escapeTest, str)) return addQuotes(str, singleQuote); if (str.length > 100) { - str = StringPrototypeReplace(str, escapeReplace, escapeFn); + str = RegExpPrototypeSymbolReplace(escapeReplace, str, escapeFn); return addQuotes(str, singleQuote); } @@ -1458,9 +1458,9 @@ function handleMaxCallStackSize(ctx, err, constructorName, indentationLvl) { } function addNumericSeparator(integerString) { - return StringPrototypeReplace( - integerString, + return RegExpPrototypeSymbolReplace( /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g, + integerString, '$&_' ); } @@ -1618,9 +1618,11 @@ function formatArrayBuffer(ctx, value) { } if (hexSlice === undefined) hexSlice = uncurryThis(require('buffer').Buffer.prototype.hexSlice); - let str = StringPrototypeTrim(StringPrototypeReplace( + let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace( + /(.{2})/g, hexSlice(buffer, 0, MathMin(ctx.maxArrayLength, buffer.length)), - /(.{2})/g, '$1 ')); + '$1 ' + )); const remaining = buffer.length - ctx.maxArrayLength; if (remaining > 0) str += ` ... ${remaining} more byte${remaining > 1 ? 's' : ''}`; @@ -1852,16 +1854,20 @@ function formatProperty(ctx, value, recurseTimes, key, type, desc, return str; } if (typeof key === 'symbol') { - const tmp = StringPrototypeReplace( + const tmp = RegExpPrototypeSymbolReplace( + strEscapeSequencesReplacer, SymbolPrototypeToString(key), - strEscapeSequencesReplacer, escapeFn + escapeFn ); name = `[${ctx.stylize(tmp, 'symbol')}]`; } else if (key === '__proto__') { name = "['__proto__']"; } else if (desc.enumerable === false) { - const tmp = StringPrototypeReplace(key, - strEscapeSequencesReplacer, escapeFn); + const tmp = RegExpPrototypeSymbolReplace( + strEscapeSequencesReplacer, + key, + escapeFn + ); name = `[${tmp}]`; } else if (RegExpPrototypeTest(keyStrRegExp, key)) { name = ctx.stylize(key, 'name');