package datakit

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

Val provides base functions for node values.

Node values

type t = value

The type for node values.

type metadata = Metadata.t

The type for node metadata.

type contents = Contents.key

The type for contents keys.

type node = key

The type for node keys.

type step = Path.step

The type for steps between nodes.

type value = [
  1. | `Node of node
  2. | `Contents of contents * metadata
]

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

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

create l is a new node.

val list : t -> (step * value) list

list t is the contents of t.

val empty : t

empty is the empty node.

val is_empty : t -> bool

is_empty t is true iff t is empty.

val 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.

val update : t -> step -> value -> t

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

val remove : t -> step -> t

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

Value types

val t : t Irmin.Type.t

t is the value type for t.

val metadata_t : metadata Irmin.Type.t

metadata_t is the value type for metadata.

val contents_t : contents Irmin.Type.t

contents_t is the value type for contents.

val node_t : node Irmin.Type.t

node_t is the value type for node.

val step_t : step Irmin.Type.t

step_t is the value type for step.

val value_t : value Irmin.Type.t

value_t is the value type for value.