o
    gHdÓ  ã                   @   sØ   d Z ddlmZ ddlmZ ddlmZ ddlmZ g d¢ZG dd„ dejƒZ	G d	d
„ d
ej
ƒZG dd„ dej
ƒZG dd„ dejƒZG dd„ deƒZeeeƒ G dd„ dejƒZG dd„ dejƒZG dd„ dejƒZdS )zº
Interface definitions for builtin types.

After this module is imported, the standard library types will declare
that they implement the appropriate interface.

.. versionadded:: 5.0.0
é    )ÚclassImplements)Úcollections)Únumbers)Úio)ÚIListÚITupleÚITextStringÚIByteStringÚINativeStringÚIBoolÚIDictÚIFilec                   @   s    e Zd ZdZefZddd„ZdS )r   z%
    Interface for :class:`list`
    NFc                 C   s   dS )zs
        Sort the list in place and return None.

        *key* and *reverse* must be passed by name only.
        N© )ÚkeyÚreverser   r   úe/var/www/html/facialservice/flask-venv/lib/python3.10/site-packages/zope/interface/common/builtins.pyÚsort-   s    z
IList.sort)NF)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚlistÚextra_classesr   r   r   r   r   r   '   s    r   c                   @   ó   e Zd ZdZefZdS )r   z&
    Interface for :class:`tuple`
    N)r   r   r   r   Útupler   r   r   r   r   r   5   ó    
r   c                   @   r   )r   zK
    Interface for text ("unicode") strings.

    This is :class:`str`
    N)r   r   r   r   Ústrr   r   r   r   r   r   <   s    
r   c                   @   r   )r	   zù
    Interface for immutable byte strings.

    On all Python versions this is :class:`bytes`.

    Unlike :class:`zope.interface.common.collections.IByteString`
    (the parent of this interface) this does *not* include
    :class:`bytearray`.
    N)r   r   r   r   Úbytesr   r   r   r   r   r	   E   s    
	r	   c                   @   s   e Zd ZdZdS )r
   z
    Interface for native strings.

    On all Python versions, this is :class:`str`. Tt extends
    :class:`ITextString`.
    N)r   r   r   r   r   r   r   r   r
   R   s    r
   c                   @   r   )r   z%
    Interface for :class:`bool`
    N)r   r   r   r   Úboolr   r   r   r   r   r   ]   r   r   c                   @   r   )r   z%
    Interface for :class:`dict`
    N)r   r   r   r   Údictr   r   r   r   r   r   d   r   r   c                   @   s   e Zd ZdZdZdS )r   a‹  
    Interface for :class:`file`.

    It is recommended to use the interfaces from :mod:`zope.interface.common.io`
    instead of this interface.

    On Python 3, there is no single implementation of this interface;
    depending on the arguments, the :func:`open` builtin can return
    many different classes that implement different interfaces from
    :mod:`zope.interface.common.io`.
    r   N)r   r   r   r   r   r   r   r   r   r   k   s    r   N)r   Úzope.interfacer   Úzope.interface.commonr   r   r   Ú__all__ÚIMutableSequencer   Ú	ISequencer   r   r	   r
   r   Ú	IIntegralr   ÚIMutableMappingr   ÚIIOBaser   r   r   r   r   Ú<module>   s   		
