Package Exports
- sgr-parser
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sgr-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
sgr-parser
Parse console output which includes escape sequence.
Install
npm install sgr-parser
How to use
SGRParser takes two constructor parameters.
keepState
: Keep previous state while continuous parsing.handleCR
: Deal CR(0x0d) code asESC[2K
(Remove current line.)
SGRParser has following two methods.
- tokenize(str: string): Array
; - It returns 3 kind of Token(StringToken, EscapeToken, ErrorToken)
- StringToken has
str
property. It holds tokenized string. - EscapeToken has
options
property andcode
property. options is array of number. code is code of key. - ErrorToken means invalid EscapeSequence. It is almost same as StringToken.
- parse(str)
- It returns Array of Line object.
- Line object has following four properties.
str
: stringclassname
: It holds sgr classname. (e.g.sgr-33-m
)newLine
:true
means LF exists before this string.removeLine
: If the escape sequenceESC[2K
exists, it will beLine("", "", false, true)
.- Other escapes except
ESC[[n]m
will be ignored.
var SGRParser = require("sgr-parser");
var input = "\u001b[31mtest\u001b[0m";
var lines = new SGRParser(true, true).parse(input); // [Line("test", "sgr-31-m", false, false)]