def packed_encode.go
bend-kit-protobuf@0.2.0.0 · protobuf.bend:526
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
526def packed_encode.go(values: List<&1, Value>, out: B.Bytes, +max_size: U32) -> Result<&2, &1, Error, B.Bytes>:
527 match values:
528 case Nil{}:
529 Done{out}
530 case Con{v, tail}:
531 match v:
532 case Varint{w}:
533 do Result<&2, &1, Error, B.Bytes>:
534 next : B.Bytes <- write_value(Varint{w}, out, max_size)
535 packed_encode.go(tail, next, max_size)
536 case Fixed32{w}:
537 do Result<&2, &1, Error, B.Bytes>:
538 next : B.Bytes <- write_value(Fixed32{w}, out, max_size)
539 packed_encode.go(tail, next, max_size)
540 case Fixed64{w}:
541 do Result<&2, &1, Error, B.Bytes>:
542 next : B.Bytes <- write_value(Fixed64{w}, out, max_size)
543 packed_encode.go(tail, next, max_size)
544 case Blob{b}:
545 Fail{Malformed{}}
546 case Group{fields}:
547 Fail{Malformed{}}