def valid_json
bend-schema-lib@0.4.1.0 · core.bend:176
import bend-schema-lib@0.4.1.0/core.bend as Core
import Base
176
177
178
179
180def valid_json(value: Json) -> Bool:
181 match value:
182 case JNull{}:
183 True{}
184 case JBool{value}:
185 True{}
186 case JNumber{bits}:
187 finite_number(bits)
188 case JString{text}:
189 True{}
190 case JArray{Nil{}}:
191 True{}
192 case JArray{head <> tail}:
193 Bool.and(valid_json(head), valid_json(JArray{tail}))
194 case JObject{Nil{}}:
195 True{}
196 case JObject{JMember{key, val} <> tail}:
197 Bool.and(valid_json(val), valid_json(JObject{tail}))