Current File : //lib/python3.9/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc |
a
[��f� � @ s2 d Z ddlZddlmZmZmZ G dd� d�ZdS )zUtilities for defining models
� N)�Any�Callable�Typec @ s� e Zd ZdZddgZeed dd�dd�Zed�d d
�Z ee
d�dd
�Zee
d�dd�Zee
d�dd�Z
ee
d�dd�Zee
d�dd�Zeeeege
f e
d�dd�ZdS )�KeyBasedCompareMixinz7Provides comparison capabilities that is based on a key�_compare_key�_defining_classN)�key�defining_class�returnc C s || _ || _d S �N)r r )�selfr r � r
�>/usr/lib/python3.9/site-packages/pip/_internal/utils/models.py�__init__
s zKeyBasedCompareMixin.__init__)r
c C s
t | j�S r )�hashr )r r
r
r �__hash__ s zKeyBasedCompareMixin.__hash__)�otherr
c C s | � |tj�S r )�_compare�operator�__lt__�r r r
r
r r s zKeyBasedCompareMixin.__lt__c C s | � |tj�S r )r r �__le__r r
r
r r s zKeyBasedCompareMixin.__le__c C s | � |tj�S r )r r �__gt__r r
r
r r s zKeyBasedCompareMixin.__gt__c C s | � |tj�S r )r r �__ge__r r
r
r r s zKeyBasedCompareMixin.__ge__c C s | � |tj�S r )r r �__eq__r r
r
r r s zKeyBasedCompareMixin.__eq__)r �methodr
c C s t || j�stS || j|j�S r )�
isinstancer �NotImplementedr )r r r r
r
r r # s zKeyBasedCompareMixin._compare)�__name__�
__module__�__qualname__�__doc__� __slots__r r r �intr �boolr r r r r r r r
r
r
r r s r )r! r �typingr r r r r
r
r
r �<module> s