o
    ÂiI  ã                   @   s²   d dl mZ d dlmZmZmZmZmZ d dlm	Z	m
Z
mZ er&d dlmZ G dd„ de
ƒZdedee d	efd
d„Zh d£Z	 deeeef  d	eeeeef f fdd„ZdS )é    )ÚRequestorOptions)ÚMappingÚOptionalÚDictÚTupleÚAny)ÚNotRequiredÚ	TypedDictÚTYPE_CHECKING)ÚStripeContextc                   @   sn   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< ed ed	< ed ed
< ed ed< dS )ÚRequestOptionszstr|NoneÚapi_keyÚstripe_versionÚstripe_accountzstr | StripeContext | NoneÚstripe_contextzint|NoneÚmax_network_retriesÚidempotency_keyÚcontent_typezMapping[str, str]|NoneÚheadersN)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__© r   r   úw/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/_request_options.pyr   	   s   
 r   Ú	requestorÚrequestÚreturnc              
   C   sš   |du r| j | j| j| j| jddddœS | d¡p| j | d¡p"| j| d¡p)| j| d¡p0| j| d¡dur<| d¡n| j| d¡| d	¡| d
¡dœS )zi
    Merge a client and request object, giving precedence to the values from
    the request object.
    N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   Úget)r   r   r   r   r   Úmerge_options   s0   ø



ÿór   >   r   r   r   r   Údc                 C   s@   | si i fS i }t | ƒ}dD ]}||v r| |¡||< q||fS )z„
    Extracts a RequestOptions object from a dict, and returns a tuple of
    the RequestOptions object and the remaining dict.
    )r   r   r   r   r   r   r   r   )ÚdictÚpop)r    ÚoptionsÚd_copyÚkeyr   r   r   Úextract_options_from_dictE   s   
€r&   N)Ústripe._requestor_optionsr   Útypingr   r   r   r   r   Útyping_extensionsr   r	   r
   Ústripe._stripe_contextr   r   r   ÚPERSISTENT_OPTIONS_KEYSÚstrr&   r   r   r   r   Ú<module>   s(    ÿþ
ý%ÿþ