private function parseComparison($field, $args)
{
if (!is_array($args)) {
$args = ['$eq' => $args];
}
if (count($args) != 1) {
throw new \InvalidArgumentException(sprintf('Comparisons should be composed of a single key => value pair, got: "%s"', json_encode($args)));
}
$operator = key($args);
$value = current($args);
if (!in_array($operator, $this->comparisons)) {
throw new \InvalidArgumentException(sprintf('Unknown comparison operator, got "%s". Valid operators: "%s"', $operator, implode('", "', $this->comparisons)));
}
return new Constraint\Comparison($operator, $field, $value);
}