# Path: nimoy/compare/types.py
# class Types(Enum):
#     EQUAL = 1
#     NOT_EQUAL = 2
#     LESS_THAN = 3
#     LESS_THAN_EQUAL = 4
#     GREATER_THAN = 5
#     GREATER_THAN_EQUAL = 6
#     IS = 7
#     IS_NOT = 8
#     IN = 9
#     NOT_IN = 10
#     MATCHES_REGEXP = 11


import ast
import _ast
import astor
from _ast import Dict, Constant
from nimoy.compare.types import Types




class ComparisonExpressionTransformer(ast.NodeTransformer):
    def __init__(self) -> None:
        super().__init__()
        self.comparator_methods = {
            _ast.Eq: Types.EQUAL,
            _ast.NotEq: Types.NOT_EQUAL,
            _ast.Lt: Types.LESS_THAN,
            _ast.LtE: Types.LESS_THAN_EQUAL,
            _ast.Gt: Types.GREATER_THAN,
            _ast.GtE: Types.GREATER_THAN_EQUAL,
            _ast.Is: Types.IS,
            _ast.IsNot: Types.IS_NOT,
            _ast.In: Types.IN,
            _ast.NotIn: Types.NOT_IN,

# Path: nimoy/compare/types.py
# class Types(Enum):
#     EQUAL = 1
#     NOT_EQUAL = 2
#     LESS_THAN = 3
#     LESS_THAN_EQUAL = 4
#     GREATER_THAN = 5
#     GREATER_THAN_EQUAL = 6
#     IS = 7
#     IS_NOT = 8
#     IN = 9
#     NOT_IN = 10
#     MATCHES_REGEXP = 11


# Path: nimoy/ast_tools/expression_transformer.py
import ast
import _ast
import astor
from _ast import Dict, Constant
from nimoy.compare.types import Types





class ComparisonExpressionTransformer(ast.NodeTransformer):
    def __init__(self) -> None:
        super().__init__()
        self.comparator_methods = {
            _ast.Eq: Types.EQUAL,
            _ast.NotEq: Types.NOT_EQUAL,
            _ast.Lt: Types.LESS_THAN,
            _ast.LtE: Types.LESS_THAN_EQUAL,
            _ast.Gt: Types.GREATER_THAN,
            _ast.GtE: Types.GREATER_THAN_EQUAL,
            _ast.Is: Types.IS,
            _ast.IsNot: Types.IS_NOT,
            _ast.In: Types.IN,
            _ast.NotIn: Types.NOT_IN,

            _ast.MatMult: Types.MATCHES_REGEXP,