41 lines
		
	
	
		
			675 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			675 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# iferr
 | 
						|
 | 
						|
Higher-order functions for easier error handling.
 | 
						|
 | 
						|
`if (err) return cb(err);` be gone!
 | 
						|
 | 
						|
## Install
 | 
						|
```bash
 | 
						|
npm install iferr
 | 
						|
```
 | 
						|
 | 
						|
## Use
 | 
						|
 | 
						|
### JavaScript example
 | 
						|
```js
 | 
						|
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
 | 
						|
```coffee
 | 
						|
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
 |