No vendor extensions.

Sourceval vendor_encoder_functions : 'a -> unit
Sourceval maybe_pp_type_string : format:'a -> 'b -> 'c option
Sourceval maybe_pp_type_integer : format:'a -> 'b -> 'c option
Sourceval maybe_pp_type_number : format:'a -> 'b -> 'c option
Sourceval maybe_pp_type_boolean : format:'a -> 'b option
Sourceval maybe_pp_type_null : format:'a -> 'b option
Sourceval maybe_pp_type_any : format:'a -> 'b option
Sourceval maybe_pp_type_unit : 'a option
Sourceval maybe_pp_encoder_string : format:'a -> 'b -> 'c option
Sourceval maybe_pp_encoder_integer : format:'a -> 'b -> 'c option
Sourceval maybe_pp_encoder_number : format:'a -> 'b -> 'c option
Sourceval maybe_pp_encoder_boolean : format:'a -> 'b option
Sourceval maybe_pp_encoder_null : format:'a -> 'b option
Sourceval maybe_pp_encoder_any : format:'a -> 'b option
Sourceval maybe_pp_encoder_unit : 'a option
Sourceval primitive_never_optional : format:string option -> enum:Json_repr.any list option -> [ `PrimitiveAny | `PrimitiveBoolean | `PrimitiveInteger of Json_schema.numeric_specs | `PrimitiveNull | `PrimitiveNumber of Json_schema.numeric_specs | `PrimitiveString of Json_schema.string_specs ] -> bool

primitive_never_optional standard vendor ~format ~enum kind is always false unless overridden (by shadowing).

Sourceval maybe_caseize : 'a -> 'b option
Sourceval loosen_spec_enable_deepobject_array : bool

The OpenAPI 3.0.0 specification allows style = "deepObject" only when the JSON value is an object. Change this property to true to violate the OpenAPI specification and treat style = "deepObject" as equivalent to style = "form" when the JSON value is an array.

include DkCoder_Std.SCRIPT
Sourceval __init : DkCoder_Std.Context.t -> unit

__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:

  1. calling the __init function 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 __init returns to the caller.
  2. you can override the __init function by simply defining the __init idempotently. That will shadow the top __init and when the bottom __init is executed your __init will 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.

Sourceval __repl : DkCoder_Std.Context.t -> unit

__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:

  1. you can override the __repl function by simply defining the __repl idempotently. That will shadow the top __repl and when the bottom __repl is executed your __repl will be called instead of the do-nothing top __repl.
Sourceval __module_info : unit -> DkCoder_Std.ModuleInfo.t

The run-time module information for the script module.