Home

Awesome

fantasy-do

NPM version Build status Dependencies

What is it? Take your pick:

It allows you take take this code:

const div = (b === 0) ? Nothing() : Just(a / b)
const result = div(8, 2)
  .map(a => a + 2)
  .chain(b => div(b, 2))
}

And write it like this:

const mdo = require('fantasy-do')
const result = mdo(function * () {
  const a = yield div(8, 2)
  b = a + 2
  return div(b, 2)
})