def walk
import ezmcp@0.1.0.0/src/openapi.bend as Openapiimport Base
import emerging-ezjson@1.2.0.0/main.bend as Json
import emerging-ezjson@1.2.0.0/src/value.bend as Value
252# the value at a pointer's tokens, each a member name, or none when a member
253# is missing
254def walk(toks: List<&2, String>, +val: Value.Json) -> Maybe<&2, Value.Json>:
255 match toks:
256 case []:
257 Some{val}
258 case tok <> rest:
259 +key = token(tok)
260 walk.at(Json.has(val, key), Json.get(val, key), got => walk(rest, got))