sig
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.field -> t -> bool
val get : (Server.Data.Record.S.r, 'a) Server.Data.field -> t -> 'a
val set :
(Server.Data.Record.S.r, 'a) Server.Data.field -> 'a -> t -> t
end
val signature :
page:Server.Doc.page ->
name:string -> descr:Markdown.text -> unit -> 'a Server.Data.signature
val field :
'r Server.Data.signature ->
name:string ->
descr:Markdown.text ->
?default:'a -> 'a Server.Data.data -> ('r, 'a) Server.Data.field
val option :
'r Server.Data.signature ->
name:string ->
descr:Markdown.text ->
'a Server.Data.data -> ('r, 'a option) Server.Data.field
val publish :
'a Server.Data.signature ->
(module Server.Data.Record.S with type r = 'a)
end