bail-out

1.0.1 • Public • Published

Build Status

bail-out

Takes all parameters but the last (the callback) and calls the callback with the first parameters on process.nextTick. Use case is where you need to bail out early many times e.g. during validation.

It will not save your ass like dezalgo does.

Install

$ npm install bail-out --save

Usage

With bail-out.

var bail = require('bail-out')
var fs = require('fs')
var path = require('path')
var home = require('home-dir')
 
function checkThisOut(opts, cb) {
  if (typeof opts.foo != 'string') return bail(new Error('foo not string'), cb)
  fs.readFile(path.join(home(), opts.foo), cb)
}
 
function checkThatOut(opts, cb) {
  if (typeof opts.bar != 'number') return bail(new Error('bar not number'), cb)
  fs.readFile(path.join(home(), opts.bar), cb)
}

Without bail-out.

var fs = require('fs')
var path = require('path')
var home = require('home-dir')
 
function checkThisOut(opts, cb) {
  if (typeof opts.foo != 'string') {
     return process.nextTick(function () {
       cb(new Error('foo not string'))
     })
  }
  fs.readFile(path.join(home(), opts.foo), cb)
}
 
function checkThatOut(opts, cb) {
  if (typeof opts.bar != 'number') {
     return process.nextTick(function () {
       cb(new Error('bar not number'))
     })
  }
  fs.readFile(path.join(home(), opts.bar, cb)
}

License

All code, unless stated otherwise, is licensed under the WTFPL.

Readme

Keywords

Package Sidebar

Install

npm i bail-out

Weekly Downloads

0

Version

1.0.1

License

WTFPL

Last publish

Collaborators

  • ralphtheninja