package irmin-pack

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Make_internal.ValSource

include Irmin.Private.Node.S with type hash = hash with type metadata = Node.metadata with type step = Node.step

Node values

Sourcetype t

The type for node values.

Sourcetype metadata = Node.metadata

The type for node metadata.

Sourcetype hash = hash

The type for keys.

Sourcetype step = Node.step

The type for steps between nodes.

Sourcetype value = [
  1. | `Node of hash
  2. | `Contents of hash * metadata
]

The type for either (node) keys or (contents) keys combined with their metadata.

Sourceval v : (step * value) list -> t

create l is a new node.

Sourceval list : ?offset:int -> ?length:int -> t -> (step * value) list

list t is the contents of t. offset and length are used to paginate results.

Sourceval empty : t

empty is the empty node.

Sourceval is_empty : t -> bool

is_empty t is true iff t is empty.

Sourceval find : t -> step -> value option

find t s is the value associated with s in t.

A node can point to user-defined contents. The edge between the node and the contents is labeled by a step.

Sourceval add : t -> step -> value -> t

add t s v is the node where find t v is Some s but is similar to t otherwise.

Sourceval remove : t -> step -> t

remove t s is the node where find t s is None but is similar to t otherwise.

Value types

t is the value type for t.

Sourceval default : metadata

default is the default metadata value.

Sourceval metadata_t : metadata Irmin.Type.t

metadata_t is the value type for metadata.

hash_t is the value type for hash.

step_t is the value type for step.

value_t is the value type for value.

Sourceval pred : t -> [ `Node of hash | `Inode of hash | `Contents of hash ] list
Sourceval of_raw : (hash -> Raw.t option) -> Raw.t -> t
Sourceval to_raw : t -> Raw.t
Sourceval save : add:(hash -> Raw.t -> unit) -> mem:(hash -> bool) -> t -> unit
Sourceval hash : t -> hash
Sourceval stable : t -> bool
Sourceval length : t -> int
Sourceval index : depth:int -> step -> int
Sourceval integrity_check : t -> bool

Checks the integrity of an inode.

Sourcemodule Concrete : sig ... end
Sourceval to_concrete : t -> Concrete.t

to_concrete t is the concrete inode tree equivalent to t.

Sourceval of_concrete : Concrete.t -> (t, Concrete.error) result

of_concrete c is Ok t iff c and t are equivalent.

The result is Error e when a subtree tree of c has an integrity error.