o
    Ni                     @   s$   d dl mZmZ G dd deZdS )    )ThreadEventc                   @   s   e Zd Zdd ZdddZdS )ThreadSchedulerc                 C   s   t |d}|  d S )N)target)r   start)selffnthread r
   M/home/ubuntu/.local/lib/python3.10/site-packages/promise/schedulers/thread.pycall   s   
zThreadScheduler.callNc                    s8   t    fdd}|||  |}|stdd S )Nc                    s       d S N)set)_er
   r   on_resolve_or_reject   s   z2ThreadScheduler.wait.<locals>.on_resolve_or_rejectTimeout)r   _thenwait	Exception)r   promisetimeoutr   waitedr
   r   r   r   	   s   
zThreadScheduler.waitr   )__name__
__module____qualname__r   r   r
   r
   r
   r   r      s    r   N)	threadingr   r   objectr   r
   r
   r
   r   <module>   s    