Protobuf.Library
- Package
- purescript-protobuf
- Repository
- xc-jp/purescript-protobuf
Module for types to be imported by a progam which uses protobuf.
#parseExceptT Source
parseExceptT :: forall a m s. Monad m => ExceptT String m a -> ParserT s m a
Lift an ExceptT String m
computation into a ParserT
.
Consumes no parsing input, does not change the parser state at all.
If the ExceptT
computation is Left
, then this will fail
in the
ParserT
monad.
#parseEither Source
parseEither :: forall a m s. Monad m => Either String a -> ParserT s m a
Lift an Either String
computation into a ParserT
.
Consumes no parsing input, does not change the parser state at all.
If the Either
computation is Left
, then this will fail
in the
ParserT
monad.
#parseMaybe Source
parseMaybe :: forall a m s. Monad m => String -> Maybe a -> ParserT s m a
Lift a Maybe
computation into a ParserT
, with a note for
the ParseError
message in case of Nothing
.
Consumes no parsing input, does not change the parser state at all.
If the Maybe
computation is Nothing
, then this will fail
in the
ParserT
monad.
Re-exports from Protobuf.Common
#Bytes Source
Re-exports from Protobuf.Runtime
#manyLength Source
manyLength :: forall a m. MonadEffect m => MonadRec m => ParserT DataView m a -> ByteLength -> ParserT DataView m (Array a)
Call a parser repeatedly until exactly N bytes have been consumed. Will fail if too many bytes are consumed.