Up

module Ir_view

: sig

In-memory partial views of the database, with lazy fetching.

#
module type S = sig
#
val create : ('a -> Ir_task.t) -> ('a -> t) Lwt.t
#
val rebase : 'a -> ('a -> t) -> into:('a -> t) -> unit Ir_merge.result Lwt.t
#
val rebase_exn : 'a -> ('a -> t) -> into:('a -> t) -> unit Lwt.t
#
type db
#
val of_path : ('a -> Ir_task.t) -> db -> key -> ('a -> t) Lwt.t
#
val update_path : 'a -> ('a -> db) -> key -> ('a -> t) -> unit Lwt.t
#
val rebase_path : 'a -> ('a -> db) -> key -> ('a -> t) -> unit Ir_merge.result Lwt.t
#
val rebase_path_exn : 'a -> ('a -> db) -> key -> ('a -> t) -> unit Lwt.t
#
val merge_path : 'a -> ('a -> db) -> key -> ('a -> t) -> unit Ir_merge.result Lwt.t
#
val merge_path_exn : 'a -> ('a -> db) -> key -> ('a -> t) -> unit Lwt.t
#
module Action : sig
#
type t = [
| `Read of key * value option
| `Write of key * value option
| `Rmdir of key
| `List of key * key list
]
include Tc.S0 with type t := t
#
val pretty : t -> string
#
val prettys : t list -> string
end
#
val actions : t -> Action.t list
end
#
module Make : functor (S : Ir_s.STORE) -> S with type db = S.t and type step = S.step and type value = S.value
end