yieldr

0.1.2 • Public • Published

yieldr

NPM version Dependency Status Travis CI Coveralls

Installation

npm install yieldr

Usage

var yieldr = require('yieldr')
 
function* bar () {
  return Promise.resolve('bar')
}
 
yieldr(function* () {
  var foo = yield 'foo'
  var bar = yield bar()
 
  return foo + bar
}).then(function (res) {
  console.log(res) // 'foobar'
})

Yieldables

You can yield anything just like native yield.

yieldr(function* () {
  var foo = yield 'foo'
  var isTrue = yield true
  var zero = yield 0
})

But yieldr will try to resolve these types:

  • Promises
  • Generators and generator functions
var fs = require('mz/fs')
 
yieldr(function* () {
  var content = yield fs.readFile(FILE_PATH)
})

Note: there is a yield* expression in ECMAScript 6, and it's designed for delegating to another generator or iterable object.

Compatibility

yieldr requires Promise, you should use node >=0.11.9 or include a polyfill (try bluebird).

Contributors

Via GitHub

Package Sidebar

Install

npm i yieldr

Weekly Downloads

3

Version

0.1.2

License

MIT

Last publish

Collaborators

  • chrisyipw