o
    i                     @   sJ   d dl mZ d dlmZmZmZmZ ededZG dd deee ZdS )    )StripeObject)ListOptionalTypeVarGenericT)boundc                       s^   e Zd ZU dZdZee ed< ee	 ed<  fddZ
dd Zd	d
 Zdd Zdd Z  ZS )
ListObjectz
    Represents one page of a list of V2 Stripe objects. Use `.data` to access
    the objects on this page, or use

    for item in list_object.auto_paging_iter():
      # do something with item

    to iterate over this and all following pages.
    listdatanext_page_urlc                    s2   t |trtt| |S tdt|t|f )NzYou tried to access the %s index, but ListObjectV2 types only support string keys. (HINT: List calls return an object with a 'data' (which is the data array). You likely want to call .data[%s]))
isinstancestrsuperr	   __getitem__KeyErrorrepr)selfk	__class__ v/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/v2/_list_object.pyr      s   
zListObject.__getitem__c                 C      t | dg  S Nr   )getattr__iter__r   r   r   r   r   "      zListObject.__iter__c                 C   r   r   )r   __len__r   r   r   r   r   %   r   zListObject.__len__c                 C   r   r   )r   __reversed__r   r   r   r   r    (   r   zListObject.__reversed__c                 c   sX    | j }| j}	 |D ]}|V  q
|d u rd S | jd|dd}t|ts%J |j }|j}q)NTgetapi)base_address)r   r   _requestr   r	   )r   pager   itemresultr   r   r   auto_paging_iter+   s"   zListObject.auto_paging_iter)__name__
__module____qualname____doc__OBJECT_NAMEr   r   __annotations__r   r   r   r   r   r    r(   __classcell__r   r   r   r   r	      s   
 
r	   N)	stripe._stripe_objectr   typingr   r   r   r   r   r	   r   r   r   r   <module>   s    