Source code for dataclass_wizard.enums

"""
Re-usable Enum definitions

"""
from enum import Enum

from .utils.string_conv import *
from .utils.wrappers import FuncWrapper


[docs] class DateTimeTo(Enum): ISO_FORMAT = 0 TIMESTAMP = 1
[docs] class LetterCase(Enum): # Converts strings (generally in snake case) to camel case. # ex: `my_field_name` -> `myFieldName` CAMEL = FuncWrapper(to_camel_case) # Converts strings to "upper" camel case. # ex: `my_field_name` -> `MyFieldName` PASCAL = FuncWrapper(to_pascal_case) # Converts strings (generally in camel or snake case) to lisp case. # ex: `myFieldName` -> `my-field-name` LISP = FuncWrapper(to_lisp_case) # Converts strings (generally in camel case) to snake case. # ex: `myFieldName` -> `my_field_name` SNAKE = FuncWrapper(to_snake_case) # Perfoms no conversion on strings. # ex: `MY_FIELD_NAME` -> `MY_FIELD_NAME` NONE = FuncWrapper(lambda s: s) def __call__(self, *args): return self.value.f(*args)