Server : LiteSpeed System : Linux in-mum-web1112.main-hosting.eu 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64 User : u451330669 ( 451330669) PHP Version : 8.2.27 Disable Function : NONE Directory : /opt/alt/python311/lib/python3.11/site-packages/jsons/ |
"""
PRIVATE MODULE: do not import (from) it directly.
This module contains functions that can be used to transform keys of
dictionaries.
"""
import re
def camelcase(str_: str) -> str:
"""
Return ``s`` in camelCase.
:param str_: the string that is to be transformed.
:return: a string in camelCase.
"""
str_ = str_.replace('-', '_')
splitted = str_.split('_')
if len(splitted) > 1:
str_ = ''.join([x.title() for x in splitted])
return str_[0].lower() + str_[1:]
def snakecase(str_: str) -> str:
"""
Return ``s`` in snake_case.
:param str_: the string that is to be transformed.
:return: a string in snake_case.
"""
str_ = str_.replace('-', '_')
str_ = str_[0].lower() + str_[1:]
return re.sub(r'([a-z])([A-Z])', '\\1_\\2', str_).lower()
def pascalcase(str_: str) -> str:
"""
Return ``s`` in PascalCase.
:param str_: the string that is to be transformed.
:return: a string in PascalCase.
"""
camelcase_str = camelcase(str_)
return camelcase_str[0].upper() + camelcase_str[1:]
def lispcase(str_: str) -> str:
"""
Return ``s`` in lisp-case.
:param str_: the string that is to be transformed.
:return: a string in lisp-case.
"""
return snakecase(str_).replace('_', '-')