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 ZAnyr 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 ÚinspectZ 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 Ú functoolsrZutilsrrZTypeVarrrÚintÚfloatr ÚstrÚlistÚdictÚtuplerrZUnionÚ Awaitablerr"ZListr&r r r rÚs    $