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 Unitdouble 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 Unitfloat 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 Unitint32 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 Unitint64 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 Unituint32 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 Unituint64 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 Unitsint32 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 Unitsint64 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 Unitfixed32 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 Unitfixed64 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 Unitsfixed32 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 Unitsfixed64 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 Unitbool Scalar Value Type
#encodeStringField Source
encodeStringField :: forall m. MonadEffect m => FieldNumber -> String -> PutM m Unitstring Scalar Value Type
#encodeBytesField Source
encodeBytesField :: forall m. MonadEffect m => FieldNumber -> Bytes -> PutM m Unitbytes Scalar Value Type
#encodeBuilder Source
encodeBuilder :: forall m. MonadEffect m => FieldNumber -> Builder -> PutM m Unittell with a tag and a length delimit.
#encodeVarint32 Source
encodeVarint32 :: forall m. MonadEffect m => UInt -> PutM m UnitThere 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 Unithttps://developers.google.com/protocol-buffers/docs/encoding#structure
#encodeVarint64 Source
encodeVarint64 :: forall m. MonadEffect m => UInt64 -> PutM m Unit