o
    §iÀ  ã                   @   s@   d dl mZ d dlmZ d dlmZ eddG dd„ dƒƒZdS )	é    )ÚSequence)ÚAny)ÚfrozenT)Úkw_onlyc                   @   s’   e Zd ZU dZdZeeB dB ed< 	 dZeeB dB ed< 	 dZ	eeB dB ed< 	 dZ
eeB dB ed< 	 dZeeB dB ed< 	 ded	efd
d„ZdS )ÚNumberu·  Limit input number to a value range.

    Example Usage:

    .. code-block:: python

        from cyclopts import App, Parameter, validators
        from typing import Annotated

        app = App()


        @app.default
        def main(age: Annotated[int, Parameter(validator=validators.Number(gte=0, lte=150))]):
            print(f"You are {age} years old.")


        app()

    .. code-block:: console

        $ my-script 100
        You are 100 years old.

        $ my-script -1
        â•­â”€ Error â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â•®
        â”‚ Invalid value "-1" for "AGE". Must be >= 0.                   â”‚
        â•°â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â•¯

        $ my-script 200
        â•­â”€ Error â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â•®
        â”‚ Invalid value "200" for "AGE". Must be <= 150.                â”‚
        â•°â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â•¯
    NÚltÚlteÚgtÚgteÚmoduloÚtype_Úvaluec                 C   s  t |tƒrt |tƒrt‚|D ]}| ||ƒ qd S t |ttB ƒs!d S | jd ur4|| jkr4td| j› dƒ‚| jd urG|| jkrGtd| j› dƒ‚| j	d urZ|| j	krZtd| j	› dƒ‚| j
d urm|| j
k rmtd| j
› dƒ‚| jd ur€|| j r‚td| j› dƒ‚d S d S )Nz
Must be < Ú.zMust be <= z
Must be > zMust be >= zMust be a multiple of )Ú
isinstancer   ÚstrÚ	TypeErrorÚintÚfloatr   Ú
ValueErrorr   r	   r
   r   )Úselfr   r   Úv© r   úa/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/cyclopts/validators/_number.pyÚ__call__;   s&   

ÿÿzNumber.__call__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__annotations__r   r	   r
   r   r   r   r   r   r   r   r      s   
 #r   N)Úcollections.abcr   Útypingr   Úcyclopts.utilsr   r   r   r   r   r   Ú<module>   s
    