1234567891011121314151617181920212223(** JSON Schema representation.
A schema MUST be an object or a boolean. *)typet=|Boolofbool|ObjofYojson.Safe.tletof_json(j:Yojson.Safe.t)=matchjwith|`Boolb->Ok(Boolb)|`Assoc_->Ok(Objj)|_->Error"schema must be an object or a boolean"letkeywordkey=function|Bool_->None|Obj(`Assocpairs)->List.assoc_optkeypairs|Obj_->Noneletkeywords=function|Bool_->[]|Obj(`Assocpairs)->List.mapfstpairs|Obj_->[]