/ansi-pad

A couple tiny functions for padding a string that may contain ANSI escape sequences.

Primary LanguageJavaScriptMIT LicenseMIT

ANSI Pad

A couple tiny functions for padding a string that may contain ANSI escape sequences.

Install

npm install --save ansi-pad

Usage

import {padStart, padEnd} from 'ansi-pad';

// Let's pad a string in a width-aware way, handling ANSI escapes, emojis etc. specially

const FOO = `\u001b[31mFOO\u001b[39m`;

padStart ( FOO, 2, '๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ' ) // => `${FOO}`
padStart ( FOO, 5, '๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ' ) // => `๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ${FOO}`
padStart ( FOO, 7, '๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ' ) // => `๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ${FOO}`

padEnd ( FOO, 2, '๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ' ) // => `${FOO}`
padEnd ( FOO, 5, '๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ' ) // => `${FOO}๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ`
padEnd ( FOO, 7, '๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ' ) // => `${FOO}๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ`

License

MIT ยฉ Fabio Spampinato