o
    LDi
                     @  sv   d dl mZ d dlZd dlmZmZmZmZmZm	Z	 er"d dlm
Z
 dZG dd dZedZG d	d
 d
ee ZdS )    )annotationsN)TYPE_CHECKINGAnyGenericTypeVarcastoverload)Literal)ContextInstanceMixin	DataMixinc                   @  sN   e Zd ZedddZddd	ZdddZdddZdddZddddZ	dS )r   returndict[str, Any]c                 C  s(   t | dd }|d u ri }t| d| |S )N_data)getattrsetattr)selfdata r   `/var/www/www-root/data/www/77.83.87.30/venv/lib/python3.10/site-packages/aiogram/utils/mixins.pyr      s
   zDataMixin.datakeystrr   c                 C  s
   | j | S Nr   r   r   r   r   r   __getitem__      
zDataMixin.__getitem__valueNonec                 C  s   || j |< d S r   r   )r   r   r   r   r   r   __setitem__      zDataMixin.__setitem__c                 C  s   | j |= d S r   r   r   r   r   r   __delitem__   s   zDataMixin.__delitem__boolc                 C  s
   || j v S r   r   r   r   r   r   __contains__   r   zDataMixin.__contains__Ndefault
Any | Nonec                 C  s   | j ||S r   )r   get)r   r   r#   r   r   r   r%   !   r   zDataMixin.get)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__propertyr   r   r   r    r"   r%   r   r   r   r   r      s    



r   ContextInstancec                      s   e Zd ZU ded< d fddZeedd
dZeedddZeedddZe	d d!ddZed"ddZed#ddZ	  Z
S )$r
   z'contextvars.ContextVar[ContextInstance]'_ContextInstanceMixin__context_instancekwargsr   r   r   c                   s"   t    td| j | _d S )N	instance_)super__init_subclass__contextvars
ContextVarr&   r+   )clsr,   	__class__r   r   r/   +   s   
z&ContextInstanceMixin.__init_subclass__ContextInstance | Nonec                 C     d S r   r   )r2   r   r   r   get_current/   s   z ContextInstanceMixin.get_currentno_errorLiteral[True]c                 C  r6   r   r   r2   r8   r   r   r   r7   4      Literal[False]r*   c                 C  r6   r   r   r:   r   r   r   r7   <   r;   Tr!   c                 C  sD   t tjt | j| _z| j }W |S  ty!   |r d }Y |S  w r   )r   r0   r1   r*   r+   r%   LookupError)r2   r8   currentr   r   r   r7   D   s   r   "contextvars.Token[ContextInstance]c                 C  s6   t || sd| jdt|j}t|| j|S )NzValue should be instance of z not )
isinstancer&   type	TypeErrorr+   set)r2   r   msgr   r   r   set_currentY   s   
z ContextInstanceMixin.set_currenttokenc                 C  s   | j | d S r   )r+   reset)r2   rF   r   r   r   reset_current`   s   z"ContextInstanceMixin.reset_current)r,   r   r   r   )r   r5   )r8   r9   r   r5   )r8   r<   r   r*   )T)r8   r!   r   r5   )r   r*   r   r?   )rF   r?   r   r   )r&   r'   r(   __annotations__r/   r   classmethodr7   rE   rH   __classcell__r   r   r3   r   r
   (   s&   
 r
   )
__future__r   r0   typingr   r   r   r   r   r   r	   __all__r   r*   r
   r   r   r   r   <module>   s     