'; break; case $condition instanceof Filter\LessThan: $operator = '<'; break; case $condition instanceof Filter\GreaterThanOrEqual: $operator = '>='; break; case $condition instanceof Filter\LessThanOrEqual: $operator = '<='; break; default: throw new InvalidArgumentException('Unknown condition type'); } return new static($operator); } public function toTermData() { $termData = parent::toTermData(); $termData['type'] = 'operator'; return $termData; } public function toMetaData() { $data = new Data(); if (! $this->isValid()) { $data->set('invalidOperatorMessage', $this->getMessage()) ->set('invalidOperatorPattern', $this->getPattern()); } return $data; } public function setSearchValue(string $searchValue): ValidatedTerm { throw new LogicException('Operators cannot be changed'); } public function setLabel(?string $label): ValidatedTerm { throw new LogicException('Operators cannot be changed'); } }