|
3 | 3 | import sys |
4 | 4 | from functools import wraps |
5 | 5 | from pathlib import Path |
6 | | -from typing import Callable, Optional |
| 6 | +from typing import Callable, Optional, TypeVar |
7 | 7 |
|
8 | 8 | from tests.types import P, RawFilesDict, RequirementsDict, RequirementsStem |
9 | 9 |
|
@@ -53,14 +53,15 @@ def run_command( |
53 | 53 | result.check_returncode() |
54 | 54 |
|
55 | 55 |
|
56 | | -def collect_requirements( |
57 | | - func: Callable[P, tuple[RawFilesDict, RequirementsStem]] |
58 | | -) -> Callable[P, tuple[RequirementsDict, RequirementsStem]]: |
| 56 | +R = TypeVar("R") |
| 57 | + |
| 58 | + |
| 59 | +def collect_requirements(func: Callable[P, tuple[RawFilesDict, R]]) -> Callable[P, tuple[RequirementsDict, R]]: |
59 | 60 | @wraps(func) |
60 | | - def wrapper(*args: P.args, **kwargs: P.kwargs) -> tuple[RequirementsDict, RequirementsStem]: |
61 | | - files_dict, requirements_stem = func(*args, **kwargs) |
| 61 | + def wrapper(*args: P.args, **kwargs: P.kwargs) -> tuple[RequirementsDict, R]: |
| 62 | + files_dict, other = func(*args, **kwargs) |
62 | 63 | requirements_dict = {filename: "\n".join(requirements) for filename, requirements in files_dict.items()} |
63 | | - return requirements_dict, requirements_stem |
| 64 | + return requirements_dict, other |
64 | 65 |
|
65 | 66 | return wrapper |
66 | 67 |
|
|
0 commit comments