
    g                    B    d dl mZ d dlZ G d de      Z G d d      Zy)    )annotationsNc                      e Zd Zy)JSNumberBoundsExceptionN)__name__
__module____qualname__     U/var/www/openai/venv/lib/python3.12/site-packages/streamlit/elements/lib/js_number.pyr   r      s    r
   r   c                  L    e Zd ZdZdZdZdZdZe Ze	d	d
d       Z
e	dd       Zy)JSNumberz7Utility class for exposing JavaScript Number constants.l    l gg       Nc                    |d}|| j                   k  rt        | d| d      || j                  kD  rt        | d| d      y)a  Validate that an int value can be represented with perfect precision
        by a JavaScript Number.

        Parameters
        ----------
        value : int
        value_name : str or None
            The name of the value parameter. If specified, this will be used
            in any exception that is thrown.

        Raises
        ------
        JSNumberBoundsException
            Raised with a human-readable explanation if the value falls outside
            JavaScript int bounds.

        Nvalue (z) must be >= -((1 << 53) - 1)z) must be <= (1 << 53) - 1)MIN_SAFE_INTEGERr   MAX_SAFE_INTEGERclsr   
value_names      r   validate_int_boundszJSNumber.validate_int_bounds,   sn    &  J3'''),b'DE  S)))),b'AB  *r
   c                    |d}t        |t        j                  t        f      st	        | d| d      || j
                  k  rt	        | d| d      || j                  kD  rt	        | d| d      y)a  Validate that a float value can be represented by a JavaScript Number.

        Parameters
        ----------
        value : float
        value_name : str or None
            The name of the value parameter. If specified, this will be used
            in any exception that is thrown.

        Raises
        ------
        JSNumberBoundsException
            Raised with a human-readable explanation if the value falls outside
            JavaScript float bounds.

        Nr   r   z) is not a floatz) must be >= -1.797e+308z) must be <= 1.797e+308)
isinstancenumbersIntegralfloatr   MIN_NEGATIVE_VALUE	MAX_VALUEr   s      r   validate_float_boundszJSNumber.validate_float_boundsK   s    $  J%'"2"2E!:;)ZL5'AQ*RSSS+++),b'?@  S]]"),b'>?  #r
   )N)r   intr   
str | NonereturnNone)r   zint | floatr   r    r!   r"   )r   r   r   __doc__r   r   r   	MIN_VALUEr   classmethodr   r   r	   r
   r   r   r      sS    A % ( 'I I $ <  r
   r   )
__future__r   r   	Exceptionr   r   r	   r
   r   <module>r(      s%    # 	i 	Q Qr
   