Module Bindoj_openapi_schema_object.V3_1

val schema : string

schema URI. "https://json-schema.org/draft/2020-12/schema"

type t

OpenAPI Schema Object

type discriminator

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

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

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

type externalDocs

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

val externalDocs : ?description:string -> string -> externalDocs

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

val ref : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> string -> t

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

type string_format = [
  1. | `date_time
  2. | `time
  3. | `date
  4. | `duration
  5. | `email
  6. | `idn_email
  7. | `hostname
  8. | `idn_hostname
  9. | `ipv4
  10. | `ipv6
  11. | `uuid
  12. | `uri
  13. | `uri_reference
  14. | `iri
  15. | `iri_reference
  16. | `uri_template
  17. | `regex
  18. | `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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> ?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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> ?multipleOf:int -> ?minimum:int -> ?maximum:int -> ?exclusiveMinimum:int -> ?exclusiveMaximum:int -> 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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> ?multipleOf:float -> ?minimum:float -> ?maximum:float -> ?exclusiveMinimum:float -> ?exclusiveMaximum:float -> 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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> unit -> t

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

val null : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> unit -> t

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

val array : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> ?items:[ `T of t | `False ] -> ?prefixItems: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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> ?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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> 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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> 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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> 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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> 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 -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> unit -> t

Accept any valid JSON. If other fields are empty, the whole object will be converted to `true`.

https://json-schema.org/understanding-json-schema/basics.html#hello-world

val never : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> unit -> t

Reject any valid JSON. If other fields are empty, the whole object will be converted to `false`.

https://json-schema.org/understanding-json-schema/basics.html#hello-world

val tuple : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> t list -> t

Helper for OCaml: array, fixed length and specific types

val record : ?schema:string -> ?title:string -> ?description:string -> ?default:Kxclib.Json.jv -> ?examples:Kxclib.Json.jv list -> ?enum:Kxclib.Json.jv list -> ?const:Kxclib.Json.jv -> ?deprecated:bool -> ?readOnly:bool -> ?writeOnly:bool -> ?id:string -> ?anchor:string -> ?defs:(string * t) list -> ?discriminator:discriminator -> ?externalDocs:externalDocs -> ?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 to_json : t -> Kxclib.Json.jv