Skip to content

Commit

Permalink
Add typehints for step func returning types
Browse files Browse the repository at this point in the history
  • Loading branch information
Федосов Никита committed Sep 20, 2024
1 parent 20ba28a commit c90b22f
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions allure-python-commons/src/_allure.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from functools import wraps
from typing import Any, Callable, TypeVar
from typing import Any, Callable, TypeVar, Union, overload

from allure_commons._core import plugin_manager
from allure_commons.types import LabelType, LinkType, ParameterMode
Expand Down Expand Up @@ -161,7 +161,15 @@ def manual():
return Dynamic.label(LabelType.MANUAL, True)


def step(title):
@overload
def step(title: str) -> "StepContext":
...

@overload
def step(title: _TFunc) -> _TFunc:
...

def step(title: Union[str, _TFunc]) -> Union["StepContext", _TFunc]:
if callable(title):
return StepContext(title.__name__, {})(title)
else:
Expand Down

0 comments on commit c90b22f

Please sign in to comment.