o
    %h                     @   s   d dl Z d dlmZmZmZ erd dlmZ G dd dZdeee	e j f dee	ee
e	f f fdd	Zd
ee
e	f dee	ee
e	f f fddZdS )    N)TYPE_CHECKINGDictUnion)BrowserContextc                   @   s   e Zd ZdddZddeeeejf ddfdd	Zd
ee	ef ddfddZ
deeeejf ddfddZ		dddZd
ee	ef ddfddZdeeeejf ddfddZdeeeejf ddfddZdS )Clockbrowser_contextr   returnNc                 C   s   || _ |j| _|j| _d S N)_browser_context_loop_dispatcher_fiber)selfr    r   K/var/www/html/myenv/lib/python3.10/site-packages/playwright/_impl/_clock.py__init__   s   zClock.__init__timec                    s.   | j jdd |d urt|ni I d H  d S )NclockInstallr
   _channelsend
parse_timer   r   r   r   r   install   s   zClock.installticksc                    "   | j jdd t|I d H  d S )NclockFastForwardr
   r   r   parse_ticksr   r   r   r   r   fast_forward#      zClock.fast_forwardc                    r   )NclockPauseAtr   r   r   r   r   pause_at-   r    zClock.pause_atc                    s   | j jdd I d H  d S )NclockResume)r
   r   r   )r   r   r   r   resume7   s   zClock.resumec                    r   )NclockRunForr   r   r   r   r   run_for<   r    zClock.run_forc                    r   )NclockSetFixedTimer   r   r   r   r   set_fixed_timeF   r    zClock.set_fixed_timec                    r   )NclockSetSystemTimer   r   r   r   r   set_system_timeP   r    zClock.set_system_time)r   r   r   Nr	   )r   N)__name__
__module____qualname__r   r   floatstrdatetimer   intr   r"   r$   r&   r(   r*   r   r   r   r   r      s>    
 










r   r   r   c                 C   sD   t | ttfrdt| d iS t | trd| iS dt|  d iS )N
timeNumberi  
timeString)
isinstancer.   r1   r/   	timestamp)r   r   r   r   r   [   s
   
r   r   c                 C   s   t | tr	d| iS d| iS )NticksNumberticksString)r4   r1   )r   r   r   r   r   e   s   
r   )r0   typingr   r   r   !playwright._impl._browser_contextr   r   r.   r/   r1   r   r   r   r   r   r   <module>   s   E
.
