Pbjson.read.scalar: def of bendonnect-rpc@0.1.0.0 Import: import bendonnect-rpc@0.1.0.0/src/pbjson.bend as Pbjson Lines 477-491 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=477&end_line=491 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 # null -> dflt; number or string -> parse(text); anything else is an error. def read.scalar(~T: Data, ~parse: @+s: String -> Maybe<&2, T>, +dflt: T, +what: String, v: Json.Val) -> Result<&2, &1, String, T>: match v: case Json.Null{}: Done{dflt} case Json.Num{b}: lift.m(T, parse(Bytes.to_string(b)), what) case Json.Str{b}: lift.m(T, parse(Enc.utf8.decode(b)), what) case Json.Flag{on}: Fail{what} case Json.Arr{xs}: Fail{what} case Json.Obj{kvs}: Fail{what} Uses (7): 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=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