U
    +ºc‘	  ã                   @   s°   d Z ddlZddlZddlmZ ddddœeeeed	œd
d„ZG dd„ dƒZG dd„ deƒZ	G dd„ deƒZ
e ¡ dd„ ƒZG dd„ deƒZG dd„ deƒZG dd„ deƒ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	   Zarg3r
   Zarg6r   r   r   Zarg5Zarg10r   r   ú</tmp/pip-unpacked-wheel-1xt1w7un/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      s    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   s   |d S ©Né   r   ©r   Úcountr   r   r   Údouble$   s    zKeywordOnly.doublec                C   s   |d S )Né   r   r   r   r   r   Útriple'   s    zKeywordOnly.tripleÚx)r!   c                C   s   t d| ƒ d S )Nzx: )Úprint)r   r!   r   r   r   Úwith_default*   s    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   |S r   r   )r   r   r   r   r   Úlru_cache_in_class0   s    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   s    r(   c                   @   s   e Zd Zejddd„ƒZdS )ÚWithAsyncior   c                 C   s   d| S r   r   r   r   r   r   r   <   s    zWithAsyncio.doubleN)r   )r   r   r   ÚasyncioÚ	coroutiner   r   r   r   r   r)   :   s   r)   c                   @   s^   e Zd ZdZeedœdd„Zeeeeeeeeeeeee            dœdd„ZdS )	Ú	WithTypesú;Class with functions that have default arguments and types.©r   Úreturnc                 C   s   d| S ©zŸReturns 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   D   s    	zWithTypes.double)Úlong_objc                 C   s   |S r   r   )r   r1   r   r   r   Ú	long_typeO   s    zWithTypes.long_typeN)	r   r   r   Ú__doc__Úfloatr   r   Úintr2   r   r   r   r   r,   A   s   ÿþr,   c                   @   s2   e Zd ZdZd
eedœdd„Zdedœdd	„ZdS )ÚWithDefaultsAndTypesr-   r   r.   c                 C   s   d| S r0   r   r   r   r   r   r   Z   s    	zWithDefaultsAndTypes.doubleN)Úvaluec                 C   s   |d krdS |S )Nr   r   )r   r7   r   r   r   Úget_inte   s    zWithDefaultsAndTypes.get_int)r   )N)r   r   r   r3   r4   r   r5   r8   r   r   r   r   r6   W   s   r6   )r   r   )r3   r*   r&   Útypingr   r5   r   r   Úobjectr   r$   r'   r(   r)   r,   r6   r   r   r   r   Ú<module>   s$    ÿ ÿ
