
    j1                       d dl mZ ddgZd dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d d	lmZ d
dlmZmZmZ d
dlmZ d
dlmZmZ  ede          Z G d dee          Z G d dee         e	e                   ZdS )    )annotationsPageParams)Sequence)ceil)AnyGeneric)Query)	BaseModel)TypeVar   )AbstractParamsBasePage	RawParams)create_pydantic_model)GreaterEqualOneGreaterEqualZeroTAny)defaultc                  f    e Zd ZU  eddd          Zded<    edddd	          Zded
<   ddZdS )r   r   zPage number)gedescriptionintpage2   d   z	Page size)r   ler   sizereturnr   c                    t          | j        | j        nd | j        | j        | j        | j        dz
  z  nd           S )Nr   )limitoffset)r   r   r   )selfs    e/DATA/AppData/hermes/projects/honcho/.venv/lib/python3.11/site-packages/fastapi_pagination/default.pyto_raw_paramszParams.to_raw_params   sM    #y4$))$26)2GDILa49	A..gk
 
 
 	
    N)r   r   )__name__
__module____qualname__r
   r   __annotations__r   r%    r&   r$   r   r      sp         aA=999D9999bQ3K@@@D@@@@
 
 
 
 
 
r&   c                  P    e Zd ZU ded<   ded<   ded<   eZedddd            ZdS )r   r   r   r   r   pagesN)totalitemsSequence[TAny]paramsr   r.   
int | Nonekwargsr   r   
Page[TAny]c          	         t          |t                    st          d          |j        |j        n|pd }|j        |j        nd}|dv rd}n|t          ||z            }nd }t          | f|||||d|S )NzPage should be used with Paramsr   >   Nr   r   )r.   r/   r   r   r-   )
isinstancer   	TypeErrorr   r   r   r   )clsr/   r1   r.   r3   r   r   r-   s           r$   createzPage.create)   s     &&)) 	?=>>>$k5v{{EMT$k5v{{19EE&&EEE$

 
 
 
 	
r&   )
r/   r0   r1   r   r.   r2   r3   r   r   r4   )r'   r(   r)   r*   r   __params_type__classmethodr9   r+   r&   r$   r   r   "   sl         O !
 
 
 
 
 [
 
 
r&   N)
__future__r   __all__collections.abcr   mathr   typingr   r	   fastapir
   pydanticr   typing_extensionsr   basesr   r   r   r   typesr   r   r   r   r   r+   r&   r$   <module>rF      s`   " " " " " " 
 % $ $ $ $ $                           % % % % % % 6 6 6 6 6 6 6 6 6 6 + + + + + + 4 4 4 4 4 4 4 4wvs###
 
 
 
 
Y 
 
 
%
 %
 %
 %
 %
8D>74= %
 %
 %
 %
 %
r&   