summaryrefslogtreecommitdiff
path: root/ext/node
diff options
context:
space:
mode:
authorMarvin Hagemeister <marvin@deno.com>2024-10-24 11:46:51 +0200
committerGitHub <noreply@github.com>2024-10-24 11:46:51 +0200
commitef53ce3ac40e2c545397669e61e4e92423555d94 (patch)
treece14ce6eddd4ee95f1f1b5695ea52357a00097a0 /ext/node
parent79a3ad2b950009f560641cea359d7deb6f7a61ac (diff)
fix(node/util): support array formats in `styleText` (#26507)
We missed adding support for an array of formats being passed to `util.styleText`. Fixes https://github.com/denoland/deno/issues/26496
Diffstat (limited to 'ext/node')
-rw-r--r--ext/node/polyfills/internal/util/inspect.mjs13
1 files changed, 13 insertions, 0 deletions
diff --git a/ext/node/polyfills/internal/util/inspect.mjs b/ext/node/polyfills/internal/util/inspect.mjs
index 3a61c387c..ae797449b 100644
--- a/ext/node/polyfills/internal/util/inspect.mjs
+++ b/ext/node/polyfills/internal/util/inspect.mjs
@@ -565,6 +565,19 @@ export function stripVTControlCharacters(str) {
export function styleText(format, text) {
validateString(text, "text");
+
+ if (Array.isArray(format)) {
+ for (let i = 0; i < format.length; i++) {
+ const item = format[i];
+ const formatCodes = inspect.colors[item];
+ if (formatCodes == null) {
+ validateOneOf(item, "format", Object.keys(inspect.colors));
+ }
+ text = `\u001b[${formatCodes[0]}m${text}\u001b[${formatCodes[1]}m`;
+ }
+ return text;
+ }
+
const formatCodes = inspect.colors[format];
if (formatCodes == null) {
validateOneOf(format, "format", Object.keys(inspect.colors));