lib/input-generators/_base.js
function (options, page) {
    var parse = {};
    var outputFile = mapOutputFile(options, page, parse);

    if (outputFile) {

      options._inputEmitter.emit("input", {
        outputFile: outputFile,
        // make the url
        url: urlm.format({
                protocol: options.protocol,
                auth: options.auth,
                hostname: options.hostname,
                port: options.port,
                pathname: parse.url.pathname,
                search: parse.url.search,
                hash: parse.url.hash
              }),
        // map the input page to a selector
        selector: options.selector(page),
        // map the input page to a timeout
        timeout: options.timeout(page),
        checkInterval: options.checkInterval,
        // map the input page to a useJQuery flag
        useJQuery: options.useJQuery(page),
        // map the input page to a verbose flag
        verbose: options.verbose(page),
        // map the input page to phantomJS options
        phantomjsOptions: options.phantomjsOptions(page),
        // useful for testing, debugging
        __page: page
      });

    }

    return outputFile;
  }
function (options, page) {
    var parse = {};
    var outputFile = mapOutputFile(options, page, parse);

    if (outputFile) {

      options._inputEmitter.emit("input", {
        outputFile: outputFile,
        // make the url
        url: urlm.format({
                protocol: options.protocol,
                auth: options.auth,
                hostname: options.hostname,
                port: options.port,
                pathname: parse.url.pathname,
                search: parse.url.search,
                hash: parse.url.hash
              }),
        // map the input page to a selector
        selector: options.selector(page),
        // map the input page to a timeout
        timeout: options.timeout(page),
        checkInterval: options.checkInterval,
        // map the input page to a useJQuery flag
        useJQuery: options.useJQuery(page),
        // map the input page to a verbose flag
        verbose: options.verbose(page),
        // map the input page to phantomJS options
        phantomjsOptions: options.phantomjsOptions(page),
        // useful for testing, debugging
        __page: page
      });

    }

    return outputFile;
  }
Generate the input
Emit the event that contains the input hash

@param {Object} options - input generator options.
@param {String} options.protocol - https?
@param {String} options.auth - user:pass for old style urls.
@param {String} options.hostname - The hostname part of the url.
@param {Number} options.port - The port part of the url.
@param {Function} options.selector - Produces a selector given a page url.
@param {Function} options.timeout - Produces a timeout given a page url.
@param {Number} options.checkInterval - The millisecond resolute poll interval.
@param {Function} options.userJQuery - Produces a jquery bool given a page url.
@param {Function} options.verbose - Produces a verbose bool given a page url.
@param {Function} options.phantomjsOptions - Produces phantomjs options given a page url.
@param {Function} options._inputEmitter - The EventEmitter to generate input.
@param {String} page - The url to the page resource.
@returns {String} The full output file path.