diff options
author | Marvin Hagemeister <marvin@deno.com> | 2024-10-24 11:46:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-24 11:46:51 +0200 |
commit | ef53ce3ac40e2c545397669e61e4e92423555d94 (patch) | |
tree | ce14ce6eddd4ee95f1f1b5695ea52357a00097a0 /ext/node/polyfills/internal/util/inspect.mjs | |
parent | 79a3ad2b950009f560641cea359d7deb6f7a61ac (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/polyfills/internal/util/inspect.mjs')
-rw-r--r-- | ext/node/polyfills/internal/util/inspect.mjs | 13 |
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)); |