o
    hQ                     @   s\   d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ G dd de	ZdS )	    escape)SequenceUnion)Attr)VOID_ELEMENTS	DOMStringElt)HTMLc                   @   st   e Zd ZdZededefddZedee	e
ef  de
fddZed	ede
fd
dZed	ede
fddZdS )DOMStringCompatzV
    The same as DOMString, but with as much backwards-compatibility as possible.
    attrreturnc                 C   s$   dd |   D }|  d|S )Nc                 S   s&   g | ]\}}d | dt | dqS ) z=""r   ).0kv r   f/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/draftjs_exporter/engines/string_compat.py
<listcomp>   s   & z0DOMStringCompat.render_attrs.<locals>.<listcomp> )itemssortjoin)r   attrsr   r   r   render_attrs   s   
zDOMStringCompat.render_attrschildrenc                 C   s   d dd | D S )Nr   c                 S   s,   g | ]}t |trt|nt|d dqS )T)quote)
isinstancer	   r   renderr   )r   cr   r   r   r      s    
z3DOMStringCompat.render_children.<locals>.<listcomp>)r   )r   r   r   r   render_children   s
   zDOMStringCompat.render_childreneltc                 C   s   | j }| jrt| jnd}| jrt| jnd}|dkr|S |tv r+d| | dS |dkr2| jS d| | d| d| dS )Nr   fragment</>escaped_html></typer   r   r   r   r!   r   markupr"   type_r   r   r   r   r   r   !   s   zDOMStringCompat.renderc                 C   st   | j }| jrt| jnd}| jrt| jnd}|tv r%d| | dS |dkr,| jS d| | d| d| dS )Nr   r$   r%   r&   r'   r(   r)   r,   r   r   r   render_debug2   s   zDOMStringCompat.render_debugN)__name__
__module____qualname____doc__staticmethodr   strr   r   r   r
   r	   r!   r   r.   r   r   r   r   r   	   s     r   N)htmlr   typingr   r   draftjs_exporter.engines.baser   draftjs_exporter.engines.stringr   r   r	   draftjs_exporter.typesr
   r   r   r   r   r   <module>   s    