lib/report.js
function report(type, state, params)
{
  var reporter = defaultReporter;

  // get rest of arguments
  params  = Array.prototype.slice.call(arguments, 1);

  // `init` and `done` types don't have command associated with them
  if (['init', 'done'].indexOf(type) == -1)
  {
    // second (1) position is for command
    // if command present get string representation of it
    params[1] = stringifyCommand(state, params[1]);
  }

  if (state && state.options && state.options.reporter)
  {
    reporter = state.options.reporter;
  }

  reporter[type].apply(null, params);
}
function report(type, state, params)
{
  var reporter = defaultReporter;

  // get rest of arguments
  params  = Array.prototype.slice.call(arguments, 1);

  // `init` and `done` types don't have command associated with them
  if (['init', 'done'].indexOf(type) == -1)
  {
    // second (1) position is for command
    // if command present get string representation of it
    params[1] = stringifyCommand(state, params[1]);
  }

  if (state && state.options && state.options.reporter)
  {
    reporter = state.options.reporter;
  }

  reporter[type].apply(null, params);
}
function report ( type , state , params ) { var reporter = defaultReporter ; // get rest of arguments params = Array . prototype . slice . call ( arguments , 1 ) ; // `init` and `done` types don't have command associated with them if ( [ 'init' , 'done' ] . indexOf ( type ) == - 1 ) { // second (1) position is for command // if command present get string representation of it params [ 1 ] = stringifyCommand ( state , params [ 1 ] ) ; } if ( state && state . options && state . options . reporter ) { reporter = state . options . reporter ; } reporter [ type ] . apply ( null , params ) ; }
Generates report via default or custom reporter

@private
@param   {string} type - type of the report
@param   {object} state - current state
@param   {...mixed} [params] - extra parameters to report
@returns {void}
Generates report via default or custom reporter