sig
type json = Json.t
val page : Server.Doc.page
val pretty : Format.formatter -> Server.Data.json -> unit
module type S =
sig
type t
val syntax : Server.Syntax.t
val of_json : Server.Data.json -> Server.Data.S.t
val to_json : Server.Data.S.t -> Server.Data.json
end
module type Info =
sig
val page : Server.Doc.page
val name : string
val descr : Markdown.text
end
type 'a data = (module Server.Data.S with type t = 'a)
module type S_collection =
sig
type t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Collection :
functor (A : S) ->
sig
type t = A.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Junit :
sig
type t = unit
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jany :
sig
type t = json
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jbool :
sig
type t = bool
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jint :
sig
type t = int
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jfloat :
sig
type t = float
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jstring :
sig
type t = string
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jident :
sig
type t = string
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jtext :
sig
type t = json
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jmarkdown :
sig
type t = Markdown.text
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Joption :
functor (A : S) ->
sig
type t = A.t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jpair :
functor (A : S) (B : S) ->
sig
type t = A.t * B.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jtriple :
functor (A : S) (B : S) (C : S) ->
sig
type t = A.t * B.t * C.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
functor (A : S) ->
sig
type t = A.t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
functor (A : S) ->
sig
type t = A.t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Record :
sig
type 'a record
type 'a signature
type ('a, 'b) field
module type S =
sig
type r
type t = r record
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
val default : t
val has :
(Server.Data.Record.S.r, 'a) Server.Data.Record.field ->
t -> bool
val get :
(Server.Data.Record.S.r, 'a) Server.Data.Record.field -> t -> 'a
val set :
(Server.Data.Record.S.r, 'a) Server.Data.Record.field ->
'a -> t -> t
end
val signature :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text -> unit -> 'a Server.Data.Record.signature
val field :
'r Server.Data.Record.signature ->
name:string ->
descr:Markdown.text ->
?default:'a ->
'a Server.Data.data -> ('r, 'a) Server.Data.Record.field
val option :
'r Server.Data.Record.signature ->
name:string ->
descr:Markdown.text ->
'a Server.Data.data -> ('r, 'a option) Server.Data.Record.field
val publish :
'a Server.Data.Record.signature ->
(module Server.Data.Record.S with type r = 'a)
end
module Tag :
sig
type t = Syntax.tag
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Enum :
sig
type 'a dictionary
type 'a tag
type 'a prefix
val tag_name : 'a Server.Data.Enum.tag -> string
val dictionary :
page:Server.Doc.page ->
name:string ->
title:string ->
descr:Markdown.text -> unit -> 'a Server.Data.Enum.dictionary
val tag :
'a Server.Data.Enum.dictionary ->
name:string ->
?label:Markdown.text ->
descr:Markdown.text -> ?value:'a -> unit -> 'a Server.Data.Enum.tag
val prefix :
'a Server.Data.Enum.dictionary ->
prefix:string ->
?var:string ->
?label:Markdown.text ->
descr:Markdown.text -> unit -> 'a Server.Data.Enum.prefix
val instance :
'a Server.Data.Enum.prefix -> string -> 'a Server.Data.Enum.tag
val extends :
'a Server.Data.Enum.dictionary ->
'a Server.Data.Enum.prefix ->
name:string ->
?label:Markdown.text ->
descr:Markdown.text -> ?value:'a -> unit -> 'a Server.Data.Enum.tag
val tags : 'a Server.Data.Enum.dictionary -> Server.Data.Tag.t list
val page : 'a Server.Data.Enum.dictionary -> Server.Doc.page
val name : 'a Server.Data.Enum.dictionary -> string
val syntax : 'a Server.Data.Enum.dictionary -> Markdown.text
val publish :
'a Server.Data.Enum.dictionary ->
?tag:('a -> 'a Server.Data.Enum.tag) ->
unit -> (module Server.Data.S with type t = 'a)
end
module type Map =
sig
type 'a t
type key
val empty : 'a Server.Data.Map.t
val add :
Server.Data.Map.key ->
'a -> 'a Server.Data.Map.t -> 'a Server.Data.Map.t
val find : Server.Data.Map.key -> 'a Server.Data.Map.t -> 'a
end
module type Index =
sig
type t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module Static :
functor (M : Map) (I : Info) ->
sig
type t = M.key
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module Index :
functor (M : Map) (I : Info) ->
sig
type t = M.key
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module type IdentifiedType =
sig
type t
val id : Server.Data.IdentifiedType.t -> int
val page : Doc.page
val name : string
val descr : Markdown.text
end
module Identified :
functor (A : IdentifiedType) ->
sig
type t = A.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
exception InputError of string
val failure :
?json:Server.Data.json ->
('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
val failure_from_type_error : string -> Server.Data.json -> 'a
end