o
    VÌh`  ã                   @  s6   d dl mZ d dlmZ d dlmZ G dd„ dƒZdS )é    )Úannotations)ÚCleoValueError)ÚStylec                   @  sF   e Zd Zdddd„Zedd	d
„ƒZddd„Zddd„Zdddd„ZdS )Ú
StyleStackNÚempty_styleúStyle | NoneÚreturnÚNonec                 C  s   |d u rt ƒ }|| _g | _d S ©N)r   Ú_empty_styleÚ_styles)Úselfr   © r   úo/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/cleo/formatters/style_stack.pyÚ__init__   s   
zStyleStack.__init__r   c                 C  s   | j s| jS | j d S )Néÿÿÿÿ)r   r   ©r   r   r   r   Úcurrent   s   
zStyleStack.currentc                 C  s
   g | _ d S r
   )r   r   r   r   r   Úreset   s   
zStyleStack.resetÚstylec                 C  s   | j  |¡ d S r
   )r   Úappend)r   r   r   r   r   Úpush   s   zStyleStack.pushc                 C  sr   | j s| jS |d u r| j  ¡ S | d¡}ttt| j ƒƒƒD ]\}}|| d¡kr4| j d |… | _ |  S qtdƒ‚)NÚ zInvalid nested tag found)r   r   ÚpopÚapplyÚreversedÚlistÚ	enumerater   )r   r   ÚsampleÚiÚstacked_styler   r   r   r      s   

þzStyleStack.popr
   )r   r   r   r	   )r   r   )r   r	   )r   r   r   r	   )r   r   r   r   )	Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   r   r   r   r   r   r   r   r      s    

r   N)Ú
__future__r   Úcleo.exceptionsr   Úcleo.formatters.styler   r   r   r   r   r   Ú<module>   s    