
    tfv                     R    d dl mZ  G d de      Z G d de      Z G d de      Zy)	   )KeyArgsConstructorc                   "    e Zd ZdZd Zd Zd Zy)	TraversalzfTraversal method.

    Used by the tree rendering functions like :class:`~asciitree.LeftAligned`.
    c                     t         )z$Return a list of children of a node.)NotImplementedErrorselfnodes     ]/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/asciitree/traversal.pyget_childrenzTraversal.get_children	   s    !!    c                     |S )z7Return a node representing the tree root from the tree. r	   trees     r   get_rootzTraversal.get_root   s    r   c                     t        |      S )z'Return the text associated with a node.)strr   s     r   get_textzTraversal.get_text   s    4yr   N__name__
__module____qualname____doc__r   r   r   r   r   r   r   r      s    "r   r   c                   "    e Zd ZdZd Zd Zd Zy)DictTraversalzgTraversal suitable for a dictionary. Keys are tree labels, all values
    must be dictionaries as well.c                 :    t        |d   j                               S )Nr   listitemsr   s     r   r   zDictTraversal.get_children   s    DGMMO$$r   c                 :    t        |j                               d   S N    r   r   s     r   r   zDictTraversal.get_root   s    DJJL!!$$r   c                     |d   S r"   r   r   s     r   r   zDictTraversal.get_text   s    Awr   Nr   r   r   r   r   r      s    %%%r   r   c                       e Zd ZdZdZd Zy)AttributeTraversalzSAttribute traversal.

    Uses an attribute of a node as its list of children.
    childrenc                 .    t        || j                        S )N)getattr	attributer   s     r   r   zAttributeTraversal.get_children*   s    tT^^,,r   N)r   r   r   r   r*   r   r   r   r   r&   r&   #   s     I-r   r&   N)utilr   r   r   r&   r   r   r   <module>r,      s-    $" $
I 
- -r   