Module Tea_app
type program
type ('flags, 'model, 'msg) program = {
type standardProgram
type ('flags, 'model, 'msg) standardProgram = {
type beginnerProgram
type ('model, 'msg) beginnerProgram = {
type pumpInterface
type ('model, 'msg) pumpInterface = {
type programInterface
type 'msg programInterface = < pushMsg : 'msg -> unit ; shutdown : unit -> unit ; getHtmlString : unit -> string > Js.t
val makeProgramInterface
val makeProgramInterface : pushMsg:( 'msg -> unit ) -> shutdown:( unit -> unit ) -> getHtmlString:( unit -> string ) -> 'msg programInterface
val programStateWrapper
val programStateWrapper : 'a -> ( 'msg Vdom.applicationCallbacks Stdlib.ref -> ( 'b, 'msg0 ) pumpInterface ) -> ( 'c -> 'msg1 Tea_cmd.t ) -> 'msg2 programInterface
val programLoop
val programLoop : ( 'a -> 'b -> 'c * 'd Tea_cmd.t ) -> ( 'e -> 'f Vdom.t ) -> ( 'g -> 'h Tea_sub.t ) -> 'i -> 'j Tea_cmd.t -> Web.Node.t option -> 'k Tea_cmd.applicationCallbacks Stdlib.ref -> ( 'l, 'm ) pumpInterface
val program
val program : ( 'flags, 'model, 'msg ) program -> Web.Node.t Js.null_undefined -> 'flags -> 'msg programInterface
val standardProgram
val standardProgram : ( 'flags, 'model, 'msg ) standardProgram -> Web.Node.t Js.null_undefined -> 'flags -> 'msg programInterface
val beginnerProgram
val beginnerProgram : ( 'model, 'msg ) beginnerProgram -> Web.Node.t Js.null_undefined -> unit -> 'msg programInterface
val map
val map : ( 'a -> 'b ) -> 'a Vdom.t -> 'b Vdom.t