string-width

  • Version 7.1.0
  • Published
  • 6.61 kB
  • 3 dependencies
  • MIT license

Install

npm i string-width
yarn add string-width
pnpm add string-width

Overview

Get the visual width of a string - the number of columns required to display it

Index

Functions

Type Aliases

Functions

function stringWidth

stringWidth: (string: string, options?: Options) => number;
  • Get the visual width of a string - the number of columns required to display it.

    Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.

    Example 1

    import stringWidth from 'string-width';
    stringWidth('a');
    //=> 1
    stringWidth('古');
    //=> 2
    stringWidth('\u001B[1m古\u001B[22m');
    //=> 2

Type Aliases

type Options

type Options = {
/**
Count [ambiguous width characters](https://www.unicode.org/reports/tr11/#Ambiguous) as having narrow width (count of 1) instead of wide width (count of 2).
@default true
> Ambiguous characters behave like wide or narrow characters depending on the context (language tag, script identification, associated font, source of data, or explicit markup; all can provide the context). __If the context cannot be established reliably, they should be treated as narrow characters by default.__
> - http://www.unicode.org/reports/tr11/
*/
readonly ambiguousIsNarrow?: boolean;
/**
Whether [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) should be counted.
@default false
*/
readonly countAnsiEscapeCodes?: boolean;
};

    Package Files (1)

    Dependencies (3)

    Dev Dependencies (3)

    Peer Dependencies (0)

    No peer dependencies.

    Badge

    To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

    You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/string-width.

    • Markdown
      [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/string-width)
    • HTML
      <a href="https://www.jsdocs.io/package/string-width"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>