package irmin-pack

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val t : t Irmin.Type.t
type contents_key = Hash.t
val contents_key_t : contents_key Irmin.Type.t
type node_key = Hash.t
val node_key_t : node_key Irmin.Type.t
type value = [
  1. | `Contents of contents_key * Schema.Metadata.t
  2. | `Node of node_key
]
val value_t : value Irmin.Type.t
val hash_t : Hash.t Irmin.Type.t
val of_list : (Schema.Path.step * value) list -> t
val list : ?offset:int -> ?length:int -> ?cache:bool -> t -> (Schema.Path.step * value) list
val of_seq : (unit -> (Schema.Path.step * value) Stdlib__Seq.node) -> t
val seq : ?offset:int -> ?length:int -> ?cache:bool -> t -> unit -> (Schema.Path.step * value) Stdlib__Seq.node
val empty : unit -> t
val is_empty : t -> bool
val length : t -> int
val hash_exn : ?force:bool -> t -> Hash.t
val clear : t -> unit
val find : ?cache:bool -> t -> Schema.Path.step -> value option
val add : t -> Schema.Path.step -> value -> t
val remove : t -> Schema.Path.step -> t
module Metadata : sig ... end
val with_handler : ((expected_depth:int -> node_key -> t option) -> expected_depth:int -> node_key -> t option) -> t -> t
val head : t -> [ `Inode of int * (int * Hash.t) list | `Node of (Schema.Path.step * value) list ]
val of_node : Node.value -> t
val merge : contents:contents_key option Irmin.Merge.t -> node:node_key option Irmin.Merge.t -> t Irmin.Merge.t
type proof = [
  1. | `Blinded of Hash.t
  2. | `Inode of int * (int * proof) list
  3. | `Values of (Schema.Path.step * value) list
]
val proof_t : proof Irmin.Type.t
val to_proof : t -> proof
val of_proof : depth:int -> proof -> t option