Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Parser a
- runParser :: Parser a -> [(Text, Maybe Text)] -> Either ParserError a
- decodeUtf8Query :: Query -> [(Text, Maybe Text)]
- data ParserError = NoParse String
- unlabeled :: PieceParser a -> Parser a
- (.=) :: PieceParser Text -> PieceParser b -> Parser b
- overEquals :: (a -> b -> c) -> PieceParser a -> PieceParser b -> Parser c
- toMaybe :: Parser a -> Parser (Maybe a)
- fromUtf8 :: (Text -> Either String a) -> PieceParser a
- attoparsec :: Parser a -> PieceParser a
- aeson :: FromJSON a => PieceParser a
Documentation
decodeUtf8Query :: Query -> [(Text, Maybe Text)] Source #
Combining
unlabeled :: PieceParser a -> Parser a Source #
Parse only the label, disregarding any =
value;
unlabeled (attoparsec double)
would parse something like
"/foo?1234"
or
"/foo?1234=asdf"
(.=) :: PieceParser Text -> PieceParser b -> Parser b Source #
Parse with a label, but throw the parse result of the label away;
"foo" .= attoparsec double
would parse something like
"/foo?foo=1234"
overEquals :: (a -> b -> c) -> PieceParser a -> PieceParser b -> Parser c Source #
liftM2
for parse results between =
, for instance:
overEquals (,) (attoparsec $ double <* endOfInput) (attoparsec $ double <* endOfInput)
would parse something like
"/foo?1234=1234"
Atoms
attoparsec :: Parser a -> PieceParser a Source #