-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathCore__Option.mjs
122 lines (104 loc) · 2.18 KB
/
Core__Option.mjs
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
// Generated by ReScript, PLEASE EDIT WITH CARE
import * as Curry from "rescript/lib/es6/curry.js";
import * as Caml_option from "rescript/lib/es6/caml_option.js";
import * as Core__Error from "./Core__Error.mjs";
function filter(opt, p) {
var p$1 = Curry.__1(p);
if (opt !== undefined && p$1(Caml_option.valFromOption(opt))) {
return opt;
}
}
function forEach(opt, f) {
var f$1 = Curry.__1(f);
if (opt !== undefined) {
return f$1(Caml_option.valFromOption(opt));
}
}
function getExn(x) {
if (x !== undefined) {
return Caml_option.valFromOption(x);
} else {
return Core__Error.panic("List.headExn: option is None");
}
}
function mapWithDefault(opt, $$default, f) {
var f$1 = Curry.__1(f);
if (opt !== undefined) {
return f$1(Caml_option.valFromOption(opt));
} else {
return $$default;
}
}
function map(opt, f) {
var f$1 = Curry.__1(f);
if (opt !== undefined) {
return Caml_option.some(f$1(Caml_option.valFromOption(opt)));
}
}
function flatMap(opt, f) {
var f$1 = Curry.__1(f);
if (opt !== undefined) {
return f$1(Caml_option.valFromOption(opt));
}
}
function getWithDefault(opt, $$default) {
if (opt !== undefined) {
return Caml_option.valFromOption(opt);
} else {
return $$default;
}
}
function orElse(opt, other) {
if (opt !== undefined) {
return opt;
} else {
return other;
}
}
function isSome(x) {
return x !== undefined;
}
function isNone(x) {
return x === undefined;
}
function eq(a, b, f) {
var f$1 = Curry.__2(f);
if (a !== undefined) {
if (b !== undefined) {
return f$1(Caml_option.valFromOption(a), Caml_option.valFromOption(b));
} else {
return false;
}
} else {
return b === undefined;
}
}
function cmp(a, b, f) {
var f$1 = Curry.__2(f);
if (a !== undefined) {
if (b !== undefined) {
return f$1(Caml_option.valFromOption(a), Caml_option.valFromOption(b));
} else {
return 1;
}
} else if (b !== undefined) {
return -1;
} else {
return 0;
}
}
export {
filter ,
forEach ,
getExn ,
mapWithDefault ,
map ,
flatMap ,
getWithDefault ,
orElse ,
isSome ,
isNone ,
eq ,
cmp ,
}
/* No side effect */