All files / lib/rules execute-rule-includes-list-any.js

100% Statements 13/13
100% Branches 4/4
100% Functions 3/3
100% Lines 13/13

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 226x 6x     9x 18x 18x 3x   15x 24x 24x   15x   9x 6x       6x  
const includes = require('lodash.includes');
const prepForComparison = require('./prep-for-comparison');
 
function executeRuleIncludesListAny(input, rule, values) {
  const firstMatch = values.find((value) => {
    const propertyValues = value[rule.property];
    if (!Array.isArray(propertyValues)) {
      return;
    }
    const found = propertyValues.some((propertyValue) => {
      const pv = prepForComparison(propertyValue, rule);
      return includes(input, pv);
    });
    return !!found;
  });
  if (firstMatch) {
    return firstMatch.value;
  }
}
 
module.exports = executeRuleIncludesListAny;