Spaces:
Running
Running
from __future__ import annotations | |
from enum import Enum | |
from typing import Any, Tuple, Union | |
class PredicateOperator(Enum): | |
EQ = "=" | |
LT = "<" | |
LTE = "<=" | |
GT = ">" | |
GTE = ">=" | |
class Predicate: | |
operator: PredicateOperator | |
value: Any | |
def __init__(self, operator: Union[str, PredicateOperator], value: Any) -> None: | |
if isinstance(operator, str): | |
_operator = PredicateOperator(operator) | |
else: | |
_operator = operator | |
self._operator = _operator | |
self._value = value | |
def render(self) -> Tuple[str, Any]: | |
return ( | |
self._operator.value, | |
self._value, | |
) | |