Coverage for src / remedapy / only.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, Sequence
2from typing import TypeVar, overload
4T = TypeVar('T')
7@overload
8def only() -> Callable[[Sequence[T]], T | None]: ...
11@overload
12def only(array: Sequence[T], /) -> T | None: ...
15def only(array: Sequence[T] | None = None, /) -> T | None | Callable[[Sequence[T]], T | None]:
16 if array is None:
17 return only
18 return array[0] if len(array) == 1 else None