Sindre.KeyVal
- parseKV :: PermParser Parser a -> Text -> Either String a
- value :: Text -> Parser Text
- values :: Text -> Parser [Text]
- (<$?>) :: (a -> b) -> (a, p a) -> PermParser p b
- (<||>) :: PermParser p (a -> b) -> p a -> PermParser p b
- (<$$>) :: (a -> b) -> p a -> PermParser p b
- (<|?>) :: PermParser p (a -> b) -> (a, p a) -> PermParser p b
Documentation
parseKV :: PermParser Parser a -> Text -> Either String aSource
Parse a key-value string wrapper constructed via the permutation
parser combinators from Text.Parsec.Perm and the parsers value
and values.
values :: Text -> Parser [Text]Source
values k is a parser for the list-valued key k. At least a
single value is required.
(<$?>) :: (a -> b) -> (a, p a) -> PermParser p b
The expression f <$?> (x,p) creates a fresh permutation parser
consisting of parser p. The the final result of the permutation
parser is the function f applied to the return value of p. The
parser p is optional - if it can not be applied, the default value
x will be used instead.
(<||>) :: PermParser p (a -> b) -> p a -> PermParser p b
The expression perm <||> p adds parser p to the permutation
parser perm. The parser p is not allowed to accept empty input -
use the optional combinator (<|?>) instead. Returns a
new permutation parser that includes p.
(<$$>) :: (a -> b) -> p a -> PermParser p b
The expression f <$$> p creates a fresh permutation parser
consisting of parser p. The the final result of the permutation
parser is the function f applied to the return value of p. The
parser p is not allowed to accept empty input - use the optional
combinator (<$?>) instead.
If the function f takes more than one parameter, the type variable
b is instantiated to a functional type which combines nicely with
the adds parser p to the (<||>) combinator. This
results in stylized code where a permutation parser starts with a
combining function f followed by the parsers. The function f
gets its parameters in the order in which the parsers are specified,
but actual input can be in any order.
(<|?>) :: PermParser p (a -> b) -> (a, p a) -> PermParser p b
The expression perm <||> (x,p) adds parser p to the
permutation parser perm. The parser p is optional - if it can
not be applied, the default value x will be used instead. Returns
a new permutation parser that includes the optional parser p.