Coverage for src / remedapy / add.py: 100%
7 statements
« prev ^ index » next coverage.py v7.13.2, created at 2026-02-02 10:52 +0100
« prev ^ index » next coverage.py v7.13.2, created at 2026-02-02 10:52 +0100
1from collections.abc import Callable
2from typing import TypeVar, overload
4TNum = TypeVar('TNum', int, float)
7@overload
8def add(a: int, /) -> Callable[[TNum], TNum]: ...
11@overload
12def add(a: float, /) -> Callable[[int | float], float]: ...
15@overload
16def add(a: int, b: TNum, /) -> TNum: ...
19@overload
20def add(a: TNum, b: int, /) -> TNum: ...
21# rename to value, addend
22def add(
23 a: int | float,
24 b: int | float | None = None,
25 /,
26) -> int | float | Callable[[int | float], int | float] | Callable[[TNum], TNum]:
27 if b is None:
28 return lambda b: a + b
29 return a + b