diff options
Diffstat (limited to 'editor/state/storage.mli')
-rwxr-xr-x | editor/state/storage.mli | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/editor/state/storage.mli b/editor/state/storage.mli new file mode 100755 index 0000000..5b7e0a0 --- /dev/null +++ b/editor/state/storage.mli @@ -0,0 +1,36 @@ +module Js = Js_of_ocaml.Js + +(** Provide a function for extracting the page id from the URL *) +val page_id + : unit -> Jstr.t option + +class type content = object + + method title + : Jstr.t Js.opt Js.readonly_prop + + method content + : Jv.t Js.opt Js.readonly_prop + + method date + : float Js.opt Js.readonly_prop + +end + +(** load f] will try to load the content associated with the given key. + + The function [f] is called to identified which is the appropriate page id. +*) +val load + : Jstr.t option -> content Js.t + +val save + : check:(content Js.t -> bool) -> content Js.t -> Jstr.t option -> (bool, Jv.Error.t) result + +(** Remove the page from the storage. *) +val delete + : (unit -> Jstr.t option) -> unit + +(** Collect all the keys to the existing pages *) +val get_ids + : unit -> Jstr.t list |