forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextensible_variant_test.js
115 lines (104 loc) · 2.02 KB
/
extensible_variant_test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// Generated CODE, PLEASE EDIT WITH CARE
'use strict';
var Caml_builtin_exceptions = require("../runtime/caml_builtin_exceptions");
var Mt = require("./mt");
var Str = {
0: "Extensible_variant_test.Str",
1: Caml_builtin_exceptions.get_id(),
length: 2,
tag: 248
};
var Int = {
0: "Extensible_variant_test.N.Int",
1: Caml_builtin_exceptions.get_id(),
length: 2,
tag: 248
};
var N = /* module */[Int];
var Int$1 = {
0: "Extensible_variant_test.Int",
1: Caml_builtin_exceptions.get_id(),
length: 2,
tag: 248
};
function to_int(x) {
if (x[0] === Str) {
return -1;
}
else if (x[0] === Int) {
return x[1];
}
else if (x[0] === Int$1) {
return x[2];
}
else {
throw [
Caml_builtin_exceptions.assert_failure,
[
"extensible_variant_test.ml",
16,
9
]
];
}
}
var suites_000 = /* tuple */[
"test_int",
function () {
return /* Eq */{
0: 3,
1: to_int([
Int,
3,
0
]),
length: 2,
tag: 0
};
}
];
var suites_001 = /* :: */[
/* tuple */[
"test_int2",
function () {
return /* Eq */{
0: 0,
1: to_int([
Int$1,
3,
0
]),
length: 2,
tag: 0
};
}
],
/* :: */[
/* tuple */[
"test_string",
function () {
return /* Eq */{
0: -1,
1: to_int([
Str,
"x"
]),
length: 2,
tag: 0
};
}
],
/* [] */0
]
];
var suites = /* :: */[
suites_000,
suites_001
];
Mt.from_pair_suites("extensible_variant_test.ml", suites);
exports.Str = Str;
exports.N = N;
exports.Int = Int$1;
exports.to_int = to_int;
exports.suites = suites;
/* Not a pure module */