a
    9g                     @   s>   d dl 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Optionaloverload)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ee	ee dddZee	eedddZde	ee ee 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   p/var/www/vosh/data/www/fastworkle.ru/webshop-tgbot-v.1.0/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   r   c                    s   d S r   r   )r   r   r   r   r   	get_value   s    zFSMContext.get_value)r   defaultr   c                    s   d S r   r   r   r   r   r   r   r   r      s    c                    s   | j j| j||dI d H S )N)Zstorage_keyZdict_keyr   )r
   r   r   r   r   r   r   r      s    )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)N)__name__
__module____qualname__r   r   r   r   r   r   strr   r   r   r   r   r   r   r    r!   r   r   r   r   r	      s     
r	   N)
typingr   r   r   r   Zaiogram.fsm.storage.baser   r   r   r	   r   r   r   r   <module>   s   