Unenki
🔢 Encode ANSI Escape sequences to Unicode Literal strings:
\u001b
>\\u001b
Why
Logging colored text to the console requires ANSI escape sequences. These ANSI escape sequences include unicode characters like \u001b
.
When testing software it can become hard to grok the difference between the expected and the actual result when the ANSI escape sequences are used. To remedy this, Unenki encodes ANSI escape sequences to lower-case unicode literals, while keeping certain ASCII characters.
Encode
Encode unicode ANSI escape characters to a console friendly string:
const unenki = const chalk = // Blue textconst ansiEscapedStr = '\u001b[34m HELLO_BLUE_WORLD! \u001b[39m' const encoded = unenki// '\\u001b[34m HELLO_BLUE_WORLD! \\u001b[39m'
Strip
Strips ANSI escape sequences from unencoded ansi-escaped strings:
const unenki = const chalk = const ansiEscapedStr = chalk const result = unenki// Result = 'Test'
Strip Encoded
Strips Unicode literals from an encoded string:
const unenki = const ansiEscapedStr = chalkconst encoded = unenki const result = unenki// Result = 'Test'
Keep
Do not encode certain characters:
const ansiEscapedStr = chalk const opts = keep: '"' const result = unenki// Result = '\\u001b[32m"Test"\\u001b[39m'
Force
Force certain characters to encode to different strings:
const ansiEscapedStr = chalk const opts = force: '\n': '\\n' const result = unenki// Result = 'a\\n\b'
Installation
yarn add unenki