All files / src/foo/fromArgs index.js

100% Statements 13/13
100% Branches 11/11
100% Functions 2/2
100% Lines 11/11

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 2639x         2x         39x   39x 55x   55x 84x 46x 38x 34x         39x  
const fromArgs = ({errs = [], args = [{_: []}]} = {errs: [], args: [{_: []}]}) => ({
  errs,
  args: merge(args)
})
 
module.exports = {
  fromArgs
}
 
function merge (args) {
  let args2 = {}
 
  for (let i = 0; i < args.length; i++) {
    const arg = args[i]
 
    for (let [key, value] of Object.entries(arg)) {
      if (key === '_' && Array.isArray(value)) {
        args2[key] = [...(args2[key] || []), ...value]
      } else if (typeof args2[key] === 'undefined') {
        args2[key] = value
      }
    }
  }
 
  return args2
}