U
    d                     @   sJ   d dl mZmZmZmZ G dd dZG dd deZG dd deZdS )	    )Dict
NamedTupleOptionalUnionc                   @   s|   e Zd ZdZeeddddZedddZedd	d
ZedddZ	e
edddZe
edddZd edddZdS )	Timestampz"A nanosecond-resolution timestamp.N)secnsecreturnc                 C   sD   |dk s|dkrt d| |dk r,| }t|| _t|| _d S )Nr       eAz,Invalid value for nanoseconds in Timestamp: )
ValueErrorintr   r   )selfr   r    r   =/tmp/pip-unpacked-wheel-2bcd7zt2/prometheus_client/samples.py__init__   s    
zTimestamp.__init__)r	   c                 C   s   | j  d| jdS )N.Z09dr   r   r   r   r   r   __str__   s    zTimestamp.__str__c                 C   s   d| j  d| j dS )Nz
Timestamp(z, )r   r   r   r   r   __repr__   s    zTimestamp.__repr__c                 C   s   t | jt | jd  S )Nr
   )floatr   r   r   r   r   r   	__float__   s    zTimestamp.__float__)otherr	   c                 C   s"   t |to | j|jko | j|jkS N)
isinstancer   r   r   r   r   r   r   r   __eq__   s    zTimestamp.__eq__c                 C   s
   | |k S r   r   r   r   r   r   __ne__   s    zTimestamp.__ne__c                 C   s   | j |j kp| j|jkS r   r   r   r   r   r   __gt__   s    zTimestamp.__gt__)__name__
__module____qualname____doc__r   r   strr   r   r   objectboolr   r   r   r   r   r   r   r      s   r   c                   @   s>   e Zd ZU eeef ed< eed< dZee	ee
f  ed< dS )ExemplarlabelsvalueN	timestamp)r    r!   r"   r   r$   __annotations__r   r*   r   r   r   r   r   r   r   r'   '   s   
r'   c                   @   sV   e Zd ZU eed< eeef ed< eed< dZee	ee
f  ed< dZee ed< dS )Samplenamer(   r)   Nr*   exemplar)r    r!   r"   r$   r+   r   r   r*   r   r   r   r.   r'   r   r   r   r   r,   -   s
   
r,   N)typingr   r   r   r   r   r'   r,   r   r   r   r   <module>   s   #