Parser combinator library for TypeScript.
number- Tries to match a given number
string- Tries to match a given string
regex- Tries to match a given regex
whitespace- Tries to match one or more whitespaces (regex:
/[\r\n\t\f\v ]+/)
- Tries to match one or more whitespaces (regex:
word- Tries to match one or more words (regex:
/[a-zA-Z0-9_]+/)
- Tries to match one or more words (regex:
endOfInput- Checks if there is nothing left to parse otherwise it fails
endOfLine- Tries to match an end of line (either
\r\n,\ror\n)
- Tries to match an end of line (either
lazy- Takes a function that just returns a parser (a thunk). This defers the evaluation of the given parser. Useful for writing recursive parsers.
failure- Always returns a failing parser with the given
errorMessage. Typically used inside a contextual parser.
- Always returns a failing parser with the given
sequenceOf- Accepts multiple parsers, which must all match successfully in the given order otherwise it fails.
many- Accepts a single parser, which may match zero or infinite times.
many1- Accepts a single parser, which must match at least once or infinite times otherwise it fails.
separatedBy- Tries to match a given
valueseparated by a givenseparator - Only captures the
value
- Tries to match a given
anyOf- Tries to match all
parsersand returns the first successful one.
- Tries to match all
optional- The given
parsermay or may not match. This combinator can not fail.
- The given
between- Tries to match a given
innersurrounded by a givenouterLeftandouterRight. TheouterRightparser is optional and defaults toouterLeft.
- Tries to match a given
everythingUntil- Tries to match everything until (
value) the separator.
- Tries to match everything until (