U a@sddlZddlZddlmZddlmZddlmZedZ ddZ ej ej ddfdd d d Z d d dddZd ejdd ddZdS)N)wraps)_PassArg)pass_eval_contextVcsfdd}|S)Ncsrt}|dk|tjkr0tjtdddntjtdddtfdd}rht|}d|_|S)N)argsreturncSstt|djSNr)tcastboolis_asyncrrSC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-8gbwd15f\jinja2\async_utils.pyr sz2async_variant..decorator..is_asynccSstt|djjSr )r r r environmentr rrrrr scs0|}r|dd}|r&||S||S)Nrr)rkwargsb) async_funcr need_eval_context normal_funcrrwrappers   z1async_variant..decorator..wrapperT) rZfrom_objrr Anyr rrZjinja_async_variant)rZpass_argrr)rr rr decorator s   z async_variant..decoratorr)rrrrr async_variant s r)valuercs(t|rtd|IdHStd|S)Nzt.Awaitable[V]r)inspect isawaitabler r rrrr auto_await/s r z*t.Union[t.AsyncIterable[V], t.Iterable[V]]zt.AsyncIterator[V])iterablercCsJt|dr.td|2z3dHW}|Vq6ntd|D] }|Vq:dS)N __aiter__zt.AsyncIterable[V]z t.Iterable[V])hasattrr r )r!itemrrr auto_aiter6s   r%csddt|2IdHS)Ncsg|z3dHW}|q6S)Nr).0xrrr Dsz auto_to_list..)r%rrrr auto_to_listAsr))rtypingr functoolsrutilsrrTypeVarrrUnion Awaitabler r%Listr)rrrrs    $