sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Val
provides base functions for node values.
type t = value
The type for node values.
val t : t Irmin.Type.t
type metadata = Metadata.t
The type for node metadata.
val metadata_t : metadata Irmin.Type.t
type hash = key
The type for keys.
val hash_t : hash Irmin.Type.t
type step = Path.step
The type for steps between nodes.
val step_t : step Irmin.Type.t
The type for either (node) keys or (contents) keys combined with their metadata.
val value_t : value Irmin.Type.t
list t
is the contents of t
. offset
and length
are used to paginate results.
caching
cache
regulates the caching behaviour regarding the node's internal data which may be lazily loaded from the backend, depending on the node implementation.
cache
defaults to true
which may greatly reduce the IOs and the runtime but may also increase the memory consumption.
cache = false
doesn't replace a call to clear
, it only prevents the storing of new data, it doesn't discard the existing one.
of_seq s
is the node n
such that seq n = s
.
seq t
is the contents of t
. offset
and length
are used to paginate results.
See caching for an explanation of the cache
parameter
val empty : t
empty
is the empty node.
val length : t -> int
length t
is the number of entries in t
.
hash_exn t
is the hash of t
.
Another way of computing it is Hash.Typed(Hash)(Node).hash t
which computes the pre-hash of t
before hashing it using Hash
. hash_exn
might be faster because the it may be optimised (e.g. it may use caching).
hash_exn t
is hash_exn ~force:true t
which is not expected to raise an exception. hash_exn ~force:false t
will raise Not_found
if the hash requires IOs to be computed.
val clear : t -> unit
Cleanup internal caches.
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.
See caching for an explanation of the cache
parameter
add t s v
is the node where find t v
is Some s
but is similar to t
otherwise.
remove t s
is the node where find t s
is None
but is similar to t
otherwise.
val default : metadata
default
is the default metadata value.
val proof_t : proof Irmin.Type.t
Some Node
implementations (like irmin-pack
's inodes) can represent a node as a set of nodes. One operation on such "high-level" node corresponds to a sequence of recursive calls to the underlying "lower-level" nodes. Note: theses effects
are not in the Lwt monad on purpose (so Tree.hash
and Tree.equal
are not in the Lwt monad as well).