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

Uses (20)

Used by (2)