1 | export interface Options {
|
2 | /**
|
3 | Whether [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) should be counted. They are ignored by default.
|
4 |
|
5 | @default false
|
6 | */
|
7 | readonly countAnsiEscapeCodes?: boolean;
|
8 | }
|
9 |
|
10 | /**
|
11 | Get the real length of a string - by correctly counting astral symbols and ignoring [ansi escape codes](https://github.com/sindresorhus/strip-ansi).
|
12 |
|
13 | `String#length` erroneously counts [astral symbols](https://web.archive.org/web/20150721114550/http://www.tlg.uci.edu/~opoudjis/unicode/unicode_astral.html) as two characters.
|
14 |
|
15 | @example
|
16 | ```
|
17 | import stringLength from 'string-length';
|
18 |
|
19 | '🐴'.length;
|
20 | //=> 2
|
21 |
|
22 | stringLength('🐴');
|
23 | //=> 1
|
24 |
|
25 | stringLength('\u001B[1municorn\u001B[22m');
|
26 | //=> 7
|
27 | ```
|
28 | */
|
29 | export default function stringLength(string: string, options?: Options): number;
|