
    2Bf                         d Z ddlmZ ddlmZ  G d de      Zej                  Zej                  Zej                  Z G d d edd	            Z	 e	       Z
 e	eee
      Z e	eee
      Zy)z1Provide :class:`OnDup` and related functionality.    )
namedtuple)Enumc                   (    e Zd ZdZdZdZdZdefdZy)OnDupActionz8An action to take to prevent duplication from occurring.RAISEDROP_OLDDROP_NEWreturnc                 "    d| j                    dS )N<>)name)selfs    K/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/bidict/_dup.py__repr__zOnDupAction.__repr__   s    499+Q    N)	__name__
__module____qualname____doc__r   r   r	   strr    r   r   r   r      s"    B EHH #  r   r   c            	       @     e Zd ZdZdZeeefdedededd f fdZ xZ	S )OnDupzA 3-tuple of :class:`OnDupAction`\s specifying how to handle the 3 kinds of duplication.

    *See also* :ref:`basic-usage:Values Must Be Unique`

    If *kv* is not specified, *val* will be used for *kv*.
    r   keyvalkvr
   c                 0    t         |   | |||xs |      S )z1Override to provide user-friendly default values.)super__new__)clsr   r   r   	__class__s       r   r    zOnDup.__new__-   s    wsCbiC88r   )
r   r   r   r   	__slots__r   r   r   r    __classcell__)r"   s   @r   r   r   #   s?     I(0U^c 9+ 9{ 9P[ 9ho 9 9r   r   _OnDupz
key val kv)r   r   r   N)r   collectionsr   enumr   r   r   r   r	   r   ON_DUP_DEFAULTON_DUP_RAISEON_DUP_DROP_OLDr   r   r   <module>r+      sy    8 #  $   	9Jx. 9& Ee4H(x@r   