Files
onepilot/frogpilot/third_party/reactivex/operators/_sum.py
T
firestar5683 d0e1db6766 StarPilot
2026-03-22 03:15:05 -05:00

21 lines
511 B
Python

from typing import Any, Callable, Optional
from reactivex import Observable, compose
from reactivex import operators as ops
from reactivex.typing import Mapper
def sum_(
key_mapper: Optional[Mapper[Any, float]] = None
) -> Callable[[Observable[Any]], Observable[float]]:
if key_mapper:
return compose(ops.map(key_mapper), ops.sum())
def accumulator(prev: float, cur: float) -> float:
return prev + cur
return ops.reduce(seed=0, accumulator=accumulator)
__all__ = ["sum_"]