
    Ѯh
                        U g d Z ddlmZmZ ddlmZ ddlmZmZm	Z	m
Z
 ddlmZmZmZ ddlmZmZ  ed      Z ed      Z ed	e
      Zee	ee   ef   eef   Zeed<   eeef   Zeed<    edeeef         Zdeeef   deeef   fdZdeddfdZdeeef   defdZdeeef   defdZdeeeeef   f   deeef   fdZdeeeeef   f   deeee   f   fdZdeee	ee   ef   f   deeeeef   f   fdZy))AnyFlowFlow
async_flowflow	flow_exprrun_async_flowrun_sync_flow	sync_flow    )	Awaitable	Generator)wraps)AnyCallableUnioncast)	ParamSpec	TypeAliasTypeVar)await_if_corois_coroPTArgR)defaultr   r   TFlow)boundfuncreturnc                     | S N )r   s    i/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/fastapi_pagination/flow.pyr   r   #   s    K    objNc                 8    t        |       rt        d|  d      y )Nz
Coroutine z is not allowed in sync flow)r   	TypeError)r$   s    r"   _check_not_coror'   '   s#    s|*SE)EFGG r#   genc                :   	 | j                  d       }t        |       	 	 | j                  |      }t        |       # t        $ r  t        $ r}| j	                  |      }Y d }~)d }~ww xY w# t        $ r$}t        t        |j                        cY d }~S d }~ww xY wr    )sendr'   StopIterationBaseExceptionthrowr   r   valuer(   resexcs      r"   r   r   ,   s    "hhtn%hhsm$  !   %iin% "Asyy!!"sC   A- = A- A*A% A- %A**A- -	B6BBBc                @  K   	 | j                  d       }	 	 t        |       d {   }| j                  |      }&7 # t        $ r  t        $ r}| j	                  |      }Y d }~+d }~ww xY w# t        $ r$}t        t        |j                        cY d }~S d }~ww xY wwr    )r*   r   r+   r,   r-   r   r   r.   r/   s      r"   r   r   =   s     "hhtn%)#..hhsm .    %iin% "Asyy!!"s`   BA. > <> A. > A+A&!A. &A++A. .	B7BBBBBc                 |     t               dt        j                  dt        j                  dt        f fd       }|S )Nargskwargsr   c                  &    t         | i |      S r    )r   r4   r5   r   s     r"   wrapperzsync_flow.<locals>.wrapperN   s    T426233r#   r   r   r4   r5   r   r   r8   s   ` r"   r	   r	   M   s=    
4[4qvv 4 4a 4 4 Nr#   c                 |     t               dt        j                  dt        j                  dt        f fd       }|S )Nr4   r5   r   c                  B   K   t         | i |       d {   S 7 wr    )r   r7   s     r"   r8   zasync_flow.<locals>.wrapperV   s"     #D$$9&$9::::s   r9   r:   s   ` r"   r   r   U   s=    
4[;QVV ;qxx ;A ; ; Nr#   exprc           	           t               dt        j                  dt        j                  dt        t
        t        f   f fd       }|S )Nr4   r5   r   c               ?   @   K    | i |}t        t        |      S wr    )r   r   )r4   r5   r0   r=   s      r"   flow_wrapperzflow_expr.<locals>.flow_wrapper^   s%     $)&))As|s   )r   r   r4   r5   r   r   r   )r=   r@   s   ` r"   r   r   ]   sF    
4[AFF ahh 4Q<   r#   ) __all__collections.abcr   r   	functoolsr   typingr   r   r   r   typing_extensionsr   r   r   fastapi_pagination.utilsr   r   r   r   r   r   __annotations__r   r   r   r'   r   r   r	   r   r   r!   r#   r"   <module>rH      s  	 	 1  - - ; ; ;cNvC	)D/4
 i 
 #q&\ !tCH~.x5! hq%x&8 H H H
"tCF| "1 """d36l "! " HQS!V_- (1a4. Xac1fo. 8Ay|O3L HQilAo 667 HQSRSV_<U r#   