Note_brr_legacy.Store
Persistent storage.
Persisent key-value store implemented over webstorage. Safe if no one tampers with the storage outside of the program.
XXX.
val key : ?ns:Jstr.t -> unit -> 'a key
key ~ns ()
is a new storage key in namespace ns
. If ns
is unspecified, the key lives in a global namespace.
Warning. Reordering invocations of key
in the same namespace will most of the time corrupt existing storage. This means that all key
calls should always be performed at initialization time. Store.force_version
can be used to easily version your store and aleviate this problem.
In the functions below scope
defaults to `Persist
.
get k
is k
's mapping. If absent
is provided and m
has not binding for k
, absent
is returned.
val clear : ?scope:scope -> unit -> unit
clear ()
, clears all mapping.
val ev : unit Note.event
ev
fires on storage changes. FIXME provide something sensitive, e.g. key watching.