
    g
                     8   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e             Z G d	 d
ee   ee   ee         Z G d dee   ee   ee         Z G d dee   ee   ee         Z G d dee   ee   ee         Zy)    )AnyListGenericTypeVarOptionalcast)Protocoloverrideruntime_checkable   )BasePagePageInfoBaseSyncPageBaseAsyncPage)SyncPage	AsyncPageSyncCursorPageAsyncCursorPage_Tc                       e Zd ZU ee   ed<   y)CursorPageItemidN)__name__
__module____qualname__r   str__annotations__     F/var/www/openai/venv/lib/python3.12/site-packages/openai/pagination.pyr   r      s    r   r   c                   Z    e Zd ZU dZee   ed<   eed<   edee   fd       Z	edd       Z
y)	r   LNote: no pagination actually occurs yet, this is for forwards-compatibility.dataobjectreturnc                 &    | j                   }|sg S |S Nr#   selfr#   s     r    _get_page_itemszSyncPage._get_page_items       yyIr   Nc                      y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*   s    r    next_page_infozSyncPage.next_page_info        r   r%   Nr   r   r   __doc__r   r   r   r   r
   r+   r0   r   r   r    r   r      D    V
r(NKb    r   r   c                   Z    e Zd ZU dZee   ed<   eed<   edee   fd       Z	edd       Z
y)	r   r"   r#   r$   r%   c                 &    | j                   }|sg S |S r'   r(   r)   s     r    r+   zAsyncPage._get_page_items.   r,   r   Nc                      yr.   r   r/   s    r    r0   zAsyncPage.next_page_info5   r1   r   r2   r3   r   r   r    r   r   (   r5   r   r   c                   V    e Zd ZU ee   ed<   edee   fd       Zedee	   fd       Z
y)r   r#   r%   c                 &    | j                   }|sg S |S r'   r(   r)   s     r    r+   zSyncCursorPage._get_page_itemsA   r,   r   c                     | j                   }|sy t        t        |d         }t        |t              r|j
                  y t        d|j
                  i      S Nafter)paramsr#   r   r   
isinstancer   r   r   r*   r#   items      r    r0   zSyncCursorPage.next_page_infoH   J    yyCb"$/477?122r   Nr   r   r   r   r   r   r
   r+   r   r   r0   r   r   r    r   r   >   H    
r(Nb   
3 2 
3 
3r   r   c                   V    e Zd ZU ee   ed<   edee   fd       Zedee	   fd       Z
y)r   r#   r%   c                 &    | j                   }|sg S |S r'   r(   r)   s     r    r+   zAsyncCursorPage._get_page_itemsY   r,   r   c                     | j                   }|sy t        t        |d         }t        |t              r|j
                  y t        d|j
                  i      S r<   r@   rB   s      r    r0   zAsyncCursorPage.next_page_info`   rD   r   NrE   r   r   r    r   r   V   rF   r   r   N)typingr   r   r   r   r   r   typing_extensionsr	   r
   r   _base_clientr   r   r   r   __all__r   r   r   r   r   r   r   r   r    <module>rN      s    ? > C C I I
HT] X  |B"wr{ ,b!8B< ,3\"%x|WR[ 303mB'"wr{ 3r   