diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2024-03-07 00:45:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-07 00:45:28 +0100 |
commit | 0fb67ce43ea828db17fefc8df0ef8ec30b1a25c3 (patch) | |
tree | 86a2b72ee0c9eb14ddc6d36b3facacf6dbbcd75e | |
parent | 9df917c0be620055c0d2eb53f76d4f1290d5e9e5 (diff) |
feat(node/util): styleText (#22758)
Implements https://github.com/nodejs/node/pull/51850
-rw-r--r-- | ext/node/polyfills/internal/util/inspect.mjs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ext/node/polyfills/internal/util/inspect.mjs b/ext/node/polyfills/internal/util/inspect.mjs index f702c39c5..2f9167dfb 100644 --- a/ext/node/polyfills/internal/util/inspect.mjs +++ b/ext/node/polyfills/internal/util/inspect.mjs @@ -25,6 +25,7 @@ import { validateObject, + validateOneOf, validateString, } from "ext:deno_node/internal/validators.mjs"; import { codes } from "ext:deno_node/internal/error_codes.ts"; @@ -562,10 +563,20 @@ export function stripVTControlCharacters(str) { return str.replace(ansi, ""); } +export function styleText(format, text) { + validateString(text, "text"); + const formatCodes = inspect.colors[format]; + if (formatCodes == null) { + validateOneOf(format, "format", Object.keys(inspect.colors)); + } + return `\u001b[${formatCodes[0]}m${text}\u001b[${formatCodes[1]}m`; +} + export default { format, getStringWidth, inspect, stripVTControlCharacters, formatWithOptions, + styleText, }; |