Coverage for src / remedapy / find_index.py: 90%
10 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, Iterable
2from typing import TypeVar, overload
4from .decorator import make_data_last
6T = TypeVar('T')
9@overload
10def find_index(data: Iterable[T], predicate: Callable[[T], bool], /) -> int: ...
13@overload
14def find_index(predicate: Callable[[T], bool], /) -> Callable[[Iterable[T]], int]: ...
17@make_data_last
18def find_index(data: Iterable[T], predicate: Callable[[T], bool], /):
19 for i, item in enumerate(data):
20 if predicate(item):
21 return i
22 return -1