summaryrefslogtreecommitdiff
path: root/editor/actions/export.ml
diff options
context:
space:
mode:
Diffstat (limited to 'editor/actions/export.ml')
-rwxr-xr-xeditor/actions/export.ml50
1 files changed, 23 insertions, 27 deletions
diff --git a/editor/actions/export.ml b/editor/actions/export.ml
index 27c6a26..3c70bd3 100755
--- a/editor/actions/export.ml
+++ b/editor/actions/export.ml
@@ -2,35 +2,31 @@ module Js = Js_of_ocaml.Js
module App = Editor_app
module M = struct
-
type t = unit
- let process
- : t -> State.t -> State.t
- = fun _ state ->
-
- (* Save this as a json element. The text may contains UTF-16 characters,
- which will raise an error in the btoa function.
-
- As an easy solution, we convert them into UTF-8 through the native
- OCaml representation of string.
- *)
- let json = State.Storage.to_json ()
- |> Jstr.to_string (* Encode into UTF-8 *)
- |> Obj.magic (* Then type the element again as a string. *)
- in
- Elements.Transfert.send
- ~mime_type:(Jstr.v "application/json")
- ~filename:(Jstr.v "export.json")
- json;
-
- (* The function does not actually update the state, and return it
- unchanged *)
- state
-
+ let process : t -> State.t -> State.t =
+ fun _ state ->
+ (* Save this as a json element. The text may contains UTF-16 characters,
+ which will raise an error in the btoa function.
+
+ As an easy solution, we convert them into UTF-8 through the native
+ OCaml representation of string.
+ *)
+ let json =
+ State.Storage.to_json ()
+ |> Jstr.to_string (* Encode into UTF-8 *)
+ |> Obj.magic
+ (* Then type the element again as a string. *)
+ in
+ Elements.Transfert.send
+ ~mime_type:(Jstr.v "application/json")
+ ~filename:(Jstr.v "export.json")
+ json;
+
+ (* The function does not actually update the state, and return it
+ unchanged *)
+ state
end
(** Create a new element *)
-let create
- : unit -> App.event
- = fun () -> App.dispatch (module M) ()
+let create : unit -> App.event = fun () -> App.dispatch (module M) ()