示例#1
0
def _process_enum(cls: EnumMeta,
                  name: Optional[str] = None,
                  description: Optional[str] = None) -> EnumMeta:
    if not isinstance(cls, EnumMeta):
        raise NotAnEnum()

    if not name:
        name = cls.__name__

    description = description

    values = [EnumValue(item.name, item.value) for item in cls]  # type: ignore

    cls._enum_definition = EnumDefinition(  # type: ignore
        name=name,
        values=values,
        description=description,
    )

    return cls