All files / lib/rules get-input-from-rule.js

100% Statements 9/9
100% Branches 2/2
100% Functions 1/1
100% Lines 9/9

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 227x 7x 7x       44x 31x 31x           13x     44x     7x  
const isFunction = require('lodash.isfunction');
const objectPath = require('object-path');
const prepForComparison = require('./prep-for-comparison');
 
function getInputFromRule(input, rule) {
  let result;
  if (isFunction(rule.input)) {
    try {
      result = rule.input(input);
    } catch (e) {
      // Don't allow a bad input extraction to break config generation.
      // Ideally, all errors should be handled inside input function.
    }
  } else {
    result = objectPath.get(input, rule.input);
  }
 
  return prepForComparison(result, rule);
}
 
module.exports = getInputFromRule;