1
+ (* Copyright (C) 2017 Authors of BuckleScript
2
+ *
3
+ * This program is free software: you can redistribute it and/or modify
4
+ * it under the terms of the GNU Lesser General Public License as published by
5
+ * the Free Software Foundation, either version 3 of the License, or
6
+ * (at your option) any later version.
7
+ *
8
+ * In addition to the permissions granted to you by the LGPL, you may combine
9
+ * or link a "work that uses the Library" with a publicly distributed version
10
+ * of this file to produce a combined library or application, then distribute
11
+ * that combined work under the terms of your choosing, with no requirement
12
+ * to comply with the obligations normally placed on you by section 4 of the
13
+ * LGPL version 3 (or the corresponding section of a later version of the LGPL
14
+ * should you choose to use a later version).
15
+ *
16
+ * This program is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * along with this program; if not, write to the Free Software
23
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
24
+
25
+ (* * {!Belt.Result}
26
+
27
+ Utilities for result data type.
28
+ *)
29
+
30
+ type ('a, 'b) t =
31
+ | Ok of 'a
32
+ | Error of 'b
33
+
34
+ val getExn : ('a , 'b ) t -> 'a
35
+ val mapWithDefaultU : ('a , 'c ) t -> 'b -> ('a -> 'b [@ bs]) -> 'b
36
+ val mapWithDefault : ('a , 'c ) t -> 'b -> ('a -> 'b ) -> 'b
37
+ val mapU : ('a , 'c ) t -> ('a -> 'b [@ bs]) -> ('b , 'c ) t
38
+ val map : ('a , 'c ) t -> ('a -> 'b ) -> ('b , 'c ) t
39
+ val flatMapU : ('a , 'c ) t -> ('a -> ('b , 'c ) t [@ bs]) -> ('b , 'c ) t
40
+ val flatMap : ('a , 'c ) t -> ('a -> ('b , 'c ) t ) -> ('b , 'c ) t
41
+ val getWithDefault : ('a , 'b ) t -> 'a -> 'a
42
+ val isOk : ('a , 'b ) t -> bool
43
+ val isError : ('a , 'b ) t -> bool
44
+ val eqU : ('a , 'c ) t -> ('b , 'd ) t -> ('a -> 'b -> bool [@ bs]) -> bool
45
+ val eq : ('a , 'c ) t -> ('b , 'd ) t -> ('a -> 'b -> bool ) -> bool
46
+ val cmpU : ('a , 'c ) t -> ('b , 'd ) t -> ('a -> 'b -> int [@ bs]) -> int
47
+ val cmp : ('a , 'c ) t -> ('b , 'd ) t -> ('a -> 'b -> int ) -> int
0 commit comments