| 
48 | 48 | type t<'res, 'err> = result<'res, 'err> = Ok('res) | Error('err)  | 
49 | 49 | 
 
  | 
50 | 50 | /**  | 
51 |  | -  `getExn(res)`: when `res` is `Ok(n)`, returns `n` when `res` is `Error(m)`, raise an exception  | 
 | 51 | +  `getExn(res, ~message=?)` returns `n` if `res` is `Ok(n)`, otherwise throws an exception with the message provided, or a generic message if no message was provided.  | 
52 | 52 | 
  | 
53 | 53 |   ```res example  | 
54 | 54 |   Result.getExn(Result.Ok(42)) == 42  | 
55 | 55 | 
  | 
56 | 56 |   switch Result.getExn(Error("Invalid data")) {  | 
57 |  | -  | exception Not_found => assert(true)  | 
 | 57 | +  | exception _ => assert(true)  | 
 | 58 | +  | _ => assert(false)  | 
 | 59 | +  }  | 
 | 60 | +
  | 
 | 61 | +  switch Result.getExn(Error("Invalid data"), ~message="was Error!") {  | 
 | 62 | +  | exception _ => assert(true) // Throws a JsError with the message "was Error!"  | 
58 | 63 |   | _ => assert(false)  | 
59 | 64 |   }  | 
60 | 65 |   ```  | 
61 | 66 | */  | 
62 | 67 | @deprecated("Use 'getOrThrow' instead")  | 
63 |  | -let getExn: result<'a, 'b> => 'a  | 
 | 68 | +let getExn: (result<'a, 'b>, ~message: string=?) => 'a  | 
64 | 69 | 
 
  | 
65 | 70 | /**  | 
66 |  | -  `getOrThrow(res)`: when `res` is `Ok(n)`, returns `n` when `res` is `Error(m)`, raise an exception  | 
 | 71 | +  `getOrThrow(res, ~message=?)` returns `n` if `res` is `Ok(n)`, otherwise throws an exception with the message provided, or a generic message if no message was provided.  | 
67 | 72 | 
  | 
68 | 73 |   ```res example  | 
69 | 74 |   Result.getOrThrow(Result.Ok(42)) == 42  | 
70 | 75 | 
  | 
71 | 76 |   switch Result.getOrThrow(Error("Invalid data")) {  | 
72 |  | -  | exception Not_found => assert(true)  | 
 | 77 | +  | exception _ => assert(true)  | 
 | 78 | +  | _ => assert(false)  | 
 | 79 | +  }  | 
 | 80 | +
  | 
 | 81 | +  switch Result.getOrThrow(Error("Invalid data"), ~message="was Error!") {  | 
 | 82 | +  | exception _ => assert(true) // Throws a JsError with the message "was Error!"  | 
73 | 83 |   | _ => assert(false)  | 
74 | 84 |   }  | 
75 | 85 |   ```  | 
76 | 86 | */  | 
77 |  | -let getOrThrow: result<'a, 'b> => 'a  | 
 | 87 | +let getOrThrow: (result<'a, 'b>, ~message: string=?) => 'a  | 
78 | 88 | 
 
  | 
79 | 89 | /**  | 
80 | 90 | `mapOr(res, default, f)`: When res is `Ok(n)`, returns `f(n)`, otherwise `default`.  | 
 | 
0 commit comments