o
    9n0j  ã                   @   s&   d dl Z d dlZdd„ Zddd„ZdS )é    Nc                    s(   t  dd¡‰ t ˆ¡‡ ‡fdd„ƒ}|S )ze
    Wrap a method such that when it is called, the args and kwargs are
    saved on the method.
    Úargs_and_kwargszargs kwargsc                   s6   dˆj  }ˆ ||ƒ}t| ||ƒ ˆ| g|¢R i |¤ŽS )NZ_saved_)Ú__name__Úsetattr)ÚselfÚargsÚkwargsÚ	attr_nameÚattr©r   Úmethod© úV/home/wildlama/miniconda3/envs/lam_a2e/lib/python3.10/site-packages/zipp/_functools.pyÚwrapper   s   

z!save_method_args.<locals>.wrapper)ÚcollectionsÚ
namedtupleÚ	functoolsÚwraps)r   r   r   r
   r   Úsave_method_args   s   r   c                 C   s   | du r|S | S )zT
    >>> none_as(None, 'foo')
    'foo'
    >>> none_as('bar', 'foo')
    'bar'
    Nr   )ÚvalueÚreplacementr   r   r   Únone_as   s   r   )N)r   r   r   r   r   r   r   r   Ú<module>   s    