
    j                     d    d dl Z d dlmZ ddlmZ  G d de j
                        Z G d de      Zy)	    N)Any   )resultc                   J    e Zd Zej                  dej                  fd       Zy)	Validatorreturnc                      y )N selfs    r/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/validation/validator.pyvalidatezValidator.validate   s        N)__name__
__module____qualname__abcabstractmethodr   ValidationResultr   r
   r   r   r   r      s'    &11  r   r   c                   J    e Zd ZdZdededdfdZej                  dd       Zy)	RaisableValidatorz
    Abstract validator class that extends Validator and adds raise_if_validation_failed method.

    This is used for validators that need to raise ValidationError exceptions
    when validation fails, typically used in class initialization.
    argskwargsr   Nc                      y)z
        Initialize the validator.

        Subclasses can override this method with their own initialization signature.
        Nr
   )r   r   r   s      r   __init__zRaisableValidator.__init__   s     	r   c                      y)z
        Raise a ValidationError if validation failed.

        This method should check the validation result and raise an appropriate
        ValidationError exception if validation failed.
        Nr
   r   s    r   raise_if_validation_failedz,RaisableValidator.raise_if_validation_failed   s     	r   )r   N)	r   r   r   __doc__r   r   r   r   r   r
   r   r   r   r      s;    c S T  	 r   r   )r   typingr    r   ABCr   r   r
   r   r   <module>r"      s*    
   	 r   