123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113(* yojson_conv: Preprocessing Module for Automated Yojson Conversions *)openPpxlibmoduleAttrs=Ppx_yojson_conv_expander.AttrsmoduleYojson_of=structmoduleE=Ppx_yojson_conv_expander.Yojson_ofletname="yojson_of"letstr_type_decl=Deriving.Generator.make_noargE.str_type_decl~attributes:[Attribute.TAttrs.default;Attribute.TAttrs.drop_default;Attribute.TAttrs.drop_if];;letsig_type_decl=Deriving.Generator.make_noargE.sig_type_declletextension~loc:_~path:_ctyp=E.core_typectypletderiver=Deriving.addname~str_type_decl~sig_type_decl~extensionlet()=Driver.register_transformationname~rules:[Context_free.Rule.extension(Extension.declarenameCore_typeAst_pattern.(ptyp__)(fun~loc:_~path:_ty->E.type_extensionty))];;endmoduleYojson_fields=structmoduleE=Ppx_yojson_conv_expander.Yojson_fieldsletname="yojson_fields"letstr_type_decl=Deriving.Generator.make_noargE.str_type_decl~attributes:[]letderiver=Deriving.addname~str_type_declendmoduleOf_yojson=structmoduleE=Ppx_yojson_conv_expander.Of_yojsonletname="of_yojson"letstr_type_decl=Deriving.Generator.make_noarg(E.str_type_decl~poly:false)~attributes:[Attribute.TAttrs.default];;letsig_type_decl=Deriving.Generator.make_noarg(E.sig_type_decl~poly:false)letextension~loc:_~pathctyp=E.core_type~pathctypletderiver=Deriving.addname~str_type_decl~sig_type_decl~extensionlet()=Driver.register_transformationname~rules:[Context_free.Rule.extension(Extension.declarenameCore_typeAst_pattern.(ptyp__)(fun~loc:_~path:_ty->E.type_extensionty))];;endmoduleOf_yojson_poly=structmoduleE=Ppx_yojson_conv_expander.Of_yojsonletstr_type_decl=Deriving.Generator.make_noarg(E.str_type_decl~poly:true)~attributes:[Attribute.TAttrs.default];;letsig_type_decl=Deriving.Generator.make_noarg(E.sig_type_decl~poly:true)letderiver=Deriving.add"of_yojson_poly"~sig_type_decl~str_type_declendletyojson_of=Yojson_of.deriverletyojson_fields_of=Yojson_fields.deriverletof_yojson=Of_yojson.deriverletof_yojson_poly=Of_yojson_poly.derivermoduleYojson_in_sig=structmoduleE=Ppx_yojson_conv_expander.Sig_yojsonletsig_type_decl=Deriving.Generator.make_noargE.sig_type_declletderiver=Deriving.add"ppx_yojson_conv: let this be a string that wouldn't parse if put in the source"~sig_type_decl;;endletyojson=Deriving.add_alias"yojson"[yojson_of;of_yojson]~sig_type_decl:[Yojson_in_sig.deriver];;letyojson_poly=Deriving.add_alias"yojson_poly"[yojson_of;of_yojson_poly]