
    bMhL                     F    d Z ddlZdZdedefdZdedefdZdedefd	ZdS )
zMAlias generators for converting between different capitalization conventions.    N)	to_pascalto_camelto_snakesnakereturnc                 X    |                                  }t          j        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                 ,    |                      d          S N   groupms    Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pydantic/alias_generators.py<lambda>zto_pascal.<locals>.<lambda>   s    !''!**     )titleresubr   camels     r   r   r      s*     KKMME6.0D0DeLLLr   c                     t          j        d|           rt          j        d|           s| S t          |           }t          j        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                 P    |                      d                                          S r
   )r   lowerr   s    r   r   zto_camel.<locals>.<lambda>(   s    !''!***:*:*<*< r   )r   matchsearchr   r   r   s     r   r   r      sV     
x&.. ryU7S7S eE6, < <eDDDr   r   c                    t          j        dd |           }t          j        dd |          }t          j        dd |          }t          j        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                 \    |                      d           d|                      d           S Nr   _   r   r   s    r   r   zto_snake.<locals>.<lambda>5   s(    6R6Raggajj6R6R r   z([a-z])([A-Z])c                 \    |                      d           d|                      d           S r   r   r   s    r   r   zto_snake.<locals>.<lambda>7   (    1771::0L0L

0L0L r   z([0-9])([A-Z])c                 \    |                      d           d|                      d           S r   r   r   s    r   r   zto_snake.<locals>.<lambda>9   r#   r   z([a-z])([0-9])c                 \    |                      d           d|                      d           S r   r   r   s    r   r   zto_snake.<locals>.<lambda>;   r#   r   -r    )r   r   replacer   )r   r   s     r   r   r   +   s     F*,R,RTYZZEF$&L&LeTTEF$&L&LeTTEF$&L&LeTTEMM#s##E;;==r   )__doc__r   __all__strr   r   r    r   r   <module>r,      s    S S 				
/
MS 
MS 
M 
M 
M 
MEC EC E E E E$C C      r   