a
    >ŠxdŸ  ã                   @   s8   d Z ddlmZ ddlmZmZmZ G dd„ deƒZdS )zMultimap module.é    )ÚOrderedDict)ÚAnyÚListÚOptionalc                   @   sô   e Zd ZdZddœdd„Zee eddœdd„Zee e	e d	œd
d„Z
ee ed	œdd„Zee eedœdd„Zedœdd„Zee eedœdd„Zee dd	œdd„Zee ed	œdd„Zee dœdd„Ze	e dœdd„Zddœdd„ZdS )ÚMultimapzMultimap class.N)Úreturnc                 C   s   t ƒ | _dS )zMake new multimap.N)r   Ú_map©Úself© r   úJ/var/www/html/Ranjet/env/lib/python3.9/site-packages/pyppeteer/multimap.pyÚ__init__   s    zMultimap.__init__)ÚkeyÚvaluer   c                 C   s6   | j  |¡}|s tƒ }|| j |< ||vr2| |¡ dS )z
Set value.N)r   ÚgetÚlistÚappend©r
   r   r   Ú_setr   r   r   Úset   s    
zMultimap.set)r   r   c                 C   s   | j  |tƒ ¡S )zGet values.©r   r   r   ©r
   r   r   r   r   r      s    zMultimap.getc                 C   s
   || j v S )zCheck key is in this map.)r   r   r   r   r   Úhas   s    zMultimap.hasc                 C   s   | j  |tƒ ¡}||v S )zCheck value is in this map.r   r   r   r   r   ÚhasValue#   s    zMultimap.hasValuec                 C   s
   t | jƒS )zLength of this map.)Úlenr   r	   r   r   r   Úsize(   s    zMultimap.sizec                 C   s<   |   |¡}||v }|r | |¡ t|ƒdkr8| j |¡ |S )zDelete value from key.r   )r   Úremover   r   Úpop)r
   r   r   ÚvaluesÚresultr   r   r   Údelete,   s    

zMultimap.deletec                 C   s   | j  |d¡ dS )zDelete all value of the key.N)r   r   r   r   r   r   Ú	deleteAll6   s    zMultimap.deleteAllc                 C   s   | j  |¡}|sdS |d S )zGet first value of the key.Nr   )r   r   )r
   r   r   r   r   r   Ú
firstValue:   s    zMultimap.firstValuec                 C   s   t t| j ¡ ƒƒS )zGet first key.)ÚnextÚiterr   Úkeysr	   r   r   r   ÚfirstKeyA   s    zMultimap.firstKeyc                 C   s$   t ƒ }| j ¡ D ]}| |¡ q|S )zGet all values as list.)r   r   r   Úextend)r
   r   r   r   r   r   ÚvaluesArrayE   s    zMultimap.valuesArrayc                 C   s   | j  ¡  dS )zClear all entries of this map.N)r   Úclearr	   r   r   r   r)   L   s    zMultimap.clear)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ústrr   r   r   r   Úboolr   r   Úintr   r    r!   r"   r&   r(   r)   r   r   r   r   r   
   s   	
r   N)	r-   Úcollectionsr   Útypingr   r   r   Úobjectr   r   r   r   r   Ú<module>   s   