Json.Plan: type of cswap-bend-cli@0.1.0.0 Import: import cswap-bend-cli@0.1.0.0/json.bend as Json Lines 82-93 of cswap-bend-cli@0.1.0.0/json.bend: https://jend.leeeet.dev/read.txt?path=cswap-bend-cli@0.1.0.0/json.bend&start_line=82&end_line=93 import Base import cswap-bend-cli@0.1.0.0/json/lex.bend as Lex # What one parser step decides, before it recurses: a finished result, a # bracketed body, two parts to parse (array item and rest, object field and # rest), or one more step in another mode. Splitting "decide" from "recurse" # keeps `val` a single self-recursive def (Bend has no mutual recursion) with # few arms. type Plan is Data: PRes{r: Result<&2, &2, String, Json>} PArr{t: List<&2, Lex.Tok>} PObj{t: List<&2, Lex.Tok>} PItems{first: List<&2, Lex.Tok>, rest: List<&2, Lex.Tok>} PFields{k: String, vt: List<&2, Lex.Tok>, rest: List<&2, Lex.Tok>} PNext{mode: Mode, t: List<&2, Lex.Tok>} Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List 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=cswap-bend-cli@0.1.0.0/json/lex.bend&name=Tok https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/json.bend&name=Json https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/json.bend&name=Mode