All files / src/parser validate.js

0% Statements 0/17
0% Branches 0/9
0% Functions 0/1
0% Lines 0/15

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26                                                   
const {argumentValueRestrictionsViolated} = require('../errors')
 
module.exports = ({errs = [], argv = []} = {}) => {
  const errs2 = []
  const argv2 = []
 
  for (let i = 0; i < argv.length; i++) {
    const option = argv[i]
    const {values, only} = option
 
    if (typeof only === 'undefined' || only === null) {
      argv2.push(option)
    } else {
      for (let i = 0; i < values.length; i++) {
        const value = values[i]
        if (only.indexOf(value) > -1) {
          argv2.push(option)
        } else {
          errs2.push(argumentValueRestrictionsViolated({value, only, option}))
        }
      }
    }
  }
 
  return {errs: errs.concat(errs2), argv: argv2}
}