File tree 3 files changed +29
-34
lines changed
3 files changed +29
-34
lines changed Original file line number Diff line number Diff line change 24
24
25
25
exception Error = JsError
26
26
27
- let internalAnyToExn = (any : 'a ): exn =>
28
- if Obj .magic (any ) && Js .typeof (Obj .magic (any )["RE_EXN_ID" ]) === "string" {
29
- any -> Obj .magic
30
- } else {
31
- {
32
- "RE_EXN_ID" : "JsError" ,
33
- "_1" : any ,
34
- }-> Obj .magic
35
- }
36
-
37
27
%%raw (` class RescriptError extends Error {
38
28
constructor (message ) {
39
29
super (message);
@@ -50,6 +40,15 @@ let internalFromExtension = (_ext: 'a): exn => {
50
40
%raw (` Object .assign (new RescriptError (_ext .RE_EXN_ID ), _ext)` )
51
41
}
52
42
43
+ let internalAnyToExn = (any : 'a ): exn =>
44
+ if Obj .magic (any ) && Js .typeof (Obj .magic (any )["RE_EXN_ID" ]) === "string" {
45
+ any -> Obj .magic
46
+ } else {
47
+ let exn = internalMakeExn ("JsError" )
48
+ Obj .magic (exn )["_1" ] = any
49
+ exn
50
+ }
51
+
53
52
let as_js_exn = exn =>
54
53
switch exn {
55
54
| Error (t ) => Some (t )
Original file line number Diff line number Diff line change @@ -4,17 +4,6 @@ import * as Caml_option from "./caml_option.js";
4
4
5
5
let $$Error = "JsError" ;
6
6
7
- function internalAnyToExn ( any ) {
8
- if ( any && typeof any . RE_EXN_ID === "string" ) {
9
- return any ;
10
- } else {
11
- return {
12
- RE_EXN_ID : "JsError" ,
13
- _1 : any
14
- } ;
15
- }
16
- }
17
-
18
7
class RescriptError extends Error {
19
8
constructor ( message ) {
20
9
super ( message ) ;
@@ -31,6 +20,15 @@ function internalFromExtension(_ext) {
31
20
return ( Object . assign ( new RescriptError ( _ext . RE_EXN_ID ) , _ext ) ) ;
32
21
}
33
22
23
+ function internalAnyToExn ( any ) {
24
+ if ( any && typeof any . RE_EXN_ID === "string" ) {
25
+ return any ;
26
+ }
27
+ let exn = new RescriptError ( "JsError" ) ;
28
+ exn . _1 = any ;
29
+ return exn ;
30
+ }
31
+
34
32
function as_js_exn ( exn ) {
35
33
if ( exn . RE_EXN_ID === $$Error ) {
36
34
return Caml_option . some ( exn . _1 ) ;
@@ -40,9 +38,9 @@ function as_js_exn(exn) {
40
38
41
39
export {
42
40
$$Error ,
43
- internalAnyToExn ,
44
41
internalMakeExn ,
45
42
internalFromExtension ,
43
+ internalAnyToExn ,
46
44
as_js_exn ,
47
45
}
48
46
/* Not a pure module */
Original file line number Diff line number Diff line change @@ -4,17 +4,6 @@ let Caml_option = require("./caml_option.js");
4
4
5
5
let $$Error = "JsError" ;
6
6
7
- function internalAnyToExn ( any ) {
8
- if ( any && typeof any . RE_EXN_ID === "string" ) {
9
- return any ;
10
- } else {
11
- return {
12
- RE_EXN_ID : "JsError" ,
13
- _1 : any
14
- } ;
15
- }
16
- }
17
-
18
7
class RescriptError extends Error {
19
8
constructor ( message ) {
20
9
super ( message ) ;
@@ -31,6 +20,15 @@ function internalFromExtension(_ext) {
31
20
return ( Object . assign ( new RescriptError ( _ext . RE_EXN_ID ) , _ext ) ) ;
32
21
}
33
22
23
+ function internalAnyToExn ( any ) {
24
+ if ( any && typeof any . RE_EXN_ID === "string" ) {
25
+ return any ;
26
+ }
27
+ let exn = new RescriptError ( "JsError" ) ;
28
+ exn . _1 = any ;
29
+ return exn ;
30
+ }
31
+
34
32
function as_js_exn ( exn ) {
35
33
if ( exn . RE_EXN_ID === $$Error ) {
36
34
return Caml_option . some ( exn . _1 ) ;
@@ -39,8 +37,8 @@ function as_js_exn(exn) {
39
37
}
40
38
41
39
exports . $$Error = $$Error ;
42
- exports . internalAnyToExn = internalAnyToExn ;
43
40
exports . internalMakeExn = internalMakeExn ;
44
41
exports . internalFromExtension = internalFromExtension ;
42
+ exports . internalAnyToExn = internalAnyToExn ;
45
43
exports . as_js_exn = as_js_exn ;
46
44
/* Not a pure module */
You can’t perform that action at this time.
0 commit comments