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.

/bail-out/

    Package Sidebar

    Install

    npm i bail-out

    Weekly Downloads

    4

    Version

    1.0.1

    License

    WTFPL

    Last publish

    Collaborators

    • ralphtheninja