def from_json

bendonnect-rpc@0.1.0.0 · src/error.bend:295

import bendonnect-rpc@0.1.0.0/src/error.bend as Error
import Base
import bend-kit-json@0.6.1.1/json.bend as Json

295# {}, {"code":null}, a non-string code, or a non-object are invalid (None).
296def from_json(v: Json.Val) -> Maybe<&1, Error>:
297  match v:
298    case Json.Obj{kvs}:
299      error_fields(pick.go(kvs, "code", "message", "details", fs.empty()))
300    case Json.Null{}:
301      None{}
302    case Json.Flag{on}:
303      None{}
304    case Json.Num{s}:
305      None{}
306    case Json.Str{s}:
307      None{}
308    case Json.Arr{xs}:
309      None{}

Uses (6)

Used by (2)