UNPKG

802 BTypeScriptView Raw
1export 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/**
11Get 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```
17import stringLength from 'string-length';
18
19'🐴'.length;
20//=> 2
21
22stringLength('🐴');
23//=> 1
24
25stringLength('\u001B[1municorn\u001B[22m');
26//=> 7
27```
28*/
29export default function stringLength(string: string, options?: Options): number;