o
    ĎiZ	                  
   @   s   d Z ddlZddlZddlmZ ddddd	ed
ededefddZG dd dZG dd dZG dd dZ	e
 dd ZG dd dZG dd dZG dd dZdS )z=This module has components that use Python 3 specific syntax.    N)Tuple
         (   )arg8arg9arg2arg4arg7r   c          
   
   O   s   | |||||||||	f
S N )
arg1r	   arg3r
   arg6r   r   r   arg5arg10r   r   T/home/jeff/fluffinator/venv/lib/python3.10/site-packages/fire/test_components_py3.pyidentity   s   r   c                   @   s   e Zd ZddddZdS )HelpTextComponent0)betac                C   s   ||fS r   r   )selfalphar   r   r   r   r         zHelpTextComponent.identityN)__name__
__module____qualname__r   r   r   r   r   r      s    r   c                   @   s*   e Zd Zdd Zdd ZddddZd	S )
KeywordOnlyc                C      |d S N   r   r   countr   r   r   double$   r   zKeywordOnly.doublec                C   r   )N   r   r"   r   r   r   triple'   r   zKeywordOnly.triplex)r'   c                C   s   t d|  d S )Nzx: )print)r   r'   r   r   r   with_default*      zKeywordOnly.with_defaultN)r   r   r   r$   r&   r)   r   r   r   r   r   "   s    r   c                   @   s   e Zd Ze dd ZdS )LruCacheDecoratedMethodc                 C      |S r   r   )r   r   r   r   r   lru_cache_in_class0      z*LruCacheDecoratedMethod.lru_cache_in_classN)r   r   r   	functools	lru_cacher-   r   r   r   r   r+   .   s    r+   c                 C   s   | S r   r   )r   r   r   r   lru_cache_decorated5   r.   r1   c                   @   s   e Zd ZdddZdS )WithAsyncior   c                    s
   d| S r    r   r"   r   r   r   r$   <   s   zWithAsyncio.doubleNr   )r   r   r   r$   r   r   r   r   r2   :   s    r2   c                   @   s`   e Zd ZdZdedefddZdeeeeeeeeeeeee            fddZd	S )
	WithTypes;Class with functions that have default arguments and types.r#   returnc                 C      d| S zReturns the input multiplied by 2.

    Args:
      count: Input number that you want to double.

    Returns:
      A number that is the double of count.
    r!   r   r"   r   r   r   r$   C      	zWithTypes.doublelong_objc                 C   r,   r   r   )r   r:   r   r   r   	long_typeN   s   zWithTypes.long_typeN)	r   r   r   __doc__floatr$   r   intr;   r   r   r   r   r4   @   s    r4   c                   @   s4   e Zd ZdZddedefddZddefd	d
ZdS )WithDefaultsAndTypesr5   r   r#   r6   c                 C   r7   r8   r   r"   r   r   r   r$   Y   r9   zWithDefaultsAndTypes.doubleNvaluec                 C   s   |d u rdS |S )Nr   r   )r   r@   r   r   r   get_intd   r*   zWithDefaultsAndTypes.get_intr3   r   )r   r   r   r<   r=   r$   r>   rA   r   r   r   r   r?   V   s    r?   )r   r   )r<   asyncior/   typingr   r>   r   r   r   r+   r0   r1   r2   r4   r?   r   r   r   r   <module>   s&   

