sig
type 'a callback = ('a -> unit) -> unit
val register_value :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block ->
output:'a Server.Request.output ->
get:(unit -> 'a) ->
?add_hook:unit Server.States.callback -> unit -> Server.Request.signal
val register_state :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block ->
data:'a Server.Data.data ->
get:(unit -> 'a) ->
set:('a -> unit) ->
?add_hook:unit Server.States.callback -> unit -> Server.Request.signal
type 'a model
val model : unit -> 'a Server.States.model
val column :
model:'a Server.States.model ->
name:string ->
descr:Markdown.text ->
data:'b Server.Request.output -> get:('a -> 'b) -> unit -> unit
type 'a array
val reload : 'a Server.States.array -> unit
val update : 'a Server.States.array -> 'a -> unit
val remove : 'a Server.States.array -> 'a -> unit
val signal : 'a Server.States.array -> Server.Request.signal
val register_array :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block ->
key:('a -> string) ->
iter:'a Server.States.callback ->
?add_update_hook:'a Server.States.callback ->
?add_remove_hook:'a Server.States.callback ->
?add_reload_hook:unit Server.States.callback ->
'a Server.States.model -> 'a Server.States.array
end