function evalOpts(data, args) {
    if (typeof data === "function") {
      // `arguments` is an object, not array, in FF, so:
      args = Array.prototype.slice.call(arguments);
      data = data.apply(null, args.slice(1));
    }
    return data;
  }
function evalOpts(data, args) {
    if (typeof data === "function") {
      // `arguments` is an object, not array, in FF, so:
      args = Array.prototype.slice.call(arguments);
      data = data.apply(null, args.slice(1));
    }
    return data;
  }
function evalOpts ( data , args ) { if ( typeof data === "function" ) { // `arguments` is an object, not array, in FF, so: args = Array . prototype . slice . call ( arguments ) ; data = data . apply ( null , args . slice ( 1 ) ) ; } return data ; }
If option is a function, evaluate it with given params
@param {*} data
@param {...} args arguments of a callback
@returns {*}
If option is a function evaluate it with given params