
    +h,                         d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZ  ede      Z G d deee         Zy	)
    )Self)AnyIteratorListGenericOptionalTypeVarcastMapping)StripeObject)
quote_plusT)boundc                   2    e Zd ZU dZee   ed<   eed<   eed<   	 	 	 dde	e   de	e   de	e   de
eef   d	ef
d
Z	 	 	 	 dde	e   de	e   de	e   de	e   de
eef   d	efdZ	 	 	 ddede	e   de	e   de	e   de
eef   f
dZded	ef fdZd	ee   fdZd	efdZd	ee   fdZd	ee   fdZe	 	 	 dde	e   de	e   de	e   d	efd       Zed	efd       Z	 	 	 dde	e   de	e   de	e   de
eef   d	ef
dZ	 	 	 dde	e   de	e   de	e   de
eef   d	ef
dZ xZS )
ListObjectlistdatahas_moreurlapi_keystripe_versionstripe_accountparamsreturnc                     | j                  d      }t        |t              st        d      t	        t
        | j                  d|||||            S )Nr   zBCannot call .list on a list object without a string "url" propertygetr   r   r   r   )r   
isinstancestr
ValueErrorr
   r   _request)selfr   r   r   r   r   s         S/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/list_object.pyr   zListObject.list   s`     hhuo#s#T  MM--  

 
	
    idempotency_keyc                     | j                  d      }t        |t              st        d      t	        t
        | j                  d||||||            S )Nr   zdCannot call .create on a list object for the collection of an object without a string "url" propertypost)r   r%   r   r   r   )r   r   r   r    r
   r   r!   )r"   r   r%   r   r   r   r   s          r#   createzListObject.create3   sc     hhuo#s#v  MM /--  
 	
r$   idc                     | j                  d      }t        |t              st        d      | j                  d      dt	        |      }t        t        | j                  d|||||            S )Nr   zfCannot call .retrieve on a list object for the collection of an object without a string "url" property/r   r   )r   r   r   r    r   r
   r   r!   )r"   r)   r   r   r   r   r   s          r#   retrievezListObject.retrieveM   sv     hhuo#s#x  %*R.9MM--  

 
	
r$   kc                     t        |t              rt        t        |   |      S t        dt        |      dt        |      d      )NzYou tried to access the z index, but ListObject 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[z]))r   r   superr   __getitem__KeyErrorrepr)r"   r-   	__class__s     r#   r0   zListObject.__getitem__h   s@    aT6q99 !%Qa2 r$   c                 8    t        | dg       j                         S Nr   )getattr__iter__r"   s    r#   r7   zListObject.__iter__v   s    tVR(1133r$   c                 8    t        | dg       j                         S r5   )r6   __len__r8   s    r#   r:   zListObject.__len__y   s    tVR(0022r$   c                 8    t        | dg       j                         S r5   )r6   __reversed__r8   s    r#   r<   zListObject.__reversed__|   s    tVR(5577r$   c              #      K   | }	 d| j                   v r3d| j                   vr%t        |      D ]  }|  |j                         }n|D ]  }|  |j                         }|j                  ry jw)Nending_beforestarting_after)_retrieve_paramsreversedprevious_page	next_pageis_empty)r"   pageitems      r#   auto_paging_iterzListObject.auto_paging_iter   s     4#8#88$D,A,AA$TN DJ))+  DJ~~'}} s   A.A0c                 2    | j                  dg i|||d       S )Nr   )keyr   r   last_response)construct_from)clsr   r   r   s       r#   
empty_listzListObject.empty_list   s/     !!RL)) " 
 	
r$   c                     | j                    S )N)r   r8   s    r#   rD   zListObject.is_empty   s    99}r$   c                 ^   | j                   s| j                  |||      S t        | j                  d   d      }|st	        d      | j
                  j                         }|j                  d|i       |j                  |        | j                  d|||d|}t        |t              sJ |S )Nr   r   r   r)   5Unexpected: element in .data of list object had no idr?    r   rM   r6   r   r    r@   copyupdater   r   r   )r"   r   r   r   r   last_idparams_with_filtersresults           r#   rC   zListObject.next_page   s     }}??-- #   $))B-.G  #3388:""$4g#>?""6* 
))
 "	
 &*---r$   c                 ^   | j                   s| j                  |||      S t        | j                  d   d      }|st	        d      | j
                  j                         }|j                  d|i       |j                  |        | j                  d|||d|}t        |t              sJ |S )NrP   r   r)   rR   r>   rS   rT   )r"   r   r   r   r   first_idrX   rY   s           r#   rB   zListObject.previous_page   s     }}??-- #   499Q<.G  #3388:""OX#>?""6* 
))
 "	
 &*---r$   )NNN)NNNN)__name__
__module____qualname__OBJECT_NAMEr   r   __annotations__boolr   r   r   r   r   r   r(   r,   r0   r   r7   intr:   r<   rG   classmethodrM   propertyrD   rC   rB   __classcell__)r3   s   @r#   r   r      s   K
q'MN	H "&(,(,	
#
 !
 !	

 #s(#
 

4 "&)-(,(,
#
 "#
 !	

 !
 #s(#
 

: "&(,(,

 #
 !	

 !
 #s(#
6	S 	Q 	4(1+ 43 38hqk 8(1+ &  "&(,(,	
#
 !
 !	

 

 
 $  
 "&(,(,	# ! !	
 #s(# 
F "&(,(,	# ! !	
 #s(# 
r$   r   N)typing_extensionsr   typingr   r   r   r   r   r	   r
   r   stripe.stripe_objectr   urllib.parser   r   r   rS   r$   r#   <module>rj      s?    "	 	 	 . #C|$Pwqz Pr$   