Ë
    V.j  ã                  ó˜   — d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ ddgZ ed«      Z ed	«      Z	 G d
„ dee   «      Z
 G d„ d«      Zy)é    )Úannotations)ÚAny)Úcast)ÚGeneric)ÚTypeVarÚStashÚStashKeyÚTÚDc                  ó   — e Zd ZdZdZy)r	   zï``StashKey`` is an object used as a key to a :class:`Stash`.

    A ``StashKey`` is associated with the type ``T`` of the value of the key.

    A ``StashKey`` is unique and cannot conflict with another key.

    .. versionadded:: 7.0
    © N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   ó    úOC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\_pytest/stash.pyr	   r	      s   „ ñð �Ir   c                  óT   — e Zd ZdZdZdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zy)r   aJ  ``Stash`` is a type-safe heterogeneous mutable mapping that
    allows keys and value types to be defined separately from
    where it (the ``Stash``) is created.

    Usually you will be given an object which has a ``Stash``, for example
    :class:`~pytest.Config` or a :class:`~_pytest.nodes.Node`:

    .. code-block:: python

        stash: Stash = some_object.stash

    If a module or plugin wants to store data in this ``Stash``, it creates
    :class:`StashKey`\s for its keys (at the module level):

    .. code-block:: python

        # At the top-level of the module
        some_str_key = StashKey[str]()
        some_bool_key = StashKey[bool]()

    To store information:

    .. code-block:: python

        # Value type must match the key.
        stash[some_str_key] = "value"
        stash[some_bool_key] = True

    To retrieve the information:

    .. code-block:: python

        # The static type of some_str is str.
        some_str = stash[some_str_key]
        # The static type of some_bool is bool.
        some_bool = stash[some_bool_key]

    .. versionadded:: 7.0
    ©Ú_storagec                ó   — i | _         y )Nr   ©Úselfs    r   Ú__init__zStash.__init__H   s	   € Ø57ˆ�r   c                ó"   — || j                   |<   y)zSet a value for key.Nr   )r   ÚkeyÚvalues      r   Ú__setitem__zStash.__setitem__K   s   € à"ˆ�‰�cÒr   c                ó<   — t        t        | j                  |   «      S )zZGet the value for key.

        Raises ``KeyError`` if the key wasn't set before.
        )r   r
   r   ©r   r   s     r   Ú__getitem__zStash.__getitem__O   s   € ô
 ”A�t—}‘} SÑ)Ó*Ð*r   c                ó0   — 	 | |   S # t         $ r |cY S w xY w)zNGet the value for key, or return default if the key wasn't set
        before.©ÚKeyError©r   r   Údefaults      r   Úgetz	Stash.getV   s%   € ð	Ø˜‘9ÐøÜò 	ØŠNð	ús   ‚ ‡”c                ó:   — 	 | |   S # t         $ r
 || |<   |cY S w xY w)zmReturn the value of key if already set, otherwise set the value
        of key to default and return default.r$   r&   s      r   Ú
setdefaultzStash.setdefault^   s.   € ð	Ø˜‘9ÐøÜò 	ØˆD�‰IØŠNð	ús   ‚ ‡™c                ó   — | j                   |= y)z]Delete the value for key.

        Raises ``KeyError`` if the key wasn't set before.
        Nr   r!   s     r   Ú__delitem__zStash.__delitem__g   s   € ð
 �M‰M˜#Ñr   c                ó   — || j                   v S )zReturn whether key was set.r   r!   s     r   Ú__contains__zStash.__contains__n   s   € à�d—m‘mÐ#Ð#r   c                ó,   — t        | j                  «      S )z)Return how many items exist in the stash.)Úlenr   r   s    r   Ú__len__zStash.__len__r   s   € ä�4—=‘=Ó!Ð!r   N)ÚreturnÚNone)r   úStashKey[T]r   r
   r2   r3   )r   r4   r2   r
   )r   r4   r'   r   r2   zT | D)r   r4   r'   r
   r2   r
   )r   r4   r2   r3   )r   r4   r2   Úbool)r2   Úint)r   r   r   r   r   r   r   r"   r(   r*   r,   r.   r1   r   r   r   r   r      s7   „ ñ&ðP €Ió8ó#ó+óóóó$ô"r   N)Ú
__future__r   Útypingr   r   r   r   Ú__all__r
   r   r	   r   r   r   r   Ú<module>r:      sP   ðÝ "å Ý Ý Ý ð �JÐ
€ñ ˆCƒL€ÙˆCƒL€ô
ˆw�q‰zô 
÷W"ò W"r   