def write_value

bend-kit-protobuf@0.2.0.0 · protobuf.bend:373

import bend-kit-protobuf@0.2.0.0/protobuf.bend as Protobuf
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as B

373def write_value(v: Value, out: B.Bytes, +max_size: U32) -> Result<&2, &1, Error, B.Bytes>:
374  match v:
375    case Varint{w}:
376      write_varint(w, out, max_size)
377    case Fixed32{w}:
378      write_fixed32(w, out, max_size)
379    case Fixed64{w}:
380      write_fixed64(w, out, max_size)
381    case Blob{b}:
382      B.Bytes{+n, buf} = b
383      do Result<&2, &1, Error, B.Bytes>:
384        next : B.Bytes <- write_varint(Word64{0, n}, out, max_size)
385        append(next, B.Bytes{n, buf}, max_size)
386    case Group{fields}:
387      Fail{Malformed{}}

Uses (11)

Used by (2)