Maybe pattern matching
by dimitrs_papadimitriou
HTML
<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>
JavaScript
var Some = (v) => ({
map: (f) => Some(f(v)),
matchWith: pattern => pattern.some(v),
});
var None = () => ({
map: (f) => None(),
matchWith: pattern => pattern.none(v),
});
Some('Jim')
.map(x => x.toUpperCase())
.matchWith({
some: value => {
/*do your work here safely*/
console.log(value)
},
none: () => {
console.log("nothing")
/*deal with Maybe.none cases here*/
}
});