o
    ã¥µi0  ã                   @  sˆ   d dl mZ d dlZd dlmZ d dlmZmZmZm	Z	m
Z
 ejdkr*d dlmZ nd dlmZ edƒZG dd	„ d	ƒZG d
d„ dƒZdS )é    )ÚannotationsN)Údeque)ÚAnyÚCallableÚGenericÚIterableÚTypeVar)é   é
   )Ú	ParamSpecÚPc                   @  s$   e Zd ZdZdd
d„Zddd„ZdS )ÚBackgroundTaskz
    Background task.
    ÚfuncúCallable[P, Any]ÚargsúP.argsÚkwargsúP.kwargsÚreturnÚNonec                 O  s   || _ || _|| _d S ©N©r   r   r   )Úselfr   r   r   © r   úG/home/ubuntu/.local/lib/python3.10/site-packages/kui/wsgi/background.pyÚ__init__   s   
zBackgroundTask.__init__c                 C  s   | j | ji | j¤Ž d S r   r   )r   r   r   r   Ú__call__   s   zBackgroundTask.__call__N©r   r   r   r   r   r   r   r   ©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r      s    
r   c                   @  s,   e Zd Zdddd„Zddd„Zddd„ZdS )ÚBackgroundTasksNÚtasksúIterable[BackgroundTask] | Nonec                 C  s   |r	t |ƒ| _d S t ƒ | _d S r   )r   r$   )r   r$   r   r   r   r       s   zBackgroundTasks.__init__r   r   r   r   r   r   r   r   c                 O  s&   t |g|¢R i |¤Ž}| j |¡ d S r   )r   r$   Úappend)r   r   r   r   Útaskr   r   r   r&   #   s   zBackgroundTasks.appendc                 C  s   | j D ]}|ƒ  qd S r   )r$   )r   r'   r   r   r   r   '   s   
ÿzBackgroundTasks.__call__r   )r$   r%   r   r   )r   r    r!   r   r&   r   r   r   r   r   r#      s    
r#   )Ú
__future__r   ÚsysÚcollectionsr   Útypingr   r   r   r   r   Úversion_infor   Útyping_extensionsr   r   r#   r   r   r   r   Ú<module>   s    
