Schmodule Json_schema : sig ... endmodule Constraint = Json_schema.Constraintmodule Free : sig ... endmodule Sig : sig ... endmodule File : sig ... endtype ('o, 'a) field = {name : string;doc : string;codec : 'a t;default : 'a option;get : 'o -> 'a;omit : 'a -> bool;}and 'a union_case = | Case : {tag : string;doc : string;codec : 'b t;inject : 'b -> 'a;project : 'a -> 'b option;} -> 'a union_casea prism like structure for union cases, the inject and project functions are used to convert between the case payload and the union type
*)and _ t = | Str : string base_map -> string t| Password : string base_map -> string t| Int : int base_map -> int t| Int32 : int32 base_map -> int32 t| Int64 : int64 base_map -> int64 t| Bool : {} -> bool t| Float : float base_map -> float t| Double : float base_map -> float t| File : File.t t| Option : 'a t -> 'a option t| List : {doc : string;item : 'a t;constraint_ : 'a list Constraint.t option;} -> 'a list t| Object : {kind : string;doc : string;unknown : unknown_handling;members : ('o fieldk, 'o) Free.t;} -> 'o t| Union : {doc : string;discriminator : string;cases : 'a union_case list;} -> 'a t| Rec : 'a t Stdlib.Lazy.t -> 'a t| Iso : {fwd : 'b -> ('a, string list) Stdlib.result;bwd : 'a -> 'b;repr : 'b t;} -> 'a tval error : string -> decode_errorval errors : string list -> decode_error listval in_field : string -> decode_error list -> decode_error listval error_to_pair : decode_error -> string * stringval type_name : 'a t -> stringval format_name : 'a t -> string optionval doc : 'a t -> stringval with_ :
?constraint_:'a Constraint.t ->
?doc:string ->
?discriminator:string ->
'a t ->
'a tval is_object_codec : 'a t -> boolval string : string tval password : string tval bool : bool tval int : int tval int32 : int32 tval int64 : int64 tval float : float tval double : float tval list :
?doc:string ->
?constraint_:'a list Constraint.t ->
'a t ->
'a list tmodule Object : sig ... endmodule Union : sig ... endmodule Validation : sig ... endval mem_exact : mem_lookupval mem_ci : mem_lookupmodule Json : sig ... endval to_json_schema : ?draft:Json_schema.Draft.t -> 'a t -> Json_schema.t