
    F˝iP                    x    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ee         Zy	)
    )annotations)CallableSequence)partial)Anycastoverload)NextRequestMiddlewareTypeRequestMiddlewareType)TelegramTypec                      e Zd ZddZ	 	 	 	 ddZddZ	 d	 	 	 ddZedd       Zedd       Z	 	 	 	 ddZdd	Z		 	 	 	 	 	 dd
Z
y)RequestMiddlewareManagerc                    g | _         y N_middlewaresselfs    c/home/leshdev/mybot/venv/lib/python3.12/site-packages/aiogram/client/session/middlewares/manager.py__init__z!RequestMiddlewareManager.__init__   s
    9;    c                <    | j                   j                  |       |S r   )r   appendr   
middlewares     r   registerz!RequestMiddlewareManager.register   s     	  ,r   c                :    | j                   j                  |       y r   )r   remover   s     r   
unregisterz#RequestMiddlewareManager.unregister   s      ,r   Nc                @    || j                   S | j                  |      S r   )r   r   s     r   __call__z!RequestMiddlewareManager.__call__   s#     == }}Z((r   c                     y r    r   items     r   __getitem__z$RequestMiddlewareManager.__getitem__$       r   c                     y r   r#   r$   s     r   r&   z$RequestMiddlewareManager.__getitem__(   r'   r   c                     | j                   |   S r   r   r$   s     r   r&   z$RequestMiddlewareManager.__getitem__,   s       &&r   c                ,    t        | j                        S r   )lenr   r   s    r   __len__z RequestMiddlewareManager.__len__2   s    4$$%%r   c                    t        |fi |}t        | j                        D ]  }t        ||      } t        t        t
           |      S r   )r   reversedr   r   r
   r   )r   callbackkwargsr   ms        r   wrap_middlewaresz)RequestMiddlewareManager.wrap_middlewares5   sL    
 X00
$++, 	0A J/J	0-l;ZHHr   )returnNone)r   r   r3   r   )r   r   r3   r4   r   )r   zRequestMiddlewareType | Noner3   zPCallable[[RequestMiddlewareType], RequestMiddlewareType] | RequestMiddlewareType)r%   intr3   r   )r%   slicer3   zSequence[RequestMiddlewareType])r%   zint | slicer3   z7RequestMiddlewareType | Sequence[RequestMiddlewareType])r3   r5   )r/   'NextRequestMiddlewareType[TelegramType]r0   r   r3   r7   )__name__
__module____qualname__r   r   r   r!   r	   r&   r,   r2   r#   r   r   r   r      s    <) 
-
 48)0) 
Z)    '' 
A'&I9I I 
1	Ir   r   N)
__future__r   collections.abcr   r   	functoolsr   typingr   r   r	   'aiogram.client.session.middlewares.baser
   r   aiogram.methods.baser   r   r#   r   r   <module>rA      s2    " .  & & ./Ix(=> /Ir   