a
    f
                     @   s   d dl mZmZmZmZmZmZ d dlmZm	Z	m
Z
 ddlmZmZmZmZ g dZe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TypeVarOptionalcast)Protocoloverrideruntime_checkable   )BasePagePageInfoBaseSyncPageBaseAsyncPage)SyncPage	AsyncPageSyncCursorPageAsyncCursorPage_Tc                   @   s   e Zd ZU ee ed< dS )CursorPageItemidN)__name__
__module____qualname__r   str__annotations__ r   r   J/var/www/ai-form-bot/venv/lib/python3.9/site-packages/openai/pagination.pyr      s   
r   c                   @   sN   e Zd ZU dZee ed< e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objectreturnc                 C   s   | j }|sg S |S Nr   selfr   r   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                   @   sN   e Zd ZU dZee ed< eed< eee dddZ	edddd	Z
dS )
r   r   r   r    r!   c                 C   s   | j }|sg S |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*   5   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g S |S r#   r$   r%   r   r   r   r'   A   s    zSyncCursorPage._get_page_itemsc                 C   sD   | j }|sd S tt|d }t|tr0|jd u r4d S td|jidS Nafter)paramsr   r   r   
isinstancer   r   r   r&   r   itemr   r   r   r*   H   s    zSyncCursorPage.next_page_infoNr   r   r   r   r   r   r	   r'   r   r   r*   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g S |S r#   r$   r%   r   r   r   r'   Y   s    zAsyncCursorPage._get_page_itemsc                 C   sD   | j }|sd S tt|d }t|tr0|jd u r4d S td|jidS r-   r1   r3   r   r   r   r*   `   s    zAsyncCursorPage.next_page_infoNr5   r   r   r   r   r   V   s
   
r   N)typingr   r   r   r   r   r   typing_extensionsr   r	   r
   Z_base_clientr   r   r   r   __all__r   r   r   r   r   r   r   r   r   r   <module>   s       