
    _f
                     B    d dl mZ d dlmZmZmZ  G d de          ZdS )    )settings)
CompressorSOURCE_HUNKSOURCE_FILEc                   2     e Zd ZdhZd Z fdZddZ xZS )JsCompressorztext/javascriptc                 >   | j         r| j         S g | _        | j                                        D ]g}| j                            |          }d|v r<|                     |d                   }|                     |          }t          |||f}n#t          | j        	                    |          d |f}| j         
                    |           d|v rd}n	d|v rd}nd}| j        o| j        d         d         |k    }|r9t          j        r-| j        d         d	         j         
                    |           |                     | j                            |          
          }|j         
                    |           | j        
                    ||f           i| j         S )Nsrcasyncz asyncdeferz defer r      )content)split_contentextra_nodesparserjs_elemselem_attribsget_basenameget_filenamer   r   elem_contentappendr   COMPRESS_ENABLEDcopyelem_str)	selfelemattribsbasenamefilenamer   extraappend_to_previousnodes	            ?/var/www/html/env/lib/python3.11/site-packages/compressor/js.pysplit_contentszJsCompressor.split_contents	   s    	&%%K((** 	7 	7Dk..t44G,,WU^<<,,X66&(DA&(@(@(F(FdS%%g...'!! G## !%!1!Vd6Fr6J16MQV6V! 7h&? 7 $Q'5<<WEEEEyy)=)=d)C)CyDD"))'222 ''6666!!    c                    t           j        s"t           j        s|                    dd          r|                                  t          | d          r`g }| j        D ]A\  }}|j                            d|i           |	                     |j
        |i |           Bd                    |          S  t                      j
        |i |S )NforcedFr   r"   
)r   r   COMPRESS_PRECOMPILERSgetr&   hasattrr   extra_contextupdater   outputjoinsuper)r   argskwargsretr"   subnode	__class__s         r%   r0   zJsCompressor.output&   s    %	&-	& zz(E**	&
 !!!t]++ &&*&6 @ @NE7)00'51ABBBJJ~w~t>v>>????yy~~%uww~t.v...r'   Fc                     g }|                      |          D ]*}t          j        s|r|dz  }|                    |           +|S )zk
        Passes each hunk (file or code) to the 'input' methods
        of the compressor filters.
        ;)hunksr   r   r   )r   r)   r   hunks       r%   filter_inputzJsCompressor.filter_input5   s[    
 JJv&& 	! 	!D ( F NN4    r'   )F)__name__
__module____qualname__output_mimetypesr&   r0   r<   __classcell__)r7   s   @r%   r   r      sd        )*" " ":/ / / / /       r'   r   N)compressor.confr   compressor.baser   r   r   r    r'   r%   <module>rE      si    $ $ $ $ $ $ @ @ @ @ @ @ @ @ @ @? ? ? ? ?: ? ? ? ? ?r'   