All files / src/args getArg.js

100% Statements 20/20
100% Branches 11/11
100% Functions 3/3
100% Lines 20/20
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 27 28 29 30 31 32 33 34 35 36 37 384x 13x   13x   13x     4x 3x 3x   3x 1x     2x 2x 5x 5x 2x   3x   2x     4x 3x 3x     4x          
const getArg = (argv, argName) => {
  const argIndex = argv.indexOf(argName) + 1
  const isArgAvailable =
    argIndex > 0 && argv.length > argIndex && !argv[argIndex].startsWith('--')
 
  return isArgAvailable ? argv[argIndex] : undefined
}
 
const getArgs = (argv, argName) => {
  const argIndex = argv.indexOf(argName) + 1
  const isArgAvailable = argIndex > 0 && argv.length > argIndex
 
  if (!isArgAvailable) {
    return []
  }
 
  const args = []
  for (let i = argIndex; i < argv.length; i += 1) {
    const arg = argv[i]
    if (arg.startsWith('--')) {
      break
    }
    args.push(arg)
  }
  return args
}
 
const isArg = (argv, argName) => {
  const argIndex = argv.indexOf(argName)
  return argIndex > -1
}
 
module.exports = {
  getArg,
  getArgs,
  isArg
}