
    j	                        U g d Z ddlmZmZmZ ddlmZ ddlmZm	Z	m
Z
 ddl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z  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z  f         deeeeef         f         fdZdS ))AnyFlowFlow
async_flowflow	flow_exprrun_async_flowrun_sync_flow	sync_flow    )	AwaitableCallable	Generator)wraps)Any	TypeAliascast)	ParamSpecTypeVar)await_if_corois_coroPTArgR)defaultr   r   TFlow)boundfuncreturnc                     | S N )r   s    b/DATA/AppData/hermes/projects/honcho/.venv/lib/python3.11/site-packages/fastapi_pagination/flow.pyr   r   #   s    K    objNc                 J    t          |           rt          d|  d          d S )Nz
Coroutine z is not allowed in sync flow)r   	TypeError)r#   s    r!   _check_not_coror&   '   s7    s|| HFSFFFGGGH Hr"   genc                j   	 |                      d           }t          |           	 	 |                      |          }t          |           n6# t          $ r  t          $ r}|                     |          }Y d }~n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    "hhtnn	%%hhsmm$$$$      % % %iinn%	%  " " "Asy!!!!!!!!"sF   %B $A B B !A;6B ;B  B 
B2B-'B2-B2c                \  K   	 |                      d           }	 	 t          |           d {V }|                      |          }n6# t          $ r  t          $ r}|                     |          }Y d }~nd }~ww xY wc# t          $ r$}t          t          |j                  cY d }~S d }~ww xY wr   )r)   r   r*   r+   r,   r   r   r-   r.   s      r!   r   r   =   s      "hhtnn	%%)#........hhsmm      % % %iinn%	%  " " "Asy!!!!!!!!"sF   A= *A A= A9A4/A= 4A99A= =
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   r3   r4   r   s     r!   wrapperzsync_flow.<locals>.wrapperN   s     TT42622333r"   r   r   r3   r4   r   r   r7   s   ` r!   r	   r	   M   sQ    
4[[4qv 4 4a 4 4 4 4 4 [4 Nr"   c                 |     t                     dt          j        dt          j        dt          f fd            }|S )Nr3   r4   r   c                  >   K   t           | i |           d {V S r   )r   r6   s     r!   r7   zasync_flow.<locals>.wrapperV   s6      #DD$$9&$9$9:::::::::r"   r8   r9   s   ` r!   r   r   U   sQ    
4[[;QV ;qx ;A ; ; ; ; ; [; Nr"   exprc           	           t                     dt          j        dt          j        dt          t
          t          f         f fd            }|S )Nr3   r4   r   c               ?   F   K    | i |V }t          t          |          S r   )r   r   )r3   r4   r/   r<   s      r!   flow_wrapperzflow_expr.<locals>.flow_wrapper^   s/      D$)&))))As||r"   )r   r   r3   r4   r   r   r   )r<   r?   s   ` r!   r   r   ]   sZ    
4[[AF ah 4Q<      [ r"   )__all__collections.abcr   r   r   	functoolsr   typingr   r   r   typing_extensionsr   r   fastapi_pagination.utilsr   r   r   r   r   r   __annotations__r   r   r   r&   r   r   r	   r   r   r    r"   r!   <module>rG      s  	 	 	 	 ; : : : : : : : : :       ' ' ' ' ' ' ' ' ' ' 0 0 0 0 0 0 0 0 ; ; ; ; ; ; ; ;IcNNwvGCdOdi   
 #q&\ ! ! !tCH~...x5! hq%x&8    H H H H H H
"tCF| "1 " " " """d36l "! " " " " HQS!V_- (1a4.    Xac1fo. 8Ay|O3L    HQ	!q 001 hq$sAv,6O      r"   