a
    y{Jh0                     @   s:   d dl mZmZmZ d dlmZmZmZ G dd dZdS )    )AnyDictOptional)BaseStorage	StateType
StorageKeyc                   @   s   e Zd ZeeddddZdeddddZee	 dd	d
Z
ee	ef ddddZee	ef dddZdeee	ef  eee	ef dddZddddZdS )
FSMContextN)storagekeyreturnc                 C   s   || _ || _d S )N)r	   r
   )selfr	   r
    r   E/var/www/shaz/venv/lib/python3.9/site-packages/aiogram/fsm/context.py__init__   s    zFSMContext.__init__)stater   c                    s   | j j| j|dI d H  d S )N)r
   r   )r	   	set_stater
   )r   r   r   r   r   r      s    zFSMContext.set_state)r   c                    s   | j j| jdI d H S N)r
   )r	   	get_stater
   r   r   r   r   r      s    zFSMContext.get_state)datar   c                    s   | j j| j|dI d H  d S N)r
   r   )r	   set_datar
   )r   r   r   r   r   r      s    zFSMContext.set_datac                    s   | j j| jdI d H S r   )r	   get_datar
   r   r   r   r   r      s    zFSMContext.get_data)r   kwargsr   c                    s&   |r| | | jj| j|dI d H S r   )updater	   update_datar
   )r   r   r   r   r   r   r      s    
zFSMContext.update_datac                    s&   | j d dI d H  | i I d H  d S )N)r   )r   r   r   r   r   r   clear   s    zFSMContext.clear)N)N)__name__
__module____qualname__r   r   r   r   r   r   strr   r   r   r   r   r   r   r   r   r   r   r      s    
r   N)	typingr   r   r   Zaiogram.fsm.storage.baser   r   r   r   r   r   r   r   <module>   s   