a
    _gL                     @   sD   d Z ddlZdZeedddZeedddZeed	d
dZdS )zMAlias generators for converting between different capitalization conventions.    N)	to_pascalto_camelto_snake)snakereturnc                 C   s   |   }tddd |S )zConvert a snake_case string to PascalCase.

    Args:
        snake: The string to convert.

    Returns:
        The PascalCase string.
    z([0-9A-Za-z])_(?=[0-9A-Z])c                 S   s
   |  dS N   groupm r   g/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/pydantic/alias_generators.py<lambda>       zto_pascal.<locals>.<lambda>)titleresubr   camelr   r   r   r      s    	r   c                 C   s6   t d| rt d| s| S t| }t ddd |S )zConvert a snake_case string to camelCase.

    Args:
        snake: The string to convert.

    Returns:
        The converted camelCase string.
    z^[a-z]+[A-Za-z0-9]*$z\d[a-z]z
(^_*[A-Z])c                 S   s   |  d S r   )r
   lowerr   r   r   r   r   (   r   zto_camel.<locals>.<lambda>)r   matchsearchr   r   r   r   r   r   r      s    r   )r   r   c                 C   s\   t ddd | }t ddd |}t ddd |}t dd	d |}|d
d}| S )zConvert a PascalCase, camelCase, or kebab-case string to snake_case.

    Args:
        camel: The string to convert.

    Returns:
        The converted string in snake_case.
    z([A-Z]+)([A-Z][a-z])c                 S   s   |  d d|  d S Nr   _   r	   r   r   r   r   r   5   r   zto_snake.<locals>.<lambda>z([a-z])([A-Z])c                 S   s   |  d d|  d S r   r	   r   r   r   r   r   7   r   z([0-9])([A-Z])c                 S   s   |  d d|  d S r   r	   r   r   r   r   r   9   r   z([a-z])([0-9])c                 S   s   |  d d|  d S r   r	   r   r   r   r   r   ;   r   -r   )r   r   replacer   )r   r   r   r   r   r   +   s    
r   )__doc__r   __all__strr   r   r   r   r   r   r   <module>   s
   