package irmin-indexeddb

  1. Overview
  2. Docs

Private references.

Ref Store

include Irmin.RRW with type value = Commit.key with type key = branch_id

Reactive read-write stores

Reactive read-write stores are read-write stores with reactive capabilities.

include Irmin.RW with type value = Commit.key with type key = branch_id

Read-write stores

include Irmin.RO with type value = Commit.key with type key = branch_id

Read-only stores

type t

Type for stores.

type key = branch_id

Type for keys.

type value = Commit.key

Type for values.

val read : t -> key -> value option Lwt.t

Read a value from the store.

val read_exn : t -> key -> value Lwt.t

Same as read but raise Invalid_argument if the key does not exist.

val mem : t -> key -> bool Lwt.t

Check if a key exists.

val iter : t -> (key -> value Lwt.t -> unit Lwt.t) -> unit Lwt.t

iter t fn call the function fn on all t's keys and values.

val update : t -> key -> value -> unit Lwt.t

update t k v replaces the contents of k by v in t. If k is not already defined in t, create a fresh binding. Raise Invalid_argument if k is the empty path.

val compare_and_set : t -> key -> test:value option -> set:value option -> bool Lwt.t

compare_and_set t key ~test ~set sets key to set only if the current value of key is test and in that case returns true. If the current value of key is different, it returns false. None means that the value does not have to exist or is removed.

Note: The operation is guaranteed to be atomic.

val remove : t -> key -> unit Lwt.t

remove t k remove the key k in t.

type watch

The type of watch handlers.

val watch_key : t -> key -> ?init:value -> (value Irmin.diff -> unit Lwt.t) -> watch Lwt.t

watch_key t k ?init f adds f to the list of t's watch handlers for the key k and returns the watch handler to be used with unwatch. init is the optional initial value of the key.

val watch : t -> ?init:(key * value) list -> (key -> value Irmin.diff -> unit Lwt.t) -> watch Lwt.t

watch t ?init f adds f to the list of t's watch handlers and returns the watch handler to be used with unwatch. init is the optional initial values. It is more efficient to use watch_key to watch only a single given key.

val unwatch : t -> watch -> unit Lwt.t

unwatch t w removes w from t's watch handlers.

module Key : Irmin.Ref.S with type t = key

Base functions on keys.

module Val : Irmin.Hash.S with type t = value

Base functions on values.