U
    ui3                     @   s   G d d dZ dS )c                   @   sL   e Zd ZdZeddddZedddZedd	d
Ze	e
d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}!")
    ```
    N)documentationreturnc                C   s
   || _ d S Nr   )selfr    r   L/home/lhs5088/backend/venv/lib/python3.8/site-packages/annotated_doc/main.py__init__   s    zDoc.__init__)r   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__   s    zDoc.__hash__)otherr   c                 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>       