aboutsummaryrefslogtreecommitdiff
path: root/sbdata/util.py
blob: 87a30984760ff57c71401fe46c7fa7bfe4adc5f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
import functools
from typing import TypeVar, Generator, ParamSpec, Callable

_Param = ParamSpec('_Param')
_RetType = TypeVar('_RetType')


def no_generator(func: Callable[_Param, Generator[_RetType, None, None]]) -> Callable[_Param, list[_RetType]]:
    @functools.wraps(func)
    def wrapper(*args, **kwargs) -> list[_RetType]:
        return list(func(*args, **kwargs))

    return wrapper