summaryrefslogtreecommitdiff
path: root/lib/kDL.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kDL.ml')
-rw-r--r--lib/kDL.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/kDL.ml b/lib/kDL.ml
index a00d1ff..5f94557 100644
--- a/lib/kDL.ml
+++ b/lib/kDL.ml
@@ -5,13 +5,15 @@
(* extend & fix casing for ocaml-kdl *)
include Kdl
-let of_flow flow =
+let of_flow flow : (t, [> `ParseError of string]) result =
try
- Eio.Buf_read.parse_exn
+ match Eio.Buf_read.parse_exn
(fun buf -> Eio.Buf_read.take_all buf |> Kdl.of_string)
~max_size: max_int
flow
- |> Result.ok
+ with
+ | Ok doc -> Ok doc
+ | Error _ -> Error (`ParseError "KDL parse error")
with
| Kdl.Parse_error (msg, _) -> Error (`ParseError msg)