function validateOptions (options) {
  // doesn't make sense to pass both, so prevent it
  if (options.includeSheets && options.excludeSheets) {
    throw new Error("Do not pass both `includeSheets` and `excludeSheets`. It's confusing.")
  }

  // if `includeSheets` exists and isn't an Array, make it so
  if (options.includeSheets) {
    if (!Array.isArray(options.includeSheets)) options.includeSheets = [options.includeSheets]
  }

  // if `excludeSheets` exists and isn't an Array, make it so
  if (options.excludeSheets) {
    if (!Array.isArray(options.excludeSheets)) options.excludeSheets = [options.excludeSheets]
  }

  // if `excludeSheets` is set and one of them show up in `overrides`, it won't
  // break anything, but the user should be aware it won't work
  if (options.excludeSheets && options.overrides) {
    const overrides = Object.keys(options.overrides)

    overrides.forEach((override) => {
      if (options.excludeSheets.indexOf(override) !== -1) {
        console.warn(`\`${override}\` has an override, but it is also being excluded in \`excludeSheets\`.`)
      }
    })
  }

  return options
}
function validateOptions (options) {
  
  if (options.includeSheets && options.excludeSheets) {
    throw new Error("Do not pass both `includeSheets` and `excludeSheets`. It's confusing.")
  }

  
  if (options.includeSheets) {
    if (!Array.isArray(options.includeSheets)) options.includeSheets = [options.includeSheets]
  }

  
  if (options.excludeSheets) {
    if (!Array.isArray(options.excludeSheets)) options.excludeSheets = [options.excludeSheets]
  }

  
  
  if (options.excludeSheets && options.overrides) {
    const overrides = Object.keys(options.overrides)

    overrides.forEach((override) => {
      if (options.excludeSheets.indexOf(override) !== -1) {
        console.warn(`\`${override}\` has an override, but it is also being excluded in \`excludeSheets\`.`)
      }
    })
  }

  return options
}
function validateOptions ( options ) { // doesn't make sense to pass both, so prevent it if ( options . includeSheets && options . excludeSheets ) { throw new Error ( "Do not pass both `includeSheets` and `excludeSheets`. It's confusing." ) } // if `includeSheets` exists and isn't an Array, make it so if ( options . includeSheets ) { if ( ! Array . isArray ( options . includeSheets ) ) options . includeSheets = [ options . includeSheets ] } // if `excludeSheets` exists and isn't an Array, make it so if ( options . excludeSheets ) { if ( ! Array . isArray ( options . excludeSheets ) ) options . excludeSheets = [ options . excludeSheets ] } // if `excludeSheets` is set and one of them show up in `overrides`, it won't // break anything, but the user should be aware it won't work if ( options . excludeSheets && options . overrides ) { const overrides = Object . keys ( options . overrides ) overrides . forEach ( ( override ) => { if ( options . excludeSheets . indexOf ( override ) !== - 1 ) { console . warn ( ` \` ${ override } \` \` \` ` ) } } ) } return options }
Validates and normalizes the options passed to `process`.

@private
@param  {Object} options
@return {Object}
Validates and normalizes the options passed to process .