fixed-width-string
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0 • Public • Published

    NPM version Build Status Coverage Status

    Fit a string to the fixed width (length) with aware of ANSI escape codes.

    Features:

    • Works well with strings with ANSI escape codes, i.e strings styled with a lib like chalk
    • Pad or truncate string if needed
    • Align string

    Install

    $ npm install fixed-width-string
    

    Usage

    var fixedWidthString = require('fixed-width-string');
     
    console.log(fixedWidthString('test', 10));
    // "test      "
     
    console.log(fixedWidthString('very long string', 10));
    // "very long…"
     
    console.log(fixedWidthString('very long string', { align: 'right' }));
    // "…ng string"
     
    var chalk = require('chalk');
     
    console.log(fixedWidthString(chalk.green('hello') + ' ' + chalk.red('world'), 8));
    // "\u001b[32mhello\u001b[39m \u001b[31mw…\u001b[39m"
    //
    // but in terminal you'll see colored
    // "hello w…"

    API

    fixedWidthString(str, width[, options])

    options.padding

    String to padding with.

    Default: ' ' (one space)

    console.log(fixedWidthString('test', 10));
    // "test      "
     
    console.log(fixedWidthString('test', 10, { padding: '.' }));
    // "test......"

    options.align

    Side to align.

    Values: 'left' or 'right'
    Default: 'left'

    console.log(fixedWidthString('test', 10));
    // "test      "
     
    console.log(fixedWidthString('test', 10, { align: 'right' }));
    // "      test"

    options.ellipsis

    String to be placed when string is truncating.

    Default: '…'

    Note: To omit ellipsis, pass an empty string or falsy value for the option.

    console.log(fixedWidthString('hello world', 8));
    // "hello w…"
     
    console.log(fixedWidthString('hello world', 8, { ellipsis: '~' }));
    // "hello w~"
     
    console.log(fixedWidthString('hello world', 8, { ellipsis: '...', align: 'right' }));
    // "...world"
     
    console.log(fixedWidthString('hello world', 8, { ellipsis: false, align: 'right' }));
    // "lo world"

    options.truncate

    Side should be truncated.

    Values: 'left' or 'right'
    Default: 'right' when align: 'left' or 'left' when align: 'right'

    console.log(fixedWidthString('hello world', 8));
    // "hello w…"
     
    console.log(fixedWidthString('hello world', 8, { truncate: 'left' }));
    // "…o world"
     
    console.log(fixedWidthString('hello world', 8, { align: 'right' }));
    // "hello w…"
     
    console.log(fixedWidthString('hello world', 8, { align: 'right', truncate: 'left' }));
    // "…o world"

    License

    MIT

    Install

    npm i fixed-width-string

    DownloadsWeekly Downloads

    16,684

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    8.9 kB

    Total Files

    6

    Last publish

    Collaborators

    • lahmatiy