o
    1)h                     @  s   d dl mZ d dlZd dlmZ ejrddlmZ e Z	ej
ddddZej
ddddZddddZd ddZd!ddZd"d#ddZdS )$    )annotationsN)local   )ContextFsilentt.Literal[False]returnr   c                 C     d S N r   r   r   LC:\Users\User\Downloads\Proyecto_IoT\venv\Lib\site-packages\click/globals.pyget_current_context      r   .boolContext | Nonec                 C  r	   r
   r   r   r   r   r   r      r   c              
   C  sN   z
t dtjd W S  ttfy& } z| std|W Y d}~dS d}~ww )a  Returns the current click context.  This can be used as a way to
    access the current context object from anywhere.  This is a more implicit
    alternative to the :func:`pass_context` decorator.  This function is
    primarily useful for helpers such as :func:`echo` which might be
    interested in changing its behavior based on the current context.

    To push the current context, :meth:`Context.scope` can be used.

    .. versionadded:: 5.0

    :param silent: if set to `True` the return value is `None` if no context
                   is available.  The default behavior is to raise a
                   :exc:`RuntimeError`.
    r   z!There is no active click context.N)tcast_localstackAttributeError
IndexErrorRuntimeError)r   er   r   r   r      s   

ctxNonec                 C  s   t jdg |  dS )z*Pushes a new context to the current stack.r   N)r   __dict__
setdefaultappend)r   r   r   r   push_context,   s   r    c                   C  s   t j  dS )z%Removes the top level from the stack.N)r   r   popr   r   r   r   pop_context1   s   r"   colorbool | Nonec                 C  s(   | dur| S t dd}|dur|jS dS )zInternal helper to get the default value of the color flag.  If a
    value is passed it's returned unchanged, otherwise it's looked up from
    the current context.
    NTr   )r   r#   )r#   r   r   r   r   resolve_color_default6   s   
r%   )F)r   r   r   r   ).)r   r   r   r   )r   r   r   r   )r   r   r
   )r#   r$   r   r$   )
__future__r   typingr   	threadingr   TYPE_CHECKINGcorer   r   overloadr   r    r"   r%   r   r   r   r   <module>   s    

