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

26 lines
754 B
Python

from typing import Any, Optional, Union
from reactivex import Observable, abc
from reactivex.scheduler import ImmediateScheduler
def throw_(
exception: Union[str, Exception], scheduler: Optional[abc.SchedulerBase] = None
) -> Observable[Any]:
exception_ = exception if isinstance(exception, Exception) else Exception(exception)
def subscribe(
observer: abc.ObserverBase[Any], scheduler: Optional[abc.SchedulerBase] = None
) -> abc.DisposableBase:
_scheduler = scheduler or ImmediateScheduler.singleton()
def action(scheduler: abc.SchedulerBase, state: Any) -> None:
observer.on_error(exception_)
return _scheduler.schedule(action)
return Observable(subscribe)
__all__ = ["throw_"]