Bonsai_web.Persistent_varval create :
(module Core.Sexpable with type t = 'a) ->
[ `Local_storage | `Session_storage ] ->
unique_id:string ->
default:'a ->
'a tA Persistent_var.t is similar to Bonsai.Var.t, but the contents of the var are persisted into either local storage or session storage.
Creating a persistent var requires that the type contained inside the var to be sexpable, so a first class module for the type should be passed in.
You have a choice between Local Storage and Session Storage for actually persisting things; The docs for which can be found here:
A unique_id is required for the storage. This value needs to be unique per application.
Finally, a fallback is required for when the value can't be found, or it can't be deserialized.
val update : 'a t -> f:('a -> 'a) -> unitval set : 'a t -> 'a -> unitval get : 'a t -> 'aval value : 'a t -> 'a Bonsai.Value.tval clear_persistence : 'a t -> unitThis will remove the value from localstorage or sessionstorage. (calling set or update afterwards will still store the value back again.)