o
    h                     @   s"   d dl Z G dd dZdd ZdS )    Nc                   @   s$   e Zd Zdd Zdd Zdd ZdS )Timerc                 C   s    || _ || _t|  | _d S N)_timeout	_callbackasyncioensure_future_job_task)selftimeoutcallback r   J/var/www/vscode/kcb/lib/python3.10/site-packages/pydeck/widget/debounce.py__init__   s   zTimer.__init__c                    s    t | jI d H  |   d S r   )r   sleepr   r   r
   r   r   r   r   
   s   z
Timer._jobc                 C   s   | j   d S r   )r	   cancelr   r   r   r   r      s   zTimer.cancelN)__name__
__module____qualname__r   r   r   r   r   r   r   r      s    r   c                    s    fdd}|S )Nc                    s   d  fdd}|S )Nc                     s.    fdd}d ur   t|d S )Nc                      s    i  d S r   r   r   )argsfnkwargsr   r   call_it   s   z?debounce.<locals>.decorator.<locals>.debounced.<locals>.call_it)r   r   )r   r   r   )r   timerwait)r   r   r   	debounced   s   z.debounce.<locals>.decorator.<locals>.debouncedr   )r   r   r   )r   r   r   	decorator   s   
zdebounce.<locals>.decoratorr   )r   r   r   r   r   debounce   s   r   )r   r   r   r   r   r   r   <module>   s    