Module type Incr_dom.App_intf.S_imperative

The interface for a basic, incrementally rendered application with the possibility for a mutable model.

module Model : sig ... end
module State : sig ... end
module Model_summary : sig ... end

Model_summary allows you to make the Model be mutable, but persist the necessary information to discover edge transitions in on_display. The old model is persisted as a summary after stabilization and is passed to the next invocation of on_display

module Action : sig ... end
val apply_action : Action.t ‑> Model.t ‑> State.t ‑> Model.t
val update_visibility : Model.t ‑> Model.t
val view : Model.t Incr.t ‑> inject:(Action.t ‑> Virtual_dom.Vdom.Event.t) ‑> Virtual_dom.Vdom.Node.t Incr.t
val on_startup : schedule:(Action.t ‑> unit) ‑> Model.t ‑> State.t Async_kernel.Deferred.t
val on_display : old:Model_summary.t ‑> Model.t ‑> State.t ‑> unit