Skip to content

Commit

Permalink
Add type hint for a generic enum definition
Browse files Browse the repository at this point in the history
  • Loading branch information
jasujm committed May 12, 2020
1 parent db90e7e commit c5deda2
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
2 changes: 1 addition & 1 deletion python/enumecg/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def generator(


def generate(
enum,
enum: definitions.Enum,
*,
documentation: typing.Union[generators.DocumentationStyle, str, None] = None,
primary_type: typing.Union[definitions.PrimaryType, str, None] = None,
Expand Down
10 changes: 9 additions & 1 deletion python/enumecg/definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,14 @@ class EnumDefinition:
enhanced_enum_documentation: typing.Optional[EnumDocumentation] = None


Enum = typing.Union[EnumDefinition, typing.Mapping, py_enum.EnumMeta]
"""Generic enum definition
Types accepted by :func:`make_definition()` and other functions that
are used to generate enhanced enum definition.
"""


def _make_definition_from_dict(enum_dict, *, primary_type, value_type):
typename = enum_dict["typename"]
members = enum_dict["members"]
Expand Down Expand Up @@ -122,7 +130,7 @@ def _extract_python_enum_attrs(enum):


def make_definition(
enum,
enum: Enum,
*,
primary_type: typing.Optional[PrimaryType] = None,
value_type: typing.Optional[str] = None,
Expand Down

0 comments on commit c5deda2

Please sign in to comment.