a
    _g                     @   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   _/var/www/html/cobodadashboardai.evdpl.com/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                       sp   e Zd ZU ee ed< dZee ed< e	ee dddZ
e	ed fddZe	ee dd	d
Z  ZS )r   r   Nhas_morer!   c                 C   s   | j }|sg S |S r#   r$   r%   r   r   r   r'   B   s    zSyncCursorPage._get_page_itemsc                    s$   | j }|d ur|du rdS t  S NFr-   superhas_next_pager&   r-   	__class__r   r   r1   I   s    zSyncCursorPage.has_next_pagec                 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*   Q   s    zSyncCursorPage.next_page_infor   r   r   r   r   r   r-   r   boolr	   r'   r1   r   r*   __classcell__r   r   r3   r   r   >   s   
r   c                       sp   e Zd ZU ee ed< dZee ed< e	ee dddZ
e	ed fddZe	ee dd	d
Z  ZS )r   r   Nr-   r!   c                 C   s   | j }|sg S |S r#   r$   r%   r   r   r   r'   c   s    zAsyncCursorPage._get_page_itemsc                    s$   | j }|d ur|du rdS t  S r.   r/   r2   r3   r   r   r1   j   s    zAsyncCursorPage.has_next_pagec                 C   sD   | j }|sd S tt|d }t|tr0|jd u r4d S td|jidS r5   r9   r;   r   r   r   r*   r   s    zAsyncCursorPage.next_page_infor=   r   r   r3   r   r   _   s   
r   N)typingr   r   r   r   r   r   Ztyping_extensionsr   r	   r
   Z_base_clientr   r   r   r   __all__r   r   r   r   r   r   r   r   r   r   <module>   s       !