Register hooks for structuring and destructuring enums using member names.
(conv: cattrs.Converter, cl: typing.Any = enum.Enum)
| 350 | |
| 351 | |
| 352 | def configure_converter_enum(conv: cattrs.Converter, cl: typing.Any = enum.Enum): |
| 353 | """Register hooks for structuring and destructuring enums using member names.""" |
| 354 | |
| 355 | def to_enum_name(val: enum.Enum) -> str: |
| 356 | return val.name |
| 357 | |
| 358 | def from_enum_name(name: str, cls: type[enum.Enum]) -> enum.Enum: |
| 359 | return cls[name] |
| 360 | |
| 361 | conv.register_unstructure_hook(cl, to_enum_name) |
| 362 | conv.register_structure_hook(cl, from_enum_name) |
no outgoing calls