index.js
function checkArguments (argz) {
  if (!argz.args.length) {
    return error('first argument cant be function')
  }

  if (isEmptyFunction(argz.cb.toString())) {
    return error('should have `callback` (non empty callback)')
  }

  if (typeOf(argz.args[0]) !== 'string') {
    return type('expect `cmd` be string', argz.cb)
  }

  if (typeOf(argz.args[1]) === 'object') {
    argz.args[2] = argz.args[1]
    argz.args[1] = []
  }

  if (typeOf(argz.args[2]) !== 'object') {
    argz.args[2] = {}
  }

  return {
    cmd: argz.args[0],
    args: argz.args[1],
    opts: argz.args[2],
    callback: argz.cb
  }
}
function checkArguments (argz) {
  if (!argz.args.length) {
    return error('first argument cant be function')
  }

  if (isEmptyFunction(argz.cb.toString())) {
    return error('should have `callback` (non empty callback)')
  }

  if (typeOf(argz.args[0]) !== 'string') {
    return type('expect `cmd` be string', argz.cb)
  }

  if (typeOf(argz.args[1]) === 'object') {
    argz.args[2] = argz.args[1]
    argz.args[1] = []
  }

  if (typeOf(argz.args[2]) !== 'object') {
    argz.args[2] = {}
  }

  return {
    cmd: argz.args[0],
    args: argz.args[1],
    opts: argz.args[2],
    callback: argz.cb
  }
}
function checkArguments ( argz ) { if ( ! argz . args . length ) { return error ( 'first argument cant be function' ) } if ( isEmptyFunction ( argz . cb . toString ( ) ) ) { return error ( 'should have `callback` (non empty callback)' ) } if ( typeOf ( argz . args [ 0 ] ) !== 'string' ) { return type ( 'expect `cmd` be string' , argz . cb ) } if ( typeOf ( argz . args [ 1 ] ) === 'object' ) { argz . args [ 2 ] = argz . args [ 1 ] argz . args [ 1 ] = [ ] } if ( typeOf ( argz . args [ 2 ] ) !== 'object' ) { argz . args [ 2 ] = { } } return { cmd : argz . args [ 0 ] , args : argz . args [ 1 ] , opts : argz . args [ 2 ] , callback : argz . cb } }
> Create flexible arguments - check types.

@param  {Object} `argz`
@return {Object}
@api private
> Create flexible arguments - check types .