HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/pydantic/__pycache__/alias_generators.cpython-310.pyc
o

|��gL�@sJdZddlZdZdedefdd�Zdedefdd	�Zd
edefdd�ZdS)
zMAlias generators for converting between different capitalization conventions.�N)�	to_pascal�to_camel�to_snake�snake�returncCs|��}t�ddd�|�S)z�Convert a snake_case string to PascalCase.

    Args:
        snake: The string to convert.

    Returns:
        The PascalCase string.
    z([0-9A-Za-z])_(?=[0-9A-Z])cSs
|�d�S�N���group��m�r
�D/usr/local/lib/python3.10/dist-packages/pydantic/alias_generators.py�<lambda>s
zto_pascal.<locals>.<lambda>)�title�re�sub�r�camelr
r
rrs	rcCs6t�d|�rt�d|�s|St|�}t�ddd�|�S)z�Convert 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])cSs|�d���Sr)r
�lowerrr
r
rr(szto_camel.<locals>.<lambda>)r�match�searchrrrr
r
rrsrrcCs\t�ddd�|�}t�ddd�|�}t�ddd�|�}t�dd	d�|�}|�d
d�}|��S)z�Convert 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])cS�|�d��d|�d���S�Nr�_�r	rr
r
rr5�zto_snake.<locals>.<lambda>z([a-z])([A-Z])cSrrr	rr
r
rr7rz([0-9])([A-Z])cSrrr	rr
r
rr9rz([a-z])([0-9])cSrrr	rr
r
rr;r�-r)rr�replacer)rrr
r
rr+s
r)�__doc__r�__all__�strrrrr
r
r
r�<module>s