o
    Pj                     @   sN   d dl mZmZmZmZ d dlmZ erd dlmZ ed Z	G dd dZ
dS )    )TYPE_CHECKINGListLiteralOptional)	NameValue)Page)localsessionc                   @   s|   e Zd ZdddeddfddZdee fdd	Zd
ede	e fddZ
d
ededdfddZd
eddfddZdddZdS )
WebStoragepager   kindreturnNc                 C   s    || _ || _|j| _|j| _d S )N)_page_kind_loop_dispatcher_fiber)selfr   r    r   R/home/thesage/.local/lib/python3.10/site-packages/playwright/_impl/_web_storage.py__init__   s   zWebStorage.__init__c                    s0   | j jdd d| jiI d H }|pi dg S )NwebStorageItemsr   itemsr   _channelsend_return_as_dictr   get)r   resultr   r   r   r   !   s
   
zWebStorage.itemsnamec                    s0   | j jdd | j|dI d H }|pi dS )NwebStorageGetItemr   r   valuer   )r   r   r   r   r   r   get_item'   s
   
zWebStorage.get_itemr    c                    s(   | j jdd | j||dI d H  d S )NwebStorageSetItem)r   r   r    r   r   sendr   )r   r   r    r   r   r   set_item-   s   zWebStorage.set_itemc                    s&   | j jdd | j|dI d H  d S )NwebStorageRemoveItemr   r#   )r   r   r   r   r   remove_item4   s   zWebStorage.remove_itemc                    s$   | j jdd d| jiI d H  d S )NwebStorageClearr   r#   )r   r   r   r   clear9   s   "zWebStorage.clear)r   N)__name__
__module____qualname__WebStorageKindr   r   r   r   strr   r!   r%   r'   r)   r   r   r   r   r
      s    r
   N)typingr   r   r   r    playwright._impl._api_structuresr   playwright._impl._pager   r-   r
   r   r   r   r   <module>   s   