Methods
-
alpha()
-
Returns a parser that matches a single non-unicode alphabetical character.
Example
parse(alpha(), "a"); // => "a" parse(alpha(), "A"); // => "A"
-
alphaLower()
-
Returns a parser that matches a single non-unicode lowercase alphabetical character.
Example
parse(alphaLower(), "d"); // => "d"
-
alphanum(base)
-
Returns a parser that matches an alphanumeric character.
Parameters:
Name Type Argument Default Description baseInteger <optional>
10 Optional base for numeric parsing.
Example
parse(alphanum(), "1"); // => "1" parse(alphanum(), "a"); // => "a" parse(alphanum(), "A"); // => "A"
-
alphaUpper()
-
Returns a parser that matches a single non-unicode uppercase alphabetical character.
Example
parse(alphaUpper(), "D"); // => "D"
-
digit(base)
-
Returns a parser that parses a single digit character token from the input.
Parameters:
Name Type Argument Default Description baseInteger <optional>
10 Optional base for the digit.
Example
parse(digit(), "5"); // => "5"
-
noneOf(matches, caseSensitive, parser)
-
Returns a parser that fails if the next token or string matches one of the given inputs. If the third
parserargument is given, that parser will be used to collect the actual value ofnoneOf.Parameters:
Name Type Argument Default Description matchesString | Array Characters or strings to match. If this argument is a string, it will be treated as if matches.split("") were passed in.
caseSensitiveBoolean <optional>
true Whether to match char case exactly.
parserParser <optional>
token() What to actually parse if none of the given matches succeed.
Example
parse(noneOf("abc"), "d"); // => "d" parse(noneOf(["foo", "bar", "baz"]), "frob"); // => "f" parse(noneOf(["foo", "bar", "baz"], true, text()), "frob"); // => "frob" -
oneOf(matches, caseSensitive)
-
Returns a parser that succeeds if the next token or string matches one of the given inputs.
Parameters:
Name Type Argument Default Description matchesString | Array Characters or strings to match. If this argument is a string, it will be treated as if matches.split("") were passed in.
caseSensitiveBoolean <optional>
true Whether to match char case exactly.
Example
parse(oneOf("abcd"), "c"); // => "c" parse(oneOf(["foo", "bar", "baz"]), "bar"); // => "bar" -
space()
-
Returns a parser that matches one whitespace character.
Example
parse(space(), "\r"); // => "\r"
-
spaces()
-
Returns a parser that matches one or more whitespace characters. Returns a single space character as its result, regardless of which whitespace characters were matched.
Example
parse(spaces(), " \r\n\t \r \n"); // => " "
-
string(str, caseSensitive)
-
Returns a parser that succeeds if
strmatches the nextstr.lengthinputs, consuming the string and returning it as a value.Parameters:
Name Type Argument Default Description strString String to match against.
caseSensitiveBoolean <optional>
true Whether to match char case exactly.
Example
parse(string("foo"), "foo"); // => "foo" -
stringOf(parser)
-
Returns a string containing the concatenated results returned by applying
parser.parsermust be a combinator that returns an array of string parse results.Parameters:
Name Type Description parserParser Parser that results in an array of strings.
Example
parse(stringOf(collect(token())), "aaa"); // => "aaa"
-
text(parser, opts)
-
Returns a parser that collects between
minandmaxtokens matchingparser. The result is returned as a single string. This parser is essentially collect() for strings.Parameters:
Name Type Argument Default Description parserParser <optional>
token() Parser to use to collect the results.
optsObject <optional>
Properties
Name Type Argument Default Description minInteger <optional>
0 Minimum number of matches.
maxInteger <optional>
Infinity Maximum number of matches.
Example
parse(text(), "abcde"); // => "abcde" parse(text(noneOf("a")), "bcde"); // => "bcde" -
trim(parser)
-
Returns a parser that trims any whitespace surrounding
parser.Parameters:
Name Type Description parserParser Parser to match after cleaning up whitespace.
Example
parse(trim(token()), " \r\n a \t"); // => "a"
-
trimLeft(parser)
-
Returns a parser that trims any leading whitespace before
parser.Parameters:
Name Type Description parserParser Parser to match after cleaning up whitespace.
Example
parse(trimLeft(token()), " \r\n a"); // => "a"
-
trimRight(parser)
-
Returns a parser that trims any trailing whitespace before
parser.Parameters:
Name Type Description parserParser Parser to match after cleaning up whitespace.
Example
parse(trimRight(token()), "a \r\n"); // => "a"