package irmin-unix

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val empty : tree
val of_contents : ?metadata:metadata -> contents -> tree
val of_node : node -> tree
type elt = [
  1. | `Contents of contents * metadata
  2. | `Node of node
]
val v : elt -> tree
val kind : tree -> key -> [ `Contents | `Node ] option Lwt.t
val is_empty : tree -> bool
val diff : tree -> tree -> (key * (contents * metadata) Irmin__.Diff.t) list Lwt.t
type !'a or_error = ('a, [ `Dangling_hash of hash ]) Stdlib.result
module Contents : sig ... end
val mem : tree -> key -> bool Lwt.t
val find_all : tree -> key -> (contents * metadata) option Lwt.t
val length : node -> int Lwt.t
val find : tree -> key -> contents option Lwt.t
val get_all : tree -> key -> (contents * metadata) Lwt.t
val list : tree -> ?offset:int -> ?length:int -> key -> (step * tree) list Lwt.t
val get : tree -> key -> contents Lwt.t
val add : tree -> key -> ?metadata:metadata -> contents -> tree Lwt.t
val update : tree -> key -> ?metadata:metadata -> (contents option -> contents option) -> tree Lwt.t
val remove : tree -> key -> tree Lwt.t
val mem_tree : tree -> key -> bool Lwt.t
val find_tree : tree -> key -> tree option Lwt.t
val get_tree : tree -> key -> tree Lwt.t
val add_tree : tree -> key -> tree -> tree Lwt.t
val update_tree : tree -> key -> (tree option -> tree option) -> tree Lwt.t
val merge : tree Irmin__.Merge.t
val destruct : tree -> [ `Contents of Contents.t * metadata | `Node of node ]
type marks
val empty_marks : unit -> marks
type !'a force = [
  1. | `And_clear
  2. | `False of key -> 'a -> 'a Lwt.t
  3. | `True
]
type uniq = [
  1. | `False
  2. | `Marks of marks
  3. | `True
]
type !'a node_fn = key -> step list -> 'a -> 'a Lwt.t
type depth = [
  1. | `Eq of int
  2. | `Ge of int
  3. | `Gt of int
  4. | `Le of int
  5. | `Lt of int
]
val depth_t : depth Irmin__.Type.t
val fold : ?force:'a force -> ?uniq:uniq -> ?pre:'a node_fn -> ?post:'a node_fn -> ?depth:depth -> ?contents:(key -> contents -> 'a -> 'a Lwt.t) -> ?node:(key -> node -> 'a -> 'a Lwt.t) -> tree -> 'a -> 'a Lwt.t
type stats = {
  1. nodes : int;
  2. leafs : int;
  3. skips : int;
  4. depth : int;
  5. width : int;
}
val stats_t : stats Irmin__.Type.t
val stats : ?force:bool -> tree -> stats Lwt.t
type concrete = [
  1. | `Contents of contents * metadata
  2. | `Tree of (step * concrete) list
]
val concrete_t : concrete Irmin__.Type.t
val of_concrete : concrete -> tree
val to_concrete : tree -> concrete Lwt.t
val clear : ?depth:int -> tree -> unit
type counters = {
  1. mutable contents_hash : int;
  2. mutable contents_find : int;
  3. mutable contents_add : int;
  4. mutable node_hash : int;
  5. mutable node_mem : int;
  6. mutable node_add : int;
  7. mutable node_find : int;
  8. mutable node_val_v : int;
  9. mutable node_val_find : int;
  10. mutable node_val_list : int;
}
val counters : unit -> counters
val dump_counters : unit Fmt.t
val reset_counters : unit -> unit
val inspect : tree -> [ `Contents | `Node of [ `Hash | `Map | `Value ] ]
val hash : tree -> hash
val of_hash : Repo.t -> [ `Contents of hash * metadata | `Node of hash ] -> tree option Lwt.t
val shallow : Repo.t -> [ `Contents of hash * metadata | `Node of hash ] -> tree
OCaml

Innovation. Community. Security.