+
    -j                        ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt RR.t]! R4      t]! R	4      t	 ! R
 R]],          4      t
 ! R R4      tR# )    )annotations)Any)cast)Generic)TypeVarStashStashKeyTDc                      ] tR t^tRtRtRtR# )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____firstlineno____doc__	__slots____static_attributes__r       b/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/_pytest/stash.pyr	   r	      s     Ir   c                  ~    ] tR t^tRtRtR R ltR R ltR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltRtR# )r   a  ``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
c                   V ^8  d   QhRR/# )   returnNoner   )formats   "r   __annotate__Stash.__annotate__H   s     8 8$ 8r   c                	    / V n         R # )N_storageselfs   &r   __init__Stash.__init__H   s	    57r   c               $    V ^8  d   QhRRRRRR/# )r   keyStashKey[T]valuer
   r   r   r   )r   s   "r   r   r   K   s!     # #{ #1 # #r   c                "    W P                   V&   R# )zSet a value for key.Nr    )r#   r'   r)   s   &&&r   __setitem__Stash.__setitem__K   s    "cr   c                    V ^8  d   QhRRRR/# )r   r'   r(   r   r
   r   )r   s   "r   r   r   O   s     + +{ +q +r   c                D    \        \        V P                  V,          4      # )zJGet the value for key.

Raises ``KeyError`` if the key wasn't set before.
)r   r
   r!   r#   r'   s   &&r   __getitem__Stash.__getitem__O   s    
 At}}S)**r   c               $    V ^8  d   QhRRRRRR/# )r   r'   r(   defaultr   r   zT | Dr   )r   s   "r   r   r   V   s!      { Q 5 r   c                :     W,          #   \          d    Tu # i ; i)zFGet the value for key, or return default if the key wasn't set
before.KeyErrorr#   r'   r3   s   &&&r   get	Stash.getV   s#    	9 	N	s   
 c               $    V ^8  d   QhRRRRRR/# )r   r'   r(   r3   r
   r   r   )r   s   "r   r   r   ^   s!      k A ! r   c                B     W,          #   \          d
    Y T&   Tu # i ; i)zeReturn the value of key if already set, otherwise set the value
of key to default and return default.r5   r7   s   &&&r   
setdefaultStash.setdefault^   s*    	9 	IN	s   
 c                    V ^8  d   QhRRRR/# )r   r'   r(   r   r   r   )r   s   "r   r   r   g   s      { t r   c                     V P                   V R# )zMDelete the value for key.

Raises ``KeyError`` if the key wasn't set before.
Nr    r/   s   &&r   __delitem__Stash.__delitem__g   s    
 MM#r   c                    V ^8  d   QhRRRR/# )r   r'   r(   r   boolr   )r   s   "r   r   r   n   s     $ $ $ $r   c                    WP                   9   # )zReturn whether key was set.r    r/   s   &&r   __contains__Stash.__contains__n   s    mm##r   c                   V ^8  d   QhRR/# )r   r   intr   )r   s   "r   r   r   r   s     " " "r   c                ,    \        V P                  4      # )z)Return how many items exist in the stash.)lenr!   r"   s   &r   __len__Stash.__len__r   s    4==!!r   r    N)r   r   r   r   r   r   r$   r+   r0   r8   r<   r@   rE   rK   r   r   r   r   r   r      s<    &P I8#+$" "r   N)
__future__r   typingr   r   r   r   __all__r
   r   r	   r   r   r   r   <module>rP      sP    "     J
 CLCL
wqz 
W" W"r   