Bindoj_apidir_shared
module Utils : sig ... end
type type_decl_collection = {
type_declarations : type_decl_info list;
type_decl_environment_wrappers : Bindoj_typedesc.Typed_type_desc.tdenv
Kxclib.endo
list;
}
TODO.future - temporary solution before the arrival of type cosmos
and type_decl_info = {
tdi_name : string;
tdi_doc : string;
tdi_decl : Bindoj_typedesc.Typed_type_desc.boxed_type_decl;
}
val string_of_http_status : http_status -> string
type ('reqty, 'respty) invocation_point_info = {
ip_name : string;
ip_urlpath : string;
ip_method : [ `get | `post ];
ip_request_body : 'reqty request_body option;
ip_responses : 'respty response_case list;
ip_deprecated : bool;
ip_summary : string option;
ip_description : string option;
ip_external_doc : external_doc option;
ip_usage_samples : ('reqty, 'respty) invp_usage_sample list;
}
and 't response = {
rs_media_type : 't media_type;
rs_description : string;
rs_headers : 't header list;
}
and 't response_case =
| Response_case : {
name : string;
doc : string;
samples : 'a Bindoj_runtime.with_doc list;
status : http_status;
response : 'a response;
pack : 'a -> 't;
unpack : 't -> 'a option;
} -> 't response_case
and 't media_type = {
mt_type : 't Bindoj_typedesc.Typed_type_desc.typed_type_decl;
mt_external_examples : (string * string) list;
}
and 't header = {
hd_name : string;
hd_description : string;
hd_required : bool;
hd_deprecated : bool;
hd_type_decl : 't Bindoj_typedesc.Typed_type_desc.typed_type_decl;
}
and ('reqty, 'respty) invp_usage_sample =
| Req_sample of 'reqty Bindoj_runtime.with_doc
| Resp_sample of ('respty * http_status) Bindoj_runtime.with_doc
| Usage_sample of ('reqty * 'respty * http_status) Bindoj_runtime.with_doc
val make_response_case :
?status:http_status ->
?name:string ->
?doc:string ->
?samples:'a Bindoj_runtime.with_doc list ->
pack:('a -> 'respty) ->
unpack:('respty -> 'a option) ->
'a Bindoj_typedesc.Typed_type_desc.typed_type_decl ->
'respty response_case
type untyped_invocation_point_info =
| Invp : (_, _) invocation_point_info -> untyped_invocation_point_info
val to_invocation_point_key :
(_, _) invocation_point_info ->
invocation_point_key
type invocation_point_collection = untyped_invocation_point_info list
type registry_info = invocation_point_collection * type_decl_collection
val tdenv_of_registry_info :
registry_info ->
Bindoj_typedesc.Typed_type_desc.tdenv
module type ApiDirManifest = sig ... end
module MergedApiDirManifest
(_ : ApiDirManifest)
(_ : ApiDirManifest) :
ApiDirManifest
module type RegistryInfo = sig ... end
module type MakeRegistryS = sig ... end
module MakeRegistry () : MakeRegistryS