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