o
    óæh 
  ã                   @  s†   d dl mZ d dlmZmZ d dlmZmZmZ er0d dl	m
Z
mZmZ d dlmZ d dlmZ G dd„ dƒZG d	d
„ d
eeeƒZdS )é    )Úannotations)ÚTYPE_CHECKINGÚAny)ÚDelMembersMixinÚGetMembersMixinÚSetMembersMixin)Ú	ItemsViewÚKeysViewÚ
ValuesView)ÚPath)ÚModulec                   @  s`   e Zd ZdZddd„Zdd	d
„Zd dd„Zd!dd„Zd"dd„Zd#dd„Z	d$dd„Z
d%dd„ZdS )&ÚLinesCollectionz=A simple dictionary containing the modules source code lines.ÚreturnÚNonec                 C  ó
   i | _ dS ©zInitialize the collection.N©Ú_data©Úself© r   ú]/var/www/html/openai_agents/venv/lib/python3.10/site-packages/griffe/_internal/collections.pyÚ__init__   ó   
zLinesCollection.__init__Úkeyr   ú	list[str]c                 C  s
   | j | S )zGet the lines of a file path.r   )r   r   r   r   r   Ú__getitem__   r   zLinesCollection.__getitem__Úvaluec                 C  s   || j |< dS )zSet the lines of a file path.Nr   )r   r   r   r   r   r   Ú__setitem__   s   zLinesCollection.__setitem__ÚitemÚboolc                 C  ó
   || j v S )z*Check if a file path is in the collection.r   ©r   r   r   r   r   Ú__contains__    r   zLinesCollection.__contains__c                 C  ó   dS )z&A lines collection is always true-ish.Tr   r   r   r   r   Ú__bool__$   ó   zLinesCollection.__bool__r	   c                 C  ó
   | j  ¡ S )zWReturn the collection keys.

        Returns:
            The collection keys.
        )r   Úkeysr   r   r   r   r(   (   ó   
zLinesCollection.keysr
   c                 C  r'   )z[Return the collection values.

        Returns:
            The collection values.
        )r   Úvaluesr   r   r   r   r*   0   r)   zLinesCollection.valuesr   c                 C  r'   )zYReturn the collection items.

        Returns:
            The collection items.
        )r   Úitemsr   r   r   r   r+   8   r)   zLinesCollection.itemsN©r   r   )r   r   r   r   )r   r   r   r   r   r   )r   r   r   r    ©r   r    )r   r	   )r   r
   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r#   r%   r(   r*   r+   r   r   r   r   r      s    






r   c                   @  sB   e Zd ZdZdZ	 ddd„Zddd	„Zddd„Zeddd„ƒZ	dS )ÚModulesCollectionz9A collection of modules, allowing easy access to members.Tr   r   c                 C  r   r   ©Úmembersr   r   r   r   r   G   s   zModulesCollection.__init__r    c                 C  r$   )z(A modules collection is always true-ish.Tr   r   r   r   r   r%   L   r&   zModulesCollection.__bool__r   r   c                 C  r!   )z'Check if a module is in the collection.r3   r"   r   r   r   r#   P   r   zModulesCollection.__contains__údict[str, Module]c                 C  s   | j S )z±Members of the collection.

        This property is overwritten to simply return `self.members`,
        as `all_members` does not make sense for a modules collection.
        r3   r   r   r   r   Úall_membersT   s   zModulesCollection.all_membersNr,   r-   )r   r   r   r    )r   r5   )
r.   r/   r0   r1   Úis_collectionr   r%   r#   Úpropertyr6   r   r   r   r   r2   A   s    


r2   N)Ú
__future__r   Útypingr   r   Úgriffe._internal.mixinsr   r   r   Úcollections.abcr   r	   r
   Úpathlibr   Úgriffe._internal.modelsr   r   r2   r   r   r   r   Ú<module>   s   0