B F­Ša›ã @s¨ddlZddlZddlmZddlmZddlmZe d¡Z dd„Z e e e eeeeedƒhZejejddfdd œd d „Zd d dœdd„Zd ejdd œdd„ZdS)éN)Úwrapsé)Ú_PassArg)Úpass_eval_contextÚVcs‡fdd„}|S)Ncsrt ˆ¡}|dk‰|tjkr0tjtdœdd„‰ntjtdœdd„‰tˆƒ‡‡‡‡fdd„ƒ}ˆrht|ƒ}d|_|S)N)ÚargsÚreturncSst t|dj¡S)Nr)ÚtÚcastÚboolÚis_async)r©r úC/opt/alt/python37/lib/python3.7/site-packages/jinja2/async_utils.pyr sz2async_variant..decorator..is_asynccSst t|djj¡S)Nr)r r r Ú environmentr )rr r rr scs0ˆ|ƒ}ˆr|dd…}|r&ˆ||ŽSˆ||ŽS)Nrr )rÚkwargsÚb)Ú async_funcr Úneed_eval_contextÚ normal_funcr rÚwrappers   z1async_variant..decorator..wrapperT) rZfrom_objrr ÚAnyr rrZjinja_async_variant)rZpass_argr)r)rr rrÚ decorator s   z async_variant..decoratorr )rrr )rrÚ async_variant s r)ÚvaluercÃs@t|ƒtkrt d|¡St |¡r4t d|¡IdHSt d|¡S)Nrzt.Awaitable[V])ÚtypeÚ_common_primitivesr r ÚinspectÚ isawaitable)rr r rÚ auto_await2s    rz*t.Union[t.AsyncIterable[V], t.Iterable[V]]zt.AsyncIterator[V])Úiterablerc Csft|dƒrFxVt d|¡2y 3dH}Wn tk s8X|VqYWnxt d|¡D] }|VqTWdS)NÚ __aiter__zt.AsyncIterable[V]z t.Iterable[V])Úhasattrr r ÚStopAsyncIteration)rÚitemr r rÚ auto_aiter=s  &r$cÃsdd„t|ƒ2ƒIdHS)Nc Ós.g|y 3dH}Wn tk s"X|‘qYS)N)r")Ú.0Úxr r rú Ks z auto_to_list..)r$)rr r rÚ auto_to_listHsr()rÚtypingr Ú functoolsrÚutilsrrÚTypeVarrrÚintÚfloatr ÚstrÚlistÚdictÚtuplerrÚUnionÚ Awaitablerr$ÚListr(r r r rÚs    $