1# iferr
2
3Higher-order functions for easier error handling.
4
5`if (err) return cb(err);` be gone!
6
7## Install
8```bash
9npm install iferr
10```
11
12## Use
13
14### JavaScript/ES6 example
15```js
16var iferr = require('iferr');
17
18function get_friends_count(id, cb) {
19  User.load_user(id, iferr(cb, user =>
20    user.load_friends(iferr(cb, friends =>
21      cb(null, friends.length)
22    ))
23  ))
24}
25```
26
27### JavaScript/ES5 example
28```js
29var iferr = require('iferr');
30
31function get_friends_count(id, cb) {
32  User.load_user(id, iferr(cb, function(user) {
33    user.load_friends(iferr(cb, function(friends) {
34      cb(null, friends.length)
35    }))
36  }))
37}
38```
39
40### CoffeeScript example
41```coffee
42iferr = require 'iferr'
43
44get_friends_count = (id, cb) ->
45  User.load_user id, iferr cb, (user) ->
46    user.load_friends iferr cb, (friends) ->
47      cb null, friends.length
48```
49
50(TODO: document tiferr, throwerr and printerr)
51
52## License
53MIT
54