lib/api.js
function(callback, options, params) {
        var options = options || ((_.isObject(callback) && !_.isFunction(callback)) ? callback : {});
        if (params) {
            options = _.extend({}, options, params);
        }

        return options
    }
function(callback, options, params) {
        var options = options || ((_.isObject(callback) && !_.isFunction(callback)) ? callback : {});
        if (params) {
            options = _.extend({}, options, params);
        }

        return options
    }
function ( callback , options , params ) { var options = options || ( ( _ . isObject ( callback ) && ! _ . isFunction ( callback ) ) ? callback : { } ) ; if ( params ) { options = _ . extend ( { } , options , params ) ; } return options }
Checks if callback is a function or not, and passes the options
@param {Object, Function}    callback
@param {Object}              options
@param {Object}              params      Additional params that extend options
Checks if callback is a function or not and passes the options