matchesCompareFilter method

bool matchesCompareFilter(
  1. CompareFilter compareFilter
)

Implementation

bool matchesCompareFilter(CompareFilter compareFilter) {
  final left = resolveExpression(compareFilter.left);
  final right = resolveExpression(compareFilter.right);

  switch (compareFilter.type) {
    case CompareType.equals:
      return left.toString() == right.toString();
    case CompareType.notEquals:
      return left.toString() != right.toString();
    case CompareType.contains:
      return left.toString().contains(right.toString());
    case CompareType.greaterThan:
      return (left as num) > (right as num);
    case CompareType.lessThan:
      return (left as num) < (right as num);
    case CompareType.greaterOrEqual:
      return (left as num) >= (right as num);
    case CompareType.lessOrEqual:
      return (left as num) <= (right as num);
    case CompareType.isIn:
      return right is List && right.contains(left);
  }
}