import { AggregationCondition } from 'interfaces'; function interpretCondition(val, operator, comparator) { switch (operator) { case '==': return val == comparator; case '!=': return val != comparator; case '<': return val < comparator; case '<=': return val <= comparator; case '>': return val > comparator; case '>=': return val >= comparator; default: return false; } } export default function checkCondition(childItem: Object|void, conditions: Array = []) { if (!childItem) return false; for (let i = 0; i < conditions.length; i += 1) { const condition = conditions[i]; const propKey = condition[0]; const operator = condition[1]; const comparator = condition[2]; if (!interpretCondition(childItem[propKey], operator, comparator)) { return false; } } return true; }