From 7a01b001ccc4a7bda3da92486903540e3f9754fd Mon Sep 17 00:00:00 2001 From: Joris Date: Thu, 13 Feb 2020 18:54:18 +0100 Subject: Set up bucklescript --- src/arrayUtils.ml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/arrayUtils.ml (limited to 'src/arrayUtils.ml') diff --git a/src/arrayUtils.ml b/src/arrayUtils.ml new file mode 100644 index 0000000..75319d8 --- /dev/null +++ b/src/arrayUtils.ml @@ -0,0 +1,8 @@ +let flatMap (f : 'a -> 'b option) (xs : 'a Js.Array.t) : 'b Js.Array.t = + xs |> Js.Array.map f + |> Js.Array.filter (fun maybe -> + match maybe with Some _ -> true | None -> false) + |> Js.Array.map (fun maybe -> + match maybe with + | Some x -> x + | None -> Js.Exn.raiseError "Unexpected None") -- cgit v1.2.3