forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbelt_Option.js
127 lines (106 loc) · 2.35 KB
/
belt_Option.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
116
117
118
119
120
121
122
123
124
125
126
127
'use strict';
var Curry = require("./curry.js");
var Caml_option = require("./caml_option.js");
function forEachU(opt, f) {
if (opt !== undefined) {
return f(Caml_option.valFromOption(opt));
}
}
function forEach(opt, f) {
return forEachU(opt, Curry.__1(f));
}
function getExn(x) {
if (x !== undefined) {
return Caml_option.valFromOption(x);
}
throw {
RE_EXN_ID: "Not_found",
Error: new Error()
};
}
function mapWithDefaultU(opt, $$default, f) {
if (opt !== undefined) {
return f(Caml_option.valFromOption(opt));
} else {
return $$default;
}
}
function mapWithDefault(opt, $$default, f) {
return mapWithDefaultU(opt, $$default, Curry.__1(f));
}
function mapU(opt, f) {
if (opt !== undefined) {
return Caml_option.some(f(Caml_option.valFromOption(opt)));
}
}
function map(opt, f) {
return mapU(opt, Curry.__1(f));
}
function flatMapU(opt, f) {
if (opt !== undefined) {
return f(Caml_option.valFromOption(opt));
}
}
function flatMap(opt, f) {
return flatMapU(opt, Curry.__1(f));
}
function getWithDefault(opt, $$default) {
if (opt !== undefined) {
return Caml_option.valFromOption(opt);
} else {
return $$default;
}
}
function isSome(param) {
return param !== undefined;
}
function isNone(x) {
return x === undefined;
}
function eqU(a, b, f) {
if (a !== undefined) {
if (b !== undefined) {
return f(Caml_option.valFromOption(a), Caml_option.valFromOption(b));
} else {
return false;
}
} else {
return b === undefined;
}
}
function eq(a, b, f) {
return eqU(a, b, Curry.__2(f));
}
function cmpU(a, b, f) {
if (a !== undefined) {
if (b !== undefined) {
return f(Caml_option.valFromOption(a), Caml_option.valFromOption(b));
} else {
return 1;
}
} else if (b !== undefined) {
return -1;
} else {
return 0;
}
}
function cmp(a, b, f) {
return cmpU(a, b, Curry.__2(f));
}
exports.forEachU = forEachU;
exports.forEach = forEach;
exports.getExn = getExn;
exports.mapWithDefaultU = mapWithDefaultU;
exports.mapWithDefault = mapWithDefault;
exports.mapU = mapU;
exports.map = map;
exports.flatMapU = flatMapU;
exports.flatMap = flatMap;
exports.getWithDefault = getWithDefault;
exports.isSome = isSome;
exports.isNone = isNone;
exports.eqU = eqU;
exports.eq = eq;
exports.cmpU = cmpU;
exports.cmp = cmp;
/* No side effect */