1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556openPrintfopenUtiltypet={raw:Swagger_j.schema;reference_base:string;reference_root:Mod.t}letcreate~reference_base~reference_rootraw={raw;reference_base;reference_root}letreferencet=t.raw.refletreckind_to_stringt=letreference_base=t.reference_baseinletreference_root=t.reference_rootinmatcht.raw.refwith|Somer->Mod.reference_type~reference_base~reference_rootr|None->matchsomet.raw.kindwith|`String->"string"|`Number->"float"|`Integer->"int"|`Boolean->"bool"|`Object->letopenSwagger_jin(matcht.raw.additional_propertieswith|Someprops->(matchprops.ref,props.kindwith|Somer,_->sprintf"%s.Object.t"(Mod.reference_module~reference_base~reference_rootr)|None,Some`String->"Object.Of_strings.t"|None,Some`Number->"Object.Of_floats.t"|None,Some`Integer->"Object.Of_ints.t"|None,Some`Boolean->"Object.Of_bools.t"|None,_->sprintf"(string * %s) list"(kind_to_string(create~reference_base~reference_rootprops)))|None->failwith("Schema.kind_to_string: object without "^"additional_properties"))|`Array->letopenSwagger_jinmatcht.raw.itemswith|Somes->lets=create~reference_base~reference_rootsinkind_to_strings^" list"|None->failwith("Schema.kind_to_string: array type must have an "^"'items' field")letto_stringt=letreference_base=t.reference_baseinletreference_root=t.reference_rootinmatcht.raw.refwith|Somer->Mod.reference_type~reference_base~reference_rootr|None->kind_to_stringt