a
    !f	                     @   s   d dl mZmZmZmZmZ d dlmZmZm	Z	m
Z
 ddlmZ ddlmZmZmZmZ g dZe
G dd deZG d	d
 d
ee ee ee ZG dd dee ee ee ZG dd dee ee ee ZG dd dee ee ee ZdS )    )AnyListGenericOptionalcast)LiteralProtocoloverrideruntime_checkable   )ModelT)BasePagePageInfoBaseSyncPageBaseAsyncPage)SyncPage	AsyncPageSyncCursorPageAsyncCursorPagec                   @   s   e Zd ZU eed< dS )CursorPageItemidN)__name__
__module____qualname__str__annotations__ r   r   R/var/www/html/python-backend/venv/lib/python3.9/site-packages/openai/pagination.pyr      s   
r   c                   @   sR   e Zd ZU dZee ed< ed ed< eee dddZ	eddd	d
Z
dS )r   LNote: no pagination actually occurs yet, this is for forwards-compatibility.datalistobjectreturnc                 C   s   | j S Nr   selfr   r   r   _get_page_items   s    zSyncPage._get_page_itemsNc                 C   s   dS z
        This page represents a response that isn't actually paginated at the API level
        so there will never be a next page.
        Nr   r&   r   r   r   next_page_info   s    zSyncPage.next_page_infor   r   r   __doc__r   r   r   r   r	   r(   r*   r   r   r   r   r      s   
r   c                   @   sR   e Zd ZU dZee ed< ed ed< eee dddZ	eddd	d
Z
dS )r   r   r   r    r!   r"   c                 C   s   | j S r$   r%   r&   r   r   r   r(   *   s    zAsyncPage._get_page_itemsNc                 C   s   dS r)   r   r&   r   r   r   r*   .   s    zAsyncPage.next_page_infor+   r   r   r   r   r   $   s   
r   c                   @   sF   e Zd ZU ee ed< eee dddZeee	 dddZ
dS )r   r   r"   c                 C   s   | j S r$   r%   r&   r   r   r   r(   :   s    zSyncCursorPage._get_page_itemsc                 C   s8   | j s
d S tt| j d }t|ts(d S td|jidS Nafter)paramsr   r   r   
isinstancer   r   r   r'   itemr   r   r   r*   >   s    
zSyncCursorPage.next_page_infoNr   r   r   r   r   r   r	   r(   r   r   r*   r   r   r   r   r   7   s
   
r   c                   @   sF   e Zd ZU ee ed< eee dddZeee	 dddZ
dS )r   r   r"   c                 C   s   | j S r$   r%   r&   r   r   r   r(   N   s    zAsyncCursorPage._get_page_itemsc                 C   s8   | j s
d S tt| j d }t|ts(d S td|jidS r-   r1   r3   r   r   r   r*   R   s    
zAsyncCursorPage.next_page_infoNr5   r   r   r   r   r   K   s
   
r   N)typingr   r   r   r   r   Ztyping_extensionsr   r   r	   r
   _typesr   Z_base_clientr   r   r   r   __all__r   r   r   r   r   r   r   r   r   <module>   s      