o
    ¯N i—  ã                   @   s"   d dl mZ 	 G dd„ deƒZ	dS )	é    )ÚEventFé   )ÚPromise)ÚCallableÚAnyÚOptionalc                   @   s   e Zd Zdd„ Zddd„ZdS )ÚImmediateSchedulerc                 C   s   z|ƒ  W d S    Y d S ©N© )ÚselfÚfnr
   r
   úP/home/ubuntu/.local/lib/python3.10/site-packages/promise/schedulers/immediate.pyÚcall	   s   zImmediateScheduler.callNc                    s8   t ƒ ‰ ‡ fdd„}| ||¡ ˆ  |¡}|stdƒ‚d S )Nc                    s   ˆ   ¡  d S r	   )Úset)Ú_©Úer
   r   Úon_resolve_or_reject   s   z5ImmediateScheduler.wait.<locals>.on_resolve_or_rejectÚTimeout)r   Ú_thenÚwaitÚ	Exception)r   ÚpromiseÚtimeoutr   Úwaitedr
   r   r   r      s   
ÿzImmediateScheduler.waitr	   )Ú__name__Ú
__module__Ú__qualname__r   r   r
   r
   r
   r   r      s    r   N)
Ú	threadingr   r   r   Útypingr   r   r   Úobjectr   r
   r
   r
   r   Ú<module>   s    