o
    DDi_                     @   sX   d dl mZmZ d dlmZmZmZmZ d dlZ	d dl
mZ eddG dd dZdS )    )	dataclassfield)AnyDictListOptionalNT)frozenc                   @   s   e Zd ZU dZeedZee e	d< ee
dZeeef e	d< dZee e	d< dZee e	d< dZee e	d< dZeej e	d	< dZeej e	d
< edeej fddZdS )CodemodContexta  
    A context holding all information that is shared amongst all transforms
    and visitors in a single codemod invocation. When chaining multiple
    transforms together, the context holds the state that needs to be passed
    between transforms. The context is responsible for keeping track of
    metadata wrappers and the filename of the file that is being modified
    (if available).
    )default_factorywarningsscratchNfilenamefull_module_namefull_package_namewrappermetadata_managerreturnc                 C   s   | j }|du r	dS |jS )a  
        The current top level module being modified. As a convenience, you can
        use the :attr:`~libcst.codemod.Codemod.module` property on
        :class:`~libcst.codemod.Codemod` to refer to this when inside an actively
        running codemod.
        N)r   module)selfr    r   P/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/codemod/_context.pyr   >   s   	zCodemodContext.module)__name__
__module____qualname____doc__r   listr   r   str__annotations__dictr   r   r   r   r   r   r   r   cstMetadataWrapperr   metaFullRepoManagerpropertyModuler   r   r   r   r   r	      s   
 r	   )dataclassesr   r   typingr   r   r   r   libcstr   libcst.metadatametadatar!   r	   r   r   r   r   <module>   s   