Protobuf.Internal.Encode
- Package
- purescript-protobuf
- Repository
- xc-jp/purescript-protobuf
Primitive builders for encoding Google Protocol Buffers.
#encodeDoubleField Source
encodeDoubleField :: forall m. MonadEffect m => FieldNumber -> Number -> PutM m Unit
#encodeDouble Source
encodeDouble :: forall m. MonadEffect m => Number -> PutM m Unit
double Scalar Value Type
#encodeFloatField Source
encodeFloatField :: forall m. MonadEffect m => FieldNumber -> Float32 -> PutM m Unit
#encodeFloat Source
encodeFloat :: forall m. MonadEffect m => Float32 -> PutM m Unit
float Scalar Value Type
#encodeInt32Field Source
encodeInt32Field :: forall m. MonadEffect m => FieldNumber -> Int -> PutM m Unit
#encodeInt32 Source
encodeInt32 :: forall m. MonadEffect m => Int -> PutM m Unit
int32 Scalar Value Type
#encodeInt64Field Source
encodeInt64Field :: forall m. MonadEffect m => FieldNumber -> Int64 -> PutM m Unit
#encodeInt64 Source
encodeInt64 :: forall m. MonadEffect m => Int64 -> PutM m Unit
int64 Scalar Value Type
#encodeUint32Field Source
encodeUint32Field :: forall m. MonadEffect m => FieldNumber -> UInt -> PutM m Unit
#encodeUint32 Source
encodeUint32 :: forall m. MonadEffect m => UInt -> PutM m Unit
uint32 Scalar Value Type
#encodeUint64Field Source
encodeUint64Field :: forall m. MonadEffect m => FieldNumber -> UInt64 -> PutM m Unit
#encodeUint64 Source
encodeUint64 :: forall m. MonadEffect m => UInt64 -> PutM m Unit
uint64 Scalar Value Type
#encodeSint32Field Source
encodeSint32Field :: forall m. MonadEffect m => FieldNumber -> Int -> PutM m Unit
#encodeSint32 Source
encodeSint32 :: forall m. MonadEffect m => Int -> PutM m Unit
sint32 Scalar Value Type
#encodeSint64Field Source
encodeSint64Field :: forall m. MonadEffect m => FieldNumber -> Int64 -> PutM m Unit
#encodeSint64 Source
encodeSint64 :: forall m. MonadEffect m => Int64 -> PutM m Unit
sint64 Scalar Value Type
#encodeFixed32Field Source
encodeFixed32Field :: forall m. MonadEffect m => FieldNumber -> UInt -> PutM m Unit
#encodeFixed32 Source
encodeFixed32 :: forall m. MonadEffect m => UInt -> PutM m Unit
fixed32 Scalar Value Type
#encodeFixed64Field Source
encodeFixed64Field :: forall m. MonadEffect m => FieldNumber -> UInt64 -> PutM m Unit
#encodeFixed64 Source
encodeFixed64 :: forall m. MonadEffect m => UInt64 -> PutM m Unit
fixed64 Scalar Value Type
#encodeSfixed32Field Source
encodeSfixed32Field :: forall m. MonadEffect m => FieldNumber -> Int -> PutM m Unit
#encodeSfixed32 Source
encodeSfixed32 :: forall m. MonadEffect m => Int -> PutM m Unit
sfixed32 Scalar Value Type
#encodeSfixed64Field Source
encodeSfixed64Field :: forall m. MonadEffect m => FieldNumber -> Int64 -> PutM m Unit
#encodeSfixed64 Source
encodeSfixed64 :: forall m. MonadEffect m => Int64 -> PutM m Unit
sfixed64 Scalar Value Type
#encodeBoolField Source
encodeBoolField :: forall m. MonadEffect m => FieldNumber -> Boolean -> PutM m Unit
#encodeBool Source
encodeBool :: forall m. MonadEffect m => Boolean -> PutM m Unit
bool Scalar Value Type
#encodeStringField Source
encodeStringField :: forall m. MonadEffect m => FieldNumber -> String -> PutM m Unit
string Scalar Value Type
#encodeBytesField Source
encodeBytesField :: forall m. MonadEffect m => FieldNumber -> Bytes -> PutM m Unit
bytes Scalar Value Type
#encodeBuilder Source
encodeBuilder :: forall m. MonadEffect m => FieldNumber -> Builder -> PutM m Unit
tell
with a tag and a length delimit.
#encodeVarint32 Source
encodeVarint32 :: forall m. MonadEffect m => UInt -> PutM m Unit
There is no varint32
in the Protbuf spec, this is
just a performance-improving assumption we make
in cases where we would be surprised to see a number
larger than 32 bits, such as in field numbers.
We think this is worth the risk because UInt
is
represented as a native Javascript Number whereas
UInt64
is a composite library type, so we expect the
performance difference to be significant.
https://developers.google.com/protocol-buffers/docs/encoding#varints
#encodeTag32 Source
encodeTag32 :: forall m. MonadEffect m => FieldNumber -> WireType -> PutM m Unit
https://developers.google.com/protocol-buffers/docs/encoding#structure
#encodeVarint64 Source
encodeVarint64 :: forall m. MonadEffect m => UInt64 -> PutM m Unit