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{}}