-
Notifications
You must be signed in to change notification settings - Fork 464
/
Copy pathfun_pattern_match.js
101 lines (88 loc) · 1.93 KB
/
fun_pattern_match.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
// Generated by ReScript, PLEASE EDIT WITH CARE
'use strict';
var Caml = require("../../lib/js/caml.js");
var Curry = require("../../lib/js/curry.js");
function f(param, v) {
return ((((param.x0 + param.x1 | 0) + param.x2 | 0) + param.x3 | 0) + param.x4 | 0) + v | 0;
}
function f2(param, param$1) {
return (((((param.x0 + param.x1 | 0) + param.x2 | 0) + param.x3 | 0) + param.x4 | 0) + param$1.a | 0) + param$1.b | 0;
}
function f3(param) {
var lhs = param.rank;
return function (param) {
var rhs = param.rank;
if (typeof lhs !== "object") {
lhs === "Uninitialized";
} else {
if (typeof rhs === "object") {
return Caml.int_compare(lhs._0, rhs._0);
}
rhs === "Uninitialized";
}
throw {
RE_EXN_ID: "Assert_failure",
_1: [
"fun_pattern_match.res",
33,
9
],
Error: new Error()
};
};
}
function f4(param) {
var lhs = param.rank;
return function (param) {
var rhs = param.rank;
if (typeof lhs !== "object") {
lhs === "Uninitialized";
} else {
if (typeof rhs === "object") {
return Caml.int_compare(lhs._0, rhs._0);
}
rhs === "Uninitialized";
}
throw {
RE_EXN_ID: "Assert_failure",
_1: [
"fun_pattern_match.res",
39,
9
],
Error: new Error()
};
};
}
var x = {
NAME: "A",
VAL: r
};
function r(param) {
return x;
}
var match = r(undefined);
var v = Curry._1(match.VAL, undefined);
console.log(v);
function handle_tuple(x, y) {
if (x !== 0) {
if (x === 1 && y === 2) {
return 3;
}
} else if (y === 1) {
return 2;
}
console.log([
x,
y
]);
return x + y | 0;
}
exports.f = f;
exports.f2 = f2;
exports.f3 = f3;
exports.f4 = f4;
exports.r = r;
exports.v = v;
exports.handle_tuple = handle_tuple;
/* match Not a pure module */