OpenAPI data type pretty printer orchestrator.
OaPp has a functor Make where you give it a high-level description of what needs to be printed. OaPp then gives you a printer that will print complete documents from Schema Objects in an OpenAPI specification.
It is not suitable for printing documents from other objects in OpenAPI like Paths Objects.
Primitive and reference data types are never on the LHS of an equation. Instead, they are expanded when used on the RHS of an equation.
val generalized_array :
?aspecs:OaTypes.array_specs ->
singleton_items:bool ->
OaTypes.schema list ->
[> `List of OaTypes.schema | `Singleton of OaTypes.schema ] listval mk_pp_recursive_defns :
include_doc:bool ->
pp_doc:
(Restapis_o.Open__.Format.formatter ->
title:'a ->
description:'b ->
param_docs:'c list ->
see:(unit -> string) ->
unit) ->
first:bool Stdlib414Shadow.ref ->
title:'a ->
description:'b ->
path:[< `Field of string | `Index of int | `Next | `Star Field ] list ->
intro_first:string ->
intro_rest:string ->
(Restapis_o.Open__.Format.formatter -> 'd -> unit) ->
Restapis_o.Open__.Format.formatter ->
'd ->
unittype field = {field_path : Json_query.path;field_kind : field_kind;field_pp : unit Fmt.t;field_pp_doc : unit Fmt.t;
}include DkCoder_Std.SCRIPT
__init context is the entry point for running a script module. The DkCoder compiler will inject this function at the top and bottom of the script module. The top __init does nothing, while the bottom __init calls the prior __init.
That means:
- calling the
__initfunction guarantees that the script module is initialized; that is, all of the script module's side-effects (ex.let () = Format.printf "Hello world@.") are executed before the__initreturns to the caller. - you can override the
__initfunction by simply defining the__initidempotently. That will shadow the top__initand when the bottom__initis executed your__initwill be called instead of the do-nothing top__init.
Future versions of DkCoder will call __init in dependency order for all `You script modules. Your __init function may be called several times.
__repl context is the entry point for debugging a script module in a REPL. The DkCoder compiler will inject this function at the top and bottom of the script module. The top __repl does nothing, while the bottom __repl calls the prior __repl.
That means:
- you can override the
__replfunction by simply defining the__replidempotently. That will shadow the top__repland when the bottom__replis executed your__replwill be called instead of the do-nothing top__repl.
The run-time module information for the script module.

