1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
"""Base Models."""
from pydantic import ConfigDict, BaseModel
def to_pascal(string):
return "".join(word.capitalize() for word in string.split("_"))
def to_camel(string):
words = string.split("_")
return words[0] + "".join(word.capitalize() for word in words[1:])
def to_lower(string):
return string.replace("_", "")
class PascalCaseModel(BaseModel):
model_config = ConfigDict(arbitrary_types_allowed=True, populate_by_name=True, alias_generator=to_pascal)
class CamelCaseModel(BaseModel):
model_config = ConfigDict(arbitrary_types_allowed=True, populate_by_name=True, alias_generator=to_camel)
class LowerCaseModel(BaseModel):
model_config = ConfigDict(arbitrary_types_allowed=True, populate_by_name=True, alias_generator=to_lower)
|