jwoudenberg / fantasy-do

do notation for javascript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fantasy-do

NPM version Build status Dependencies

What is it? Take your pick:

  • do notation for fantasy-land javascript.
  • co for monads.
  • async/await for chainables.

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)
})

About

do notation for javascript


Languages

Language:JavaScript 100.0%