JSONAssemblyProof.tokens: def of qasim-bend-kit@0.1.0.2 Import: import qasim-bend-kit@0.1.0.2/proof/JSON_AssemblyProof.bend as JSONAssemblyProof Lines 14-38 of qasim-bend-kit@0.1.0.2/proof/JSON_AssemblyProof.bend: https://jend.leeeet.dev/read.txt?path=qasim-bend-kit@0.1.0.2/proof/JSON_AssemblyProof.bend&start_line=14&end_line=38 import Base import qasim-bend-kit@0.1.0.2/libs/JSON.bend as J def tokens(value: J.Value, mode: Mode, tail: List) -> List: match value: case J.Arr{Nil{}}: match mode: case Whole{}: J.Delimiter{'['} <> J.Delimiter{']'} <> tail case Members{}: J.Delimiter{']'} <> tail case J.Arr{head <> rest}: match mode: case Whole{}: J.Delimiter{'['} <> tokens(head, Whole{}, tokens(J.Arr{rest}, Members{}, tail)) case Members{}: J.Delimiter{','} <> tokens(head, Whole{}, tokens(J.Arr{rest}, Members{}, tail)) case J.Obj{Nil{}}: match mode: case Whole{}: J.Delimiter{'{'} <> J.Delimiter{'}'} <> tail case Members{}: J.Delimiter{'}'} <> tail case J.Obj{(key, value) <> rest}: match mode: case Whole{}: J.Delimiter{'{'} <> J.Atom{Done{J.Str{key}}} <> J.Delimiter{':'} <> tokens(value, Whole{}, tokens(J.Obj{rest}, Members{}, tail)) case Members{}: J.Delimiter{','} <> J.Atom{Done{J.Str{key}}} <> J.Delimiter{':'} <> tokens(value, Whole{}, tokens(J.Obj{rest}, Members{}, tail)) case J.Null{}: J.Atom{J.decode_payload("null")} <> tail case J.Bool{truth}: match truth: case True{}: J.Atom{J.decode_payload("true")} <> tail case False{}: J.Atom{J.decode_payload("false")} <> tail case J.Number{lexeme, certificate}: J.Atom{J.decode_payload(lexeme)} <> tail case J.Str{text}: J.Atom{J.decode_payload("\"" ++ J.escape_string(text) ++ "\"")} <> tail Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Char 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=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=qasim-bend-kit@0.1.0.2/libs/JSON.bend&name=Token https://jend.leeeet.dev/definition.txt?path=qasim-bend-kit@0.1.0.2/libs/JSON.bend&name=Value https://jend.leeeet.dev/definition.txt?path=qasim-bend-kit@0.1.0.2/libs/JSON.bend&name=decode_payload https://jend.leeeet.dev/definition.txt?path=qasim-bend-kit@0.1.0.2/libs/JSON.bend&name=escape_string https://jend.leeeet.dev/definition.txt?path=qasim-bend-kit@0.1.0.2/proof/JSON_AssemblyProof.bend&name=Mode