%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/attr/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/attr/__pycache__/_cmp.cpython-312.pyc

�

��e���^�ddlZddlZddlmZdddddd	�Z							dd
�Zd�Zd�Zd
�Zd�Z	y)�N�)�_make_nez==�<z<=�>z>=)�eq�lt�le�gt�gec���dgt�gtd��d}d}|�d}td|��d<t��d<|�|d	z
}td
|��d<|�|d	z
}td|��d
<|�|d	z
}td|��d<|�|d	z
}td|��d<t	j
|tfi�fd��}	|r|	jjt�d|cxkrdkr(n|	S|s
d}
t|
��tj|	�}	|	S)a�
    Create a class that can be passed into `attrs.field`'s ``eq``, ``order``,
    and ``cmp`` arguments to customize field comparison.

    The resulting class will have a full set of ordering methods if at least
    one of ``{lt, le, gt, ge}`` and ``eq``  are provided.

    :param Optional[callable] eq: `callable` used to evaluate equality of two
        objects.
    :param Optional[callable] lt: `callable` used to evaluate whether one
        object is less than another object.
    :param Optional[callable] le: `callable` used to evaluate whether one
        object is less than or equal to another object.
    :param Optional[callable] gt: `callable` used to evaluate whether one
        object is greater than another object.
    :param Optional[callable] ge: `callable` used to evaluate whether one
        object is greater than or equal to another object.

    :param bool require_same_type: When `True`, equality and ordering methods
        will return `NotImplemented` if objects are not of the same type.

    :param Optional[str] class_name: Name of class. Defaults to 'Comparable'.

    See `comparison` for more details.

    .. versionadded:: 21.1.0
    �value)�	__slots__�__init__�
_requirements�_is_comparable_torFTr�__eq__�__ne__rr�__lt__r	�__le__r
�__gt__r�__ge__c�&��|j��S�N)�update)�ns�bodys ��+/usr/lib/python3/dist-packages/attr/_cmp.py�<lambda>zcmp_using.<locals>.<lambda>Ss���b�i�i��o���zDeq must be define is order to complete ordering from lt, le, gt, ge.)
�
_make_initr�_make_operatorr�types�	new_class�objectr�append�_check_same_type�
ValueError�	functools�total_ordering)rrr	r
r�require_same_type�
class_name�num_order_functions�has_eq_function�type_�msgrs           @r�	cmp_usingr1
sF���L�Y��L��.�	�D����O�	�~���'��b�1��X��!���X��	�~��q� ��'��b�1��X��	�~��q� ��'��b�1��X��	�~��q� ��'��b�1��X��	�~��q� ��'��b�1��X���O�O��V�I�r�#=�
�E�
�
���"�"�#3�4�	��"��"��L��Y�C��S�/�!��(�(��/���Lrc��d�}|S)z!
    Create __init__ method.
    c��||_y)z1
        Initialize object with *value*.
        N)r
)�selfr
s  rrz_make_init.<locals>.__init__ks����
r�)rs rr!r!fs��
��Orc�L���fd�}d|�d�|_dt|�d�|_|S)z!
    Create operator method.
    c���|j|�stS�|j|j�}|turtS|Sr)r�NotImplementedr
)r4�other�result�funcs   �r�methodz_make_operator.<locals>.methodys>����%�%�e�,�!�!��d�j�j�%�+�+�.���^�#�!�!��
r�__z	Return a z b.  Computed by attrs.)�__name__�_operation_names�__doc__)�namer;r<s ` rr"r"ts;���
��4�&��m�F�O�
�$�T�*�+�+B�C��N��Mrc�D���t��fd��jD��S)z8
    Check whether `other` is comparable to `self`.
    c3�0�K�|]
}|������y�wrr5)�.0r;r9r4s  ��r�	<genexpr>z$_is_comparable_to.<locals>.<genexpr>�s�����@�T�t�D�%� �@�s�)�allr�r4r9s``rrr�s����@�T�-?�-?�@�@�@rc�Z�|jj|jjuS)zR
    Return True if *self* and *other* are of the same type, False otherwise.
    )r
�	__class__rGs  rr'r'�s#���;�;� � �D�J�J�$8�$8�8�8r)NNNNNT�
Comparable)
r)r#�_makerr?r1r!r"rr'r5rr�<module>rLsV������c��S��M���������V�r��.A�9r

Zerion Mini Shell 1.0