Pbjson.read.opt: def of bendonnect-rpc@0.1.0.0 Import: import bendonnect-rpc@0.1.0.0/src/pbjson.bend as Pbjson Lines 603-618 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=603&end_line=618 import Base import bend-kit-json@0.6.1.1/json.bend as Json # Presence-aware read for optional scalars, oneof members and singular messages: # null/absent -> None, otherwise Some(read(v)). def read.opt(~T: Data, ~read: Json.Val -> Result<&2, &1, String, T>, v: Json.Val) -> Result<&2, &1, String, Maybe<&2, T>>: match v: case Json.Null{}: Done{None{}} case Json.Flag{on}: opt.some(~T, ~read, Json.Flag{on}) case Json.Num{s}: opt.some(~T, ~read, Json.Num{s}) case Json.Str{s}: opt.some(~T, ~read, Json.Str{s}) case Json.Arr{xs}: opt.some(~T, ~read, Json.Arr{xs}) case Json.Obj{kvs}: opt.some(~T, ~read, Json.Obj{kvs}) Uses (5): 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-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=opt.some