o
    ¥LDiP  ã                   @  sp   d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZmZ d dlmZ G dd„ dee ƒZd	S )
é    )Úannotations)ÚCallableÚSequence)Úpartial)ÚAnyÚcastÚoverload)ÚNextRequestMiddlewareTypeÚRequestMiddlewareType)ÚTelegramTypec                   @  sr   e Zd Zd"dd„Zd#dd„Zd$d	d
„Z	d%d&dd„Zed'dd„ƒZed(dd„ƒZd)dd„Zd*dd„Z	d+d d!„Z
dS ),ÚRequestMiddlewareManagerÚreturnÚNonec                 C  s
   g | _ d S ©N©Ú_middlewares©Úself© r   úv/var/www/www-root/data/www/77.83.87.30/venv/lib/python3.10/site-packages/aiogram/client/session/middlewares/manager.pyÚ__init__   ó   
z!RequestMiddlewareManager.__init__Ú
middlewarer
   c                 C  s   | j  |¡ |S r   )r   Úappend©r   r   r   r   r   Úregister   s   z!RequestMiddlewareManager.registerc                 C  s   | j  |¡ d S r   )r   Úremover   r   r   r   Ú
unregister   s   z#RequestMiddlewareManager.unregisterNúRequestMiddlewareType | NoneúPCallable[[RequestMiddlewareType], RequestMiddlewareType] | RequestMiddlewareTypec                 C  s   |d u r| j S |   |¡S r   )r   r   r   r   r   Ú__call__   s   
z!RequestMiddlewareManager.__call__ÚitemÚintc                 C  ó   d S r   r   ©r   r!   r   r   r   Ú__getitem__$   ó   z$RequestMiddlewareManager.__getitem__ÚsliceúSequence[RequestMiddlewareType]c                 C  r#   r   r   r$   r   r   r   r%   (   r&   úint | sliceú7RequestMiddlewareType | Sequence[RequestMiddlewareType]c                 C  s
   | j | S r   r   r$   r   r   r   r%   ,   s   
c                 C  s
   t | jƒS r   )Úlenr   r   r   r   r   Ú__len__2   r   z RequestMiddlewareManager.__len__Úcallbackú'NextRequestMiddlewareType[TelegramType]Úkwargsr   c                 K  s8   t |fi |¤Ž}t| jƒD ]}t ||ƒ}qttt |ƒS r   )r   Úreversedr   r   r	   r   )r   r-   r/   r   Úmr   r   r   Úwrap_middlewares5   s   z)RequestMiddlewareManager.wrap_middlewares)r   r   )r   r
   r   r
   )r   r
   r   r   r   )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__r   r   r   r    r   r%   r,   r2   r   r   r   r   r      s    


þ

r   N)Ú
__future__r   Úcollections.abcr   r   Ú	functoolsr   Útypingr   r   r   Ú'aiogram.client.session.middlewares.baser	   r
   Úaiogram.methods.baser   r   r   r   r   r   Ú<module>   s    