irmin

Irmin, a distributed database that follows the same design principles as Git
IN THIS PACKAGE
Module Irmin . Json_tree

Parameters

module Store : sig ... end

Signature

include Contents.S with type t = Contents.json

Signature for store contents

type t = Contents.json

The type for user-defined contents.

val t : t Type.t
val merge : t option Merge.t

Merge function. Evaluates to `Conflict msg if the values cannot be merged properly. The arguments of the merge function can take None to mean that the key does not exists for either the least-common ancestor or one of the two merging points. The merge function returns None when the key's value should be deleted.

val to_concrete_tree : t -> Store.Tree.concrete
val of_concrete_tree : Store.Tree.concrete -> t
val get_tree : Store.tree -> Store.path -> t Lwt.t

Extract a json value from tree at the given key.

val set_tree : Store.tree -> Store.path -> t -> Store.tree Lwt.t

Project a json value onto a tree at the given key.

val get : Store.t -> Store.path -> t Lwt.t

Extract a json value from a store at the given key.

val set : Store.t -> Store.path -> t -> info:( unit -> Store.info ) -> unit Lwt.t

Project a json value onto a store at the given key.