package incr_dom
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  A library for building dynamic webapps, using Js_of_ocaml
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      v0.17.0.tar.gz
    
    
        
    
  
  
  
    
  
        sha256=a3a9ef135edd2039b5e771dfd9461ff2bbae55e2611af0e81c9577898314a76f
    
    
  doc/incr_dom.ui_incr/Ui_incr/Map/index.html
Module Ui_incr.MapSource
All Incr_map functions take an optional instrumentation parameter that has type Instrumentation.t. A value of this type is a record containing a function which is polymorphic over a universally-quantified type 'a. This function is passed a unit -> 'a function, which must be immediately executed, and the result of which must be returned.
Source
val of_set : 
  ?instrumentation:Instrumentation.t ->
  ('k, 'cmp) Core.Set.t Incr.t ->
  ('k, unit, 'cmp) Core.Map.t Incr.tSource
val filter_mapi : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v1 -> 'v2 option) ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val mapi : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v1 -> 'v2) ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val filter_map : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:('v1 -> 'v2 option) ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val map : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:('v1 -> 'v2) ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val filter_mapi' : 
  ?instrumentation:Instrumentation.t ->
  ?cutoff:'v1 Incr.Cutoff.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v1 Incr.t -> 'v2 option Incr.t) ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val mapi' : 
  ?instrumentation:Instrumentation.t ->
  ?cutoff:'v1 Incr.Cutoff.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v1 Incr.t -> 'v2 Incr.t) ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val filter_map' : 
  ?instrumentation:Instrumentation.t ->
  ?cutoff:'v1 Incr.Cutoff.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:('v1 Incr.t -> 'v2 option Incr.t) ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val map' : 
  ?instrumentation:Instrumentation.t ->
  ?cutoff:'v1 Incr.Cutoff.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:('v1 Incr.t -> 'v2 Incr.t) ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val partition_mapi : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v1 -> ('v2, 'v3) Core.Either.t) ->
  (('k, 'v2, 'cmp) Core.Map.t * ('k, 'v3, 'cmp) Core.Map.t) Incr.tSource
val partition_mapi' : 
  ?instrumentation:Instrumentation.t ->
  ?cutoff:'v1 Incr.Cutoff.t ->
  ?data_equal:('v1 -> 'v1 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v1 Incr.t -> ('v2, 'v3) Core.Either.t Incr.t) ->
  (('k, 'v2, 'cmp) Core.Map.t * ('k, 'v3, 'cmp) Core.Map.t) Incr.tSource
val unordered_fold : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ?update:(key:'k -> old_data:'v -> new_data:'v -> 'acc -> 'acc) ->
  ?specialized_initial:(init:'acc -> ('k, 'v, 'cmp) Core.Map.t -> 'acc) ->
  ?finalize:('acc -> 'acc) ->
  ?revert_to_init_when_empty:bool ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  init:'acc ->
  add:(key:'k -> data:'v -> 'acc -> 'acc) ->
  remove:(key:'k -> data:'v -> 'acc -> 'acc) ->
  'acc Incr.tSource
val unordered_fold_with_extra : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ?extra_equal:('extra -> 'extra -> bool) ->
  ?update:(key:'k -> old_data:'v -> new_data:'v -> 'acc -> 'extra -> 'acc) ->
  ?specialized_initial:(init:'acc -> ('k, 'v, 'e) Core.Map.t -> 'extra -> 'acc) ->
  ?finalize:('acc -> 'acc) ->
  ?revert_to_init_when_empty:bool ->
  ('k, 'v, 'e) Core.Map.t Incr.t ->
  'extra Incr.t ->
  init:'acc ->
  add:(key:'k -> data:'v -> 'acc -> 'extra -> 'acc) ->
  remove:(key:'k -> data:'v -> 'acc -> 'extra -> 'acc) ->
  extra_changed:
    (old_extra:'extra ->
      new_extra:'extra ->
      input:('k, 'v, 'e) Core.Map.t ->
      'acc ->
      'acc) ->
  'acc Incr.tSource
val cutoff : 
  ?instrumentation:Instrumentation.t ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  cutoff:'v Incremental.Cutoff.t ->
  ('k, 'v, 'cmp) Core.Map.t Incr.tSource
val mapi_count : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k1, 'v, 'cmp1) Core.Map.t Incr.t ->
  comparator:('k2, 'cmp2) Core.Comparator.Module.t ->
  f:(key:'k1 -> data:'v -> 'k2) ->
  ('k2, int, 'cmp2) Core.Map.t Incr.tSource
val map_count : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k1, 'v, 'cmp1) Core.Map.t Incr.t ->
  comparator:('k2, 'cmp2) Core.Comparator.Module.t ->
  f:('v -> 'k2) ->
  ('k2, int, 'cmp2) Core.Map.t Incr.tSource
val mapi_min : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('r, 'b) Core.Comparator.Module.t ->
  f:(key:'k -> data:'v -> 'r) ->
  'r option Incr.tSource
val mapi_max : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('r, 'b) Core.Comparator.Module.t ->
  f:(key:'k -> data:'v -> 'r) ->
  'r option Incr.tSource
val map_min : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('r, 'b) Core.Comparator.Module.t ->
  f:('v -> 'r) ->
  'r option Incr.tSource
val map_max : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('r, 'b) Core.Comparator.Module.t ->
  f:('v -> 'r) ->
  'r option Incr.tSource
val min_value : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('v, 'b) Core.Comparator.Module.t ->
  'v option Incr.tSource
val max_value : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('v, 'b) Core.Comparator.Module.t ->
  'v option Incr.tSource
val mapi_bounds : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('r, 'b) Core.Comparator.Module.t ->
  f:(key:'k -> data:'v -> 'r) ->
  ('r * 'r) option Incr.tSource
val map_bounds : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('r, 'b) Core.Comparator.Module.t ->
  f:('v -> 'r) ->
  ('r * 'r) option Incr.tSource
val value_bounds : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  comparator:('v, 'b) Core.Comparator.Module.t ->
  ('v * 'v) option Incr.tSource
val merge : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal_left:('v1 -> 'v1 -> bool) ->
  ?data_equal_right:('v2 -> 'v2 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> ('v1, 'v2) Core.Map.Merge_element.t -> 'v3 option) ->
  ('k, 'v3, 'cmp) Core.Map.t Incr.tSource
val merge_both_some : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal_left:('v1 -> 'v1 -> bool) ->
  ?data_equal_right:('v2 -> 'v2 -> bool) ->
  ?out_equal:('v3 -> 'v3 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> 'v1 -> 'v2 -> 'v3) ->
  ('k, 'v3, 'cmp) Core.Map.t Incr.tSource
val merge_disjoint : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  ('k, 'v, 'cmp) Core.Map.t Incr.tSource
val unzip : 
  ?instrumentation:Instrumentation.t ->
  ?left_result_equal:('v1 -> 'v1 -> bool) ->
  ?right_result_equal:('v2 -> 'v2 -> bool) ->
  ('k, 'v1 * 'v2, 'cmp) Core.Map.t Incr.t ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t * ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val unzip_mapi : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ?left_result_equal:('v1 -> 'v1 -> bool) ->
  ?right_result_equal:('v2 -> 'v2 -> bool) ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v -> 'v1 * 'v2) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t * ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val unzip_mapi' : 
  ?instrumentation:Instrumentation.t ->
  ?cutoff:'v Incr.Cutoff.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v Incr.t -> 'v1 Incr.t * 'v2 Incr.t) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t * ('k, 'v2, 'cmp) Core.Map.t Incr.tSource
val merge' : 
  ?instrumentation:Instrumentation.t ->
  ?cutoff:('v1, 'v2) Core.Map.Merge_element.t Incr.Cutoff.t ->
  ?data_equal_left:('v1 -> 'v1 -> bool) ->
  ?data_equal_right:('v2 -> 'v2 -> bool) ->
  ('k, 'v1, 'cmp) Core.Map.t Incr.t ->
  ('k, 'v2, 'cmp) Core.Map.t Incr.t ->
  f:(key:'k -> ('v1, 'v2) Core.Map.Merge_element.t Incr.t -> 'v3 option Incr.t) ->
  ('k, 'v3, 'cmp) Core.Map.t Incr.tSource
val join : 
  ?instrumentation:Instrumentation.t ->
  ('k, 'v Incr.t, 'cmp) Core.Map.t Incr.t ->
  ('k, 'v, 'cmp) Core.Map.t Incr.tSource
val separate : 
  ?instrumentation:Instrumentation.t ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  data_equal:('v -> 'v -> bool) ->
  ('k, 'v Incr.t, 'cmp) Core.Map.t Incr.tSource
val keys : 
  ?instrumentation:Instrumentation.t ->
  ('k, 'v, 'c) Core.Map.t Incr.t ->
  ('k, 'c) Core.Set.t Incr.tSource
val rank : 
  ?instrumentation:Instrumentation.t ->
  ('k, 'v, 'cmp) Base.Map.t Incr.t ->
  'k Incr.t ->
  int option Incr.tSource
val subrange : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  ('k Core.Maybe_bound.As_lower_bound.t * 'k Core.Maybe_bound.As_upper_bound.t)
    option
    Incr.t ->
  ('k, 'v, 'cmp) Core.Map.t Incr.tSource
val subrange_by_rank : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  (int Core.Maybe_bound.As_lower_bound.t
   * int Core.Maybe_bound.As_upper_bound.t)
    Incr.t ->
  ('k, 'v, 'cmp) Core.Map.t Incr.tSource
val rekey : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k1, 'v, 'cmp1) Core.Map.t Incr.t ->
  comparator:('k2, 'cmp2) Core.Comparator.Module.t ->
  f:(key:'k1 -> data:'v -> 'k2) ->
  ('k2, 'v, 'cmp2) Core.Map.t Incr.tSource
val index_byi : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('inner_key, 'v, 'inner_cmp) Core.Map.t Incr.t ->
  comparator:('outer_key, 'outer_cmp) Core.Comparator.Module.t ->
  index:(key:'inner_key -> data:'v -> 'outer_key option) ->
  ('outer_key, ('inner_key, 'v, 'inner_cmp) Core.Map.t, 'outer_cmp) Core.Map.t
    Incr.tSource
val index_by : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('inner_key, 'v, 'inner_cmp) Core.Map.t Incr.t ->
  comparator:('outer_key, 'outer_cmp) Core.Comparator.Module.t ->
  index:('v -> 'outer_key option) ->
  ('outer_key, ('inner_key, 'v, 'inner_cmp) Core.Map.t, 'outer_cmp) Core.Map.t
    Incr.tSource
val unordered_fold_nested_maps : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ?revert_to_init_when_empty:bool ->
  ?update:
    (outer_key:'outer_key ->
      inner_key:'inner_key ->
      old_data:'v ->
      new_data:'v ->
      'acc ->
      'acc) ->
  ('outer_key, ('inner_key, 'v, 'inner_cmp) Core.Map.t, 'outer_cmp) Core.Map.t
    Incr.t ->
  init:'acc ->
  add:(outer_key:'outer_key -> inner_key:'inner_key -> data:'v -> 'acc -> 'acc) ->
  remove:
    (outer_key:'outer_key -> inner_key:'inner_key -> data:'v -> 'acc -> 'acc) ->
  'acc Incr.tSource
val transpose : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k2, 'k2_cmp) Core.Comparator.Module.t ->
  ('k1, ('k2, 'v, 'k2_cmp) Core.Map.t, 'k1_cmp) Core.Map.t Incr.t ->
  ('k2, ('k1, 'v, 'k1_cmp) Core.Map.t, 'k2_cmp) Core.Map.t Incr.tSource
val collapse : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('outer_key, ('inner_key, 'v, 'inner_cmp) Core.Map.t, 'outer_cmp) Core.Map.t
    Incr.t ->
  comparator:('inner_key, 'inner_cmp) Core.Comparator.Module.t ->
  ('outer_key * 'inner_key,
    'v,
    ('outer_cmp, 'inner_cmp) Core.Tuple2.comparator_witness)
    Core.Map.t
    Incr.tSource
val collapse_by : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('outer_key, ('inner_key, 'v, 'inner_cmp) Core.Map.t, 'outer_cmp) Core.Map.t
    Incr.t ->
  merge_keys:('outer_key -> 'inner_key -> 'combined_key) ->
  comparator:('combined_key, 'combined_cmp) Core.Comparator.Module.t ->
  ('combined_key, 'v, 'combined_cmp) Core.Map.t Incr.tSource
val expand : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('outer_key * 'inner_key, 'v, 'tuple_cmp) Core.Map.t Incr.t ->
  outer_comparator:('outer_key, 'outer_cmp) Core.Comparator.Module.t ->
  inner_comparator:('inner_key, 'inner_cmp) Core.Comparator.Module.t ->
  ('outer_key, ('inner_key, 'v, 'inner_cmp) Core.Map.t, 'outer_cmp) Core.Map.t
    Incr.tSource
val counti : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v -> bool) ->
  int Incr.tSource
val count : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('a, 'v, 'b) Core.Map.t Incr.t ->
  f:('v -> bool) ->
  int Incr.tSource
val for_alli : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v -> bool) ->
  bool Incr.tSource
val for_all : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('a, 'v, 'b) Core.Map.t Incr.t ->
  f:('v -> bool) ->
  bool Incr.tSource
val existsi : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'a) Core.Map.t Incr.t ->
  f:(key:'k -> data:'v -> bool) ->
  bool Incr.tSource
val exists : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('a, 'v, 'b) Core.Map.t Incr.t ->
  f:('v -> bool) ->
  bool Incr.tSource
val sum : 
  ?instrumentation:Instrumentation.t ->
  ?data_equal:('v -> 'v -> bool) ->
  ('a, 'v, 'b) Core.Map.t Incr.t ->
  (module Abstract_algebra.Commutative_group.Without_sexp with type t = 'u) ->
  f:('v -> 'u) ->
  'u Incr.tSource
val observe_changes_exn : 
  ?data_equal:('v -> 'v -> bool) ->
  ('k, 'v, 'cmp) Core.Map.t Incr.t ->
  f:(('k, 'v) Core.Map.Symmetric_diff_element.t -> unit) ->
  unit sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >