private function prepareCondition($condition)
{
if (!is_array($condition)) {
$condition = ['values' => [$condition]];
}
$conditionKeys = array_keys($condition);
if (is_integer(current($conditionKeys))) {
$condition = ['values' => $condition];
}
foreach ($condition as $key => $value) {
if (in_array($key, $this->unsupportedConditions)) {
throw new \LogicException("Condition {$key} is not supported.");
}
if (isset($this->mappedConditions[$key])) {
$condition[$this->mappedConditions[$key]] = $value;
unset($condition[$key]);
}
}
return $condition;
}