Pbjson.read.enum: def of bendonnect-rpc@0.1.0.0 Import: import bendonnect-rpc@0.1.0.0/src/pbjson.bend as Pbjson Lines 582-596 of bendonnect-rpc@0.1.0.0/src/pbjson.bend: https://jend.leeeet.dev/read.txt?path=bendonnect-rpc@0.1.0.0/src/pbjson.bend&start_line=582&end_line=596 import Base import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes import bend-kit-encoding@0.4.0.0/encoding.bend as Enc import bend-kit-json@0.6.1.1/json.bend as Json # Enum by name (from_name = the generated E.from_name) or by number; null -> 0. def read.enum(~from_name: @+s: String -> Maybe<&2, U32>, v: Json.Val) -> Result<&2, &1, String, U32>: match v: case Json.Null{}: Done{0} case Json.Str{b}: lift.m(U32, from_name(Enc.utf8.decode(b)), "unknown enum value") case Json.Num{b}: lift.m(U32, parse.int32(Bytes.to_string(b)), "invalid enum number") case Json.Flag{on}: Fail{"expected an enum name or number"} case Json.Arr{xs}: Fail{"expected an enum name or number"} case Json.Obj{kvs}: Fail{"expected an enum name or number"} Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=to_string https://jend.leeeet.dev/definition.txt?path=bend-kit-encoding@0.5.0.0/encoding.bend&name=utf8.decode https://jend.leeeet.dev/definition.txt?path=bend-kit-json@0.7.0.0/json.bend&name=Val https://jend.leeeet.dev/definition.txt?path=bendonnect-rpc@0.1.0.0/src/pbjson.bend&name=lift.m https://jend.leeeet.dev/definition.txt?path=bendonnect-rpc@0.1.0.0/src/pbjson.bend&name=parse.int32