
    RPf@                     D    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y)
zMAlias generators for converting between different capitalization conventions.    N)	to_pascalto_camelto_snakesnakereturnc                 R    | j                         }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                 $    | j                  d      S N   groupms    S/var/www/fastapitest/venv/lib/python3.12/site-packages/pydantic/alias_generators.py<lambda>zto_pascal.<locals>.<lambda>   s    !''!*     )titleresubr   camels     r   r   r      s$     KKME66.0DeLLr   c                 H    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])c                 @    | j                  d      j                         S r
   )r   lowerr   s    r   r   zto_camel.<locals>.<lambda>   s    !''!**:*:*< r   )r   r   r   r   s     r   r   r      s"     eE66, <eDDr   r   c                     t        j                  dd |       }t        j                  dd |      }t        j                  dd |      }t        j                  dd |      }|j                         S )	zConvert a PascalCase or camelCase 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                 L    | j                  d       d| j                  d       S Nr   _   r   r   s    r   r   zto_snake.<locals>.<lambda>+   s!    Aaggaj\6R r   z([a-z])([A-Z])c                 L    | j                  d       d| j                  d       S r   r   r   s    r   r   zto_snake.<locals>.<lambda>-   !    1771:,a
|0L r   z([0-9])([A-Z])c                 L    | j                  d       d| j                  d       S r   r   r   s    r   r   zto_snake.<locals>.<lambda>/   r!   r   z([a-z])([0-9])c                 L    | j                  d       d| j                  d       S r   r   r   s    r   r   zto_snake.<locals>.<lambda>1   r!   r   )r   r   r   )r   r   s     r   r   r   !   sa     FF*,RTYZEFF$&LeTEFF$&LeTEFF$&LeTE;;=r   )__doc__r   __all__strr   r   r    r   r   <module>r(      sO    S 	
/
MS 
MS 
M
EC 
EC 
EC C r   