o
    DD©ie  ã                   @   sL   d dl mZ d dlZd dlmZ G dd„ dejƒZG dd„ deej ƒZ	dS )é    )ÚOptionalN)ÚBatchableMetadataProviderc                       s6   e Zd Zd
‡ fdd„Zdejddf‡ fdd	„Z‡  ZS )ÚParentNodeVisitorÚproviderÚParentNodeProviderÚreturnNc                    s   || _ tƒ  ¡  d S ©N)r   ÚsuperÚ__init__)Úselfr   ©Ú	__class__© ú]/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/metadata/parent_node_provider.pyr
      s   zParentNodeVisitor.__init__Úoriginal_nodec                    s*   |j D ]	}| j ||¡ qtƒ  |¡ d S r   )Úchildrenr   Úset_metadatar	   Úon_leave)r   r   Úchildr   r   r   r      s   
zParentNodeVisitor.on_leave)r   r   r   N)Ú__name__Ú
__module__Ú__qualname__r
   ÚcstÚCSTNoder   Ú__classcell__r   r   r   r   r      s     r   c                   @   s$   e Zd Zdejdee fdd„ZdS )r   Únoder   c                 C   s   |  t| ƒ¡ d S r   )Úvisitr   )r   r   r   r   r   Úvisit_Module   s   zParentNodeProvider.visit_ModuleN)r   r   r   r   ÚModuler   Úboolr   r   r   r   r   r      s    r   )
Útypingr   Úlibcstr   Úlibcst.metadata.base_providerr   Ú
CSTVisitorr   r   r   r   r   r   r   Ú<module>   s
   