sig
type 'a or_error = ('a, exn) Result.result
type path = string
type t = {
name : string;
get : string -> string option Maki_storage.or_error Lwt.t;
set : string -> string -> unit Maki_storage.or_error Lwt.t;
remove : string -> unit Lwt.t;
fold : 'a. f:('a -> string * string -> 'a Lwt.t) -> x:'a -> 'a Lwt.t;
flush_cache : unit -> unit;
}
val name : Maki_storage.t -> string
val get :
Maki_storage.t -> string -> string option Maki_storage.or_error Lwt.t
val get_exn : Maki_storage.t -> string -> string option Lwt.t
val find : Maki_storage.t -> string -> string Lwt.t
val set :
Maki_storage.t -> string -> string -> unit Maki_storage.or_error Lwt.t
val set_exn : Maki_storage.t -> string -> string -> unit Lwt.t
val remove : Maki_storage.t -> string -> unit Lwt.t
val fold :
Maki_storage.t ->
f:('a -> string * string -> 'a Lwt.t) -> x:'a -> 'a Lwt.t
val flush_cache : Maki_storage.t -> unit
val none : Maki_storage.t
val default : ?dir:Maki_storage.path -> unit -> Maki_storage.t Lwt.t
val set_default : Maki_storage.t -> unit
val get_default : unit -> Maki_storage.t
end