node/deps/npm/node_modules/iferr
Rebecca Turner 507fc53e37 deps: upgrade npm to 3.3.10
PR-URL: https://github.com/nodejs/node/pull/3599
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-11-02 14:25:04 -05:00
..
test deps: upgrade npm to 3.3.6 2015-10-22 13:56:09 -04:00
.npmignore deps: upgrade npm to 3.3.6 2015-10-22 13:56:09 -04:00
index.coffee deps: upgrade npm to 3.3.6 2015-10-22 13:56:09 -04:00
index.js deps: upgrade npm to 3.3.6 2015-10-22 13:56:09 -04:00
LICENSE deps: upgrade npm to 3.3.6 2015-10-22 13:56:09 -04:00
package.json deps: upgrade npm to 3.3.10 2015-11-02 14:25:04 -05:00
README.md deps: upgrade npm to 3.3.6 2015-10-22 13:56:09 -04:00

iferr

Higher-order functions for easier error handling.

if (err) return cb(err); be gone!

Install

npm install iferr

Use

JavaScript example

var iferr = require('iferr');

function get_friends_count(id, cb) {
  User.load_user(id, iferr(cb, function(user) {
    user.load_friends(iferr(cb, function(friends) {
      cb(null, friends.length);
    }));
  }));
}

CoffeeScript example

iferr = require 'iferr'

get_friends_count = (id, cb) ->
  User.load_user id, iferr cb, (user) ->
    user.load_friends iferr cb, (friends) ->
      cb null, friends.length

(TODO: document tiferr, throwerr and printerr)

License

MIT