o
    $[i
                     @   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   W/var/www/html/flask_server/venv/lib/python3.10/site-packages/playwright/_impl/_clock.py__init__   s   zClock.__init__timec                    s,   | j j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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)      zClock.pause_atc                    s   | j jdI d H  d S )NclockResume)r
   r   r   )r   r   r   r   resume/   s   zClock.resumec                    r   )NclockRunForr   r   r   r   r   run_for4   r#   zClock.run_forc                    r   )NclockSetFixedTimer   r   r   r   r   set_fixed_time:   r#   zClock.set_fixed_timec                    r   )NclockSetSystemTimer   r   r   r   r   set_system_time@   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/   r2   r0   	timestamp)r   r   r   r   r   I   s
   
r   r   c                 C   s   t | tr	d| iS d| iS )NticksNumberticksString)r5   r2   )r   r   r   r   r   S   s   
r   )r1   typingr   r   r   !playwright._impl._browser_contextr   r   r/   r0   r2   r   r   r   r   r   r   <module>   s   3
.
