package irmin-unix

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val empty : unit -> 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
type kinded_hash = [
  1. | `Contents of hash * metadata
  2. | `Node of hash
]
val kinded_hash_t : kinded_hash Irmin__.Type.t
val pruned : kinded_hash -> 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 error = [
  1. | `Dangling_hash of hash
  2. | `Pruned_hash of hash
]
type !'a or_error = ('a, error) Stdlib.result
exception Pruned_hash of {
  1. context : string;
  2. hash : hash;
}
module Contents : sig ... end
val mem : tree -> key -> bool Lwt.t
val find_all : tree -> key -> (contents * metadata) option Lwt.t
val length : tree -> ?cache:bool -> key -> 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 -> ?cache:bool -> 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. | `False of key -> 'a -> 'a Lwt.t
  2. | `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 : ?order:[ `Random of Stdlib.Random.State.t | `Sorted | `Undefined ] -> ?force:'a force -> ?cache:bool -> ?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:(key -> tree -> '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
module Proof : sig ... end
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 | `Pruned | `Value ] ]
module Env : sig ... end
val get_env : tree -> Env.t
val hash : ?cache:bool -> tree -> hash
val kinded_hash : ?cache:bool -> tree -> [ `Contents of hash * metadata | `Node of 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
val produce_proof : repo -> [ `Contents of hash * metadata | `Node of hash ] -> (tree -> (tree * 'a) Lwt.t) -> (Proof.tree Proof.t * 'a) Lwt.t
val verify_proof : Proof.tree Proof.t -> (tree -> (tree * 'a) Lwt.t) -> (tree * 'a, [ `Msg of string ]) Stdlib.result Lwt.t
val produce_stream : repo -> [ `Contents of hash * metadata | `Node of hash ] -> (tree -> (tree * 'a) Lwt.t) -> (Proof.stream Proof.t * 'a) Lwt.t
val verify_stream : Proof.stream Proof.t -> (tree -> (tree * 'a) Lwt.t) -> (tree * 'a, [ `Msg of string ]) Stdlib.result Lwt.t
OCaml

Innovation. Community. Security.