File: //usr/local/lib/python3.10/dist-packages/pydantic/__pycache__/alias_generators.cpython-310.pyc
o
|��gL � @ sJ d Z ddlZdZdedefdd�Zdedefdd �Zd
edefdd�ZdS )
zMAlias generators for converting between different capitalization conventions.� N)� to_pascal�to_camel�to_snake�snake�returnc C s | � � }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])c S s
| � 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
r r s r c C s6 t �d| �rt �d| �s| S t| �}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])c S s | � d��� S r )r
�lowerr r
r
r r ( s zto_camel.<locals>.<lambda>)r �match�searchr r r r
r
r r s r r c C s\ 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])c S � | � d�� d| � d�� �S �Nr �_� r r r
r
r r 5 � zto_snake.<locals>.<lambda>z([a-z])([A-Z])c S r r r r r
r
r r 7 r z([0-9])([A-Z])c S r r r r r
r
r r 9 r z([a-z])([0-9])c S r 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