Module Bindoj_openapi_schema_object.V3

val schema : string

schema URI. "https://json-schema.org/draft-04/schema#"

type t

OpenAPI Schema Object

type discriminator

https://spec.openapis.org/oas/v3.0.3.html#discriminator-object

val discriminator : ?mapping:(string * string) list -> string -> discriminator

https://spec.openapis.org/oas/v3.0.3.html#discriminator-object

module External_documentation_object = Bindoj_openapi_external_documentation_object.V3

https://spec.openapis.org/oas/v3.0.3.html#external-documentation-object

val ref : string -> t

https://json-schema.org/understanding-json-schema/structuring.html#ref

type string_format = [
  1. | `date_time
  2. | `email
  3. | `hostname
  4. | `ipv4
  5. | `ipv6
  6. | `uri
  7. | `date
  8. | `byte
  9. | `binary
  10. | `password
]

https://json-schema.org/understanding-json-schema/reference/string.html#built-in-formats

val string : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> ?minLength:int -> ?maxLength:int -> ?pattern:string -> ?format:string_format -> unit -> t

https://json-schema.org/understanding-json-schema/reference/string.html

val integer : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> ?multipleOf:int -> ?minimum:int -> ?maximum:int -> ?exclusiveMinimum:bool -> ?exclusiveMaximum:bool -> unit -> t

https://json-schema.org/understanding-json-schema/reference/numeric.html#integer

val number : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> ?multipleOf:float -> ?minimum:float -> ?maximum:float -> ?exclusiveMinimum:bool -> ?exclusiveMaximum:bool -> unit -> t

https://json-schema.org/understanding-json-schema/reference/numeric.html#number

val boolean : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> unit -> t

https://json-schema.org/understanding-json-schema/reference/boolean.html

val null : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> unit -> t

https://json-schema.org/understanding-json-schema/reference/null.html

val array : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> ?items:[ `T of t | `TList of t list ] -> ?additionalItems:t list -> ?minItems:int -> ?maxItems:int -> unit -> t

https://json-schema.org/understanding-json-schema/reference/array.html

val obj : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> ?properties:(string * t) list -> ?required:string list -> ?additionalProperties:[ `T of t | `False ] -> unit -> t

https://json-schema.org/understanding-json-schema/reference/object.html

val allOf : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> t list -> t

https://json-schema.org/understanding-json-schema/reference/combining.html#allof

val anyOf : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> t list -> t

https://json-schema.org/understanding-json-schema/reference/combining.html#anyof

val oneOf : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> t list -> t

https://json-schema.org/understanding-json-schema/reference/combining.html#oneof

val not : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> t -> t

https://json-schema.org/understanding-json-schema/reference/combining.html#not

val any : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> unit -> t

Accept any valid JSON: https://json-schema.org/understanding-json-schema/basics.html#hello-world

val tuple : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> t list -> t

Helper for OCaml: array, fixed length and specific types

val record : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?example:Kxclib.Json.jv -> ?enum:Kxclib.Json.jv list -> ?nullable:bool -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?definitions:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:External_documentation_object.t -> ?additionalProperties:[ `T of t | `False ] -> (string * t) list -> t

Helper for OCaml: object, all fields are required and additional fields are disallowed

val option : t -> t

Helper for OCaml: option, nullable types

val map_ref : (string -> string) -> t -> t

Replaces all the appearances of ref s with ref (f s).

val pp : Kxclib.ppf -> t -> unit
val to_json : t -> Kxclib.Json.jv
val yojson_of_t : t -> Kxclib.Json.yojson