maeby
v2.0.0
Published
The maybe monad in JS
Downloads
4
Readme
maeby
the maybe monad - in JS - with some adornments
about
This is mostly just a fun project to learn more about monads. The exposed interface tries to stick closely to a textbook monad interface, but adds a bit of convenience to accommodate the syntax and semantics of JS.
installation
$ npm add maeby
# or
$ yarn add maeby
example
import { maybe, just, nothing } from 'maeby'
const flakyCaps = name =>
Math.random() > 0.5 ? name.toUpperCase() : null
maybe(flakyCaps('hey'))
.bind(curtGreeting => `${curtGreeting}! how's it goin?`)
// ^ equivalent to:
// .bind(curtGreeting => just(`${curtGreeting}! how's it goin?`))
.unwrap()
// ^ convert back to the plain unwrapped JS value