def map.go

bendonnect-rpc@0.1.0.0 · src/pbjson.bend:734

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

734def map.go(~K: Data, ~V: Data, ~E: Data, ~key: @+s: String -> Result<&2, &1, String, K>, ~value: Json.Val -> Result<&2, &1, String, V>, ~mk: @+k: K -> @+v: V -> E, es: List<&1, String & Json.Val>) -> Result<&2, &1, String, List<&2, E>>:
735  match es:
736    case Nil{}:
737      Done{Nil{}}
738    case Con{(k, v), t}:
739      do Result<&2, &1, String, List<&2, E>>:
740        kk : K <- key(k)
741        vv : V <- value(v)
742        rest : List<&2, E> <- map.go(~K, ~V, ~E, ~key, ~value, ~mk, t)
743        return mk(kk, vv) <> rest

Uses (8)

Used by (1)