Module
Protobuf.Runtime
- Package
- purescript-protobuf
- Repository
- xc-jp/purescript-protobuf
This module is for import by the generated .purs message modules.
You almost never need to import this module. See package README for explanation.
#parseMessage Source
parseMessage :: forall r a m. MonadEffect m => MonadRec m => (Record r -> a) -> (Record r) -> (FieldNumberInt -> WireType -> ParserT DataView m (Builder (Record r) (Record r))) -> Int -> ParserT DataView m a
The parseField argument is a parser which returns a Record builder which, when applied to a Record, will modify the Record to add the parsed field.
#parseFieldUnknown Source
parseFieldUnknown :: forall r m. MonadEffect m => Int -> WireType -> ParserT DataView m (Builder ({ __unknown_fields :: Array UnknownField | r }) ({ __unknown_fields :: Array UnknownField | r }))
Parse and preserve an unknown field.
#putFieldUnknown Source
putFieldUnknown :: forall m. MonadEffect m => UnknownField -> PutM m Unit
#parseLenDel Source
parseLenDel :: forall a m. MonadEffect m => (Int -> ParserT DataView m a) -> ParserT DataView m a
Parse a length, then call a parser which takes one length as its argument.
#FieldNumberInt Source
type FieldNumberInt = Int
We want an Int FieldNumber to pass to parseField so that we can pattern match on Int literals. UInt doesn't export any constructors, so we can’t pattern match on it.
#positionZero Source
positionZero :: forall m s. Monad m => ParserT s m Pos
Zero-based position in the parser.
#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.
#putLenDel Source
putLenDel :: forall a m. MonadEffect m => (a -> PutM m Unit) -> FieldNumber -> a -> PutM m Unit
#putOptional Source
putOptional :: forall a m. MonadEffect m => FieldNumberInt -> Maybe a -> (a -> Boolean) -> (FieldNumber -> a -> PutM m Unit) -> PutM m Unit
#putRepeated Source
putRepeated :: forall a m. MonadEffect m => FieldNumberInt -> Array a -> (FieldNumber -> a -> PutM m Unit) -> PutM m Unit
#putPacked Source
putPacked :: forall a m. MonadEffect m => FieldNumberInt -> Array a -> (a -> PutM m Unit) -> PutM m Unit
#putEnum Source
putEnum :: forall a m. MonadEffect m => BoundedEnum a => FieldNumber -> a -> PutM m Unit
#putEnum' Source
putEnum' :: forall a m. MonadEffect m => BoundedEnum a => a -> PutM m Unit
#parseEnum Source
parseEnum :: forall a m. MonadEffect m => BoundedEnum a => ParserT DataView m a