File: //opt/saltstack/salt/lib/python3.10/site-packages/jinja2/__pycache__/async_utils.cpython-310.pyc
o
�N�g � @ s� d dl Z d dlZd dlmZ d dlmZ ddlmZ ddlmZ ej r'd dl
Ze�d�Z
dd � Zeeeeeeeed�hZd
ejejd df ddfdd
�ZG dd� deje
�Z ddd�Zd
ddejd fdd�ZdS )� N)�WRAPPER_ASSIGNMENTS)�wraps� )�_PassArg)�pass_eval_context�Vc s � fdd�}|S )Nc s� t ���}|d u �|t ju rdtjdtfdd��n
dtjdtfdd��d}ttt�� |��}t
�|d�t
� |dd �� ���fd
d���}�rJt|�}d|_|S )
N�args�returnc S s t �t| d j�S �Nr )�t�cast�bool�is_async�r � r �F/opt/saltstack/salt/lib/python3.10/site-packages/jinja2/async_utils.pyr s z2async_variant.<locals>.decorator.<locals>.is_asyncc S s t �t| d jj�S r
)r r r
�environmentr r r r r r s )�
__module__�__name__�__qualname__)�assignedr )r �updatedc s8 �| �}�r| dd � } |r� | i |��S �| i |��S )Nr r )r �kwargs�b)�
async_funcr �need_eval_context�normal_funcr r �wrapper% s z1async_variant.<locals>.decorator.<locals>.wrapperT)
r Zfrom_objr r ZAnyr
�tuple�setr �
differencer r Zjinja_async_variant)r Zpass_argZasync_func_attrsZnormal_func_attrsr �r )r r r r � decorator s
z async_variant.<locals>.decoratorr )r r"