package irmin-client

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

The batch API is used to have better control of when data is sent between the client and server when manipulating trees.

type store = t
type t = (path * [ `Contents of [ `Hash of hash | `Value of contents ] * metadata option | `Tree of Request_tree.t | `Remove ]) list

A batch is list of updates and their associated paths

val v : unit -> t

val () creates a new batch

val add_value : path -> ?metadata:metadata -> contents -> t -> t

add_value path ~metadata value batch will add value at path with associated metadata when batch is apply'd

val add_hash : path -> ?metadata:metadata -> hash -> t -> t

add_hash path ~metadata hash batch will add hash at path with associated metadata when batch is apply'd

val add_tree : path -> tree -> t -> t Lwt.t

add_tree path batch will add tree at path when batch is apply'd

Note: if tree has been modified locally, calls to the server may be made.

val remove : path -> t -> t

remove path batch will remove path when batch is apply'd

val apply : info:Info.f -> ?path:path -> store -> t -> commit_key Lwt.t

apply ~info ~path store batch applies batch to the subtree at path (defaults to the root) in store. The key of the commit is returned.

OCaml

Innovation. Community. Security.