o
    Õ­j3  ã                   @   s   G d d„ dƒZ dS )c                   @   sP   e Zd ZdZdeddfdd„Zdefdd„Zdefd	d
„Zde	de
fdd„ZdS )ÚDocat  Define the documentation of a type annotation using `Annotated`, to be
        used in class attributes, function and method parameters, return values,
        and variables.

    The value should be a positional-only string literal to allow static tools
    like editors and documentation generators to use it.

    This complements docstrings.

    The string value passed is available in the attribute `documentation`.

    Example:

    ```Python
    from typing import Annotated
    from annotated_doc import Doc

    def hi(name: Annotated[str, Doc("Who to say hi to")]) -> None:
        print(f"Hi, {name}!")
    ```
    ÚdocumentationÚreturnNc                C   s
   || _ d S ©N©r   )Úselfr   © r   úO/var/www/html/CropPilot/venv/lib/python3.10/site-packages/annotated_doc/main.pyÚ__init__   ó   
zDoc.__init__c                 C   s   d| j ›d�S )NzDoc(ú)r   ©r   r   r   r   Ú__repr__   s   zDoc.__repr__c                 C   s
   t | jƒS r   )Úhashr   r   r   r   r   Ú__hash__   r
   zDoc.__hash__Úotherc                 C   s   t |tƒstS | j|jkS r   )Ú
isinstancer   ÚNotImplementedr   )r   r   r   r   r   Ú__eq__!   s   
z
Doc.__eq__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr	   r   Úintr   ÚobjectÚboolr   r   r   r   r   r      s    r   N)r   r   r   r   r   Ú<module>   s    