
    AHj                    T    d dl mZ d dlmZmZ  G d de      Z G d de      Zd	dZy)
    )annotations)Any
NamedTuplec                      e Zd ZdZy)	NoHandlerz,Raised when handler isn't found in the meta.N)__name__
__module____qualname____doc__     M/root/tools/cai/cai_env/lib/python3.12/site-packages/textual/_event_broker.pyr   r      s    6r   r   c                  &    e Zd ZU dZded<   ded<   y)HandlerArgumentszInformation for event handler.zset[str]	modifiersr   actionN)r   r	   r
   r   __annotations__r   r   r   r   r   
   s    (Kr   r   c                (   | j                  d      }|j                         D ]a  \  }}|j                  d      s|dd j                  d      }|dt        |       |k(  s>|t        |      d }t	        t        |      |      c S  t        d|       )zExtract action from meta dict.

    Args:
        event_name: Event to check from.
        meta: Meta information (stored in Rich Style)

    Raises:
        NoHandler: If no handler is found.

    Returns:
        Action information.
    .@   NzNo handler for )splititems
startswithlenr   setr   )
event_namemeta
event_pathkeyvalue	name_argsr   s          r   extract_handler_actionsr#      s     !!#&Jjjl ?
U>>#ABc*I*3z?+z9%c*o&78	'I>>? oj^4
55r   N)r   strr   zdict[str, Any]returnr   )	
__future__r   typingr   r   	Exceptionr   r   r#   r   r   r   <module>r)      s(    " "7	 7z 6r   