whole_func_string: function loadRcConfig(callback) {
    const sync = typeof callback !== 'function';
  
    if (sync) {
      const fp = rcLoader.for(this.resourcePath);
      if (typeof fp !== 'string') {
        // no .jshintrc found
        return {};
      }
      this.addDependency(fp);
      const options = loadConfig(fp);
      delete options.dirname;
      return options;
    }
  
    // eslint-disable-next-line consistent-return
    rcLoader.for(this.resourcePath, (err, fp) => {
      if (typeof fp !== 'string') {
        // no .jshintrc found
        return callback(null, {});
      }
  
      this.addDependency(fp);
      const options = loadConfig(fp);
      delete options.dirname;
      callback(err, options);
    });
  }
func_code_string: function loadRcConfig(callback) {
    const sync = typeof callback !== 'function';
  
    if (sync) {
      const fp = rcLoader.for(this.resourcePath);
      if (typeof fp !== 'string') {
        // no .jshintrc found
        return {};
      }
      this.addDependency(fp);
      const options = loadConfig(fp);
      delete options.dirname;
      return options;
    }
  
    // eslint-disable-next-line consistent-return
    rcLoader.for(this.resourcePath, (err, fp) => {
      if (typeof fp !== 'string') {
        // no .jshintrc found
        return callback(null, {});
      }
  
      this.addDependency(fp);
      const options = loadConfig(fp);
      delete options.dirname;
      callback(err, options);
    });
  }
func_documentation_string: eslint-disable-next-line consistent-return