fuhrysteve/marshmallow-jsonschema

Feature Request: Support enums when their value is a string type

palchicz opened this issue · 1 comments

When serializing an enum to json schema, there is a check to make sure the LoadDumpOption is not by value

raise NotImplementedError(

The code comment states:

Python allows enum values to be almost anything, so it's easier to just load from the
names of the enum's which will have to be strings.

Could this restriction be loosened to include when all the enum values are strings? That way, enums like...

class MyEnum(Enum):
    STR1 = "str1"
    STR2 = "str2"
    STR3 = "str3"

...would be supported when the field is set by value.

I think an alternative solution could be the following:

class MyEnum(str, Enum):
    STR1 = "str1"
    STR2 = "str2"
    STR3 = "str3"

This seems to work for my use cases