def put
emerging-ezjson@1.3.0.0 · src/parse.bend:65
import emerging-ezjson@1.3.0.0/src/parse.bend as Parse
import Base
import emerging-ezjson@1.3.0.0/src/value.bend as V
65
66def put(stack: List<&2, Frame>, root: Maybe<&2, V.Json>, vv: V.Json, bad: Bool) -> P:
67 match stack root vv:
68 case Nil{} None{} val:
69 P{bad, Some{val}, Nil{}}
70 case Nil{} Some{r} val:
71 P{True{}, Some{r}, Nil{}}
72 case Con{FArr{items, SValue{}}, rest} r val:
73 P{bad, r, FArr{V.JCons{val, items}, SComma{}} <> rest}
74 case Con{FObj{pairs, k, SValue{}}, rest} r val:
75 P{bad, r, FObj{put.pair(k, val, pairs), KOwn{""}, SComma{}} <> rest}
76 case s r val:
77 P{True{}, r, Nil{}}