package bonsai

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type ('model, 'action) transition = schedule_event:(unit Ui_effect.t -> unit) -> 'model -> 'action -> 'model
type ('model, 'action) t =
  1. | Incremental : ('model, 'action) transition Ui_incr.t -> ('model, 'action) t
  2. | Impossible : ('action -> Core.Nothing.t) -> (_, 'action) t
  3. | Join : {
    1. incr : ('model1, 'action1) transition Ui_incr.t;
    2. witness : 'action2 -> Core.Nothing.t;
    3. map_model : 'model -> 'model1 * 'model2;
    4. unmap_model : ('model1 * 'model2) -> 'model;
    5. map_action : 'action -> ('action1, 'action2) Core.Either.t;
    } -> ('model, 'action) t
val incremental : ('model, 'action) transition Ui_incr.t -> ('model, 'action) t
val impossible : (_, Core.Nothing.t) t
val to_incremental : ('model, 'action) t -> ('model, 'action) transition Ui_incr.t
val merge : ('model1, 'action1) t -> ('model2, 'action2) t -> ('model1 * 'model2, ('action1, 'action2) Base.Either.t) t
val map : ('model_in, 'action_in) t -> f: (('model_in, 'action_in) transition -> ('model_out, 'action_out) transition) -> ('model_out, 'action_out) t
val iter_incremental : (_, _) t -> f:(Incremental.Packed.t -> unit) -> unit