o
    Fh                     @   sB   d dl mZmZmZmZmZ d dlmZmZm	Z	 G dd dZ
dS )    )AnyDictMappingOptionaloverload)BaseStorage	StateType
StorageKeyc                	   @   s  e Zd ZdededdfddZddeddfdd	Zdee	 fd
dZ
dee	ef ddfddZdee	ef fddZede	dee fddZede	dedefddZdde	dee dee fddZ	ddeee	ef  dedee	ef fddZdddZdS )
FSMContextstoragekeyreturnNc                 C   s   || _ || _d S N)r   r   )selfr   r    r   F/var/www/html/venv/lib/python3.10/site-packages/aiogram/fsm/context.py__init__   s   
zFSMContext.__init__statec                       | j j| j|dI d H  d S )N)r   r   )r   	set_stater   )r   r   r   r   r   r         zFSMContext.set_statec                       | j j| jdI d H S N)r   )r   	get_stater   r   r   r   r   r         zFSMContext.get_statedatac                    r   N)r   r   )r   set_datar   )r   r   r   r   r   r      r   zFSMContext.set_datac                    r   r   )r   get_datar   r   r   r   r   r      r   zFSMContext.get_datac                       d S r   r   )r   r   r   r   r   	get_value      zFSMContext.get_valuedefaultc                    r    r   r   r   r   r#   r   r   r   r!      r"   c                    s   | j j| j||dI d H S )N)storage_keydict_keyr#   )r   r!   r   r$   r   r   r   r!      s   kwargsc                    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.clearr   )r   N)__name__
__module____qualname__r   r	   r   r   r   r   strr   r   r   r   r   r   r   r!   r)   r*   r   r   r   r   r
      s(     

r
   N)typingr   r   r   r   r   aiogram.fsm.storage.baser   r   r	   r
   r   r   r   r   <module>   s    