def read_value
bend-kit-protobuf@0.2.0.0 · protobuf.bend:181
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
181def read_value(kind: U32, c: B.Cursor) -> Result<&2, &1, Error, B.Cursor & Value>:
182 match kind:
183 case 0:
184 do Result<&2, &1, Error, B.Cursor & Value>:
185 r : B.Cursor & Word64 <- read_varint(c)
186 read_value.varint(r)
187 case 1:
188 do Result<&2, &1, Error, B.Cursor & Value>:
189 r : B.Cursor & Word64 <- read64(c)
190 read_value.fixed64(r)
191 case 2:
192 do Result<&2, &1, Error, B.Cursor & Value>:
193 r : B.Cursor & B.Bytes <- read_blob(c)
194 read_value.blob(r)
195 case 5:
196 do Result<&2, &1, Error, B.Cursor & Value>:
197 r : B.Cursor & U32 <- read32(c)
198 read_value.fixed32(r)
199 case _:
200 Fail{Malformed{}}