o
    ©Rh­  ã                   @   sX   d dl mZmZ G dd„ deƒZdedeeef ddfdd	„Zd
ede	defdd„Z
dS )é    )ÚAnyÚDictc                   @   s   e Zd ZdZdS )ÚAlreadyUsedErrorz&An Outcome can only be unwrapped once.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r	   r	   úO/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/outcome/_util.pyr      s    r   Úmodule_nameÚ	namespaceÚreturnNc                    sX   dt dd f‡ ‡fdd„‰ |d }t|ttfƒsJ t|ƒƒ‚|D ]
}|| }ˆ |ƒ qd S )NÚobjr   c                    sV   t | dd ƒ}|d ur#| d¡r%ˆ| _t| tƒr'| j ¡ D ]}ˆ |ƒ qd S d S d S d S )Nr   zoutcome.)ÚgetattrÚ
startswithr   Ú
isinstanceÚtypeÚ__dict__Úvalues)r   ÚmodÚ
attr_value©Úfix_oner   r	   r
   r      s   

üz&fixup_module_metadata.<locals>.fix_oneÚ__all__)Úobjectr   ÚtupleÚlistÚrepr)r   r   Úall_listÚobjnamer   r	   r   r
   Úfixup_module_metadata	   s   
þr    ÚexcÚnc                 C   s0   | j }t|ƒD ]}|d usJ ‚|j}q|  |¡S )N)Ú__traceback__ÚrangeÚtb_nextÚwith_traceback)r!   r"   ÚtbÚ_r	   r	   r
   Úremove_tb_frames   s
   
r)   )Útypingr   r   ÚRuntimeErrorr   Ústrr   r    ÚBaseExceptionÚintr)   r	   r	   r	   r
   Ú<module>   s    ÿ
þ
ý