
    -h                        U d dl mZ d dlZd dlmZmZ ddZdd
Zej        eej	        eiZ
ded<   ddZddZddZej        eej        eiZded<   ddZddZdS )    )annotationsN)AnyCallablenodeast.Attributereturnstrc                >    t          | j                   d| j         S )N.)get_namevalueattrr   s    ]/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/_griffe/agents/nodes/assignments.py_get_attribute_namer   	   s"    tz""00TY000    ast.Namec                    | j         S N)idr   s    r   _get_name_namer      s	    7Nr   z dict[type, Callable[[Any], str]]_node_name_mapast.ASTc                F    t          t          |                    |           S )zExtract name from an assignment node.

    Parameters:
        node: The node to extract names from.

    Returns:
        A list of names.
    )r   typer   s    r   r   r      s     $t**%d+++r   
ast.Assign	list[str]c                <    d | j         D             }d |D             S )Nc              3  4   K   | ]}t          |          V  d S r   )r   ).0targets     r   	<genexpr>z$_get_assign_names.<locals>.<genexpr>$   s*      99&Xf999999r   c                    g | ]}||S  r$   r    names     r   
<listcomp>z%_get_assign_names.<locals>.<listcomp>%   s    +++Td+D+++r   )targets)r   namess     r   _get_assign_namesr*   #   s+    99DL999E++U++++r   ast.AnnAssignc                8    t          | j                  }|r|gng S r   )r   r!   )r   r&   s     r   _get_annassign_namesr-   (   s"    DK  D!D66r!r   z&dict[type, Callable[[Any], list[str]]]_node_names_mapc                F    t          t          |                    |           S )zExtract names from an assignment node.

    Parameters:
        node: The node to extract names from.

    Returns:
        A list of names.
    )r.   r   r   s    r   	get_namesr0   3   s     4::&t,,,r   c                4    d t          |           D             S )zExtract names from an assignment node, only for instance attributes.

    Parameters:
        node: The node to extract names from.

    Returns:
        A list of names.
    c                p    g | ]3}|                     d           |                    dd          d         4S )zself.r      )
startswithsplitr%   s     r   r'   z&get_instance_names.<locals>.<listcomp>H   s=    ZZZdQXAYAYZDJJsAq!ZZZr   )r0   r   s    r   get_instance_namesr6   ?   s     [ZiooZZZZr   )r   r   r   r	   )r   r   r   r	   )r   r   r   r	   )r   r   r   r   )r   r+   r   r   )r   r   r   r   )
__future__r   asttypingr   r   r   r   Name	Attributer   __annotations__r   r*   r-   Assign	AnnAssignr.   r0   r6   r$   r   r   <module>r?      s2   # " " " " " " 



                1 1 1 1   
 HnM&4    	, 	, 	, 	,, , , ,
" " " " J!M';    	- 	- 	- 	-	[ 	[ 	[ 	[ 	[ 	[r   