Added subject

This commit is contained in:
2023-04-15 18:59:24 +02:00
parent efc9cf9c83
commit e6ee543a1d
4 changed files with 113 additions and 35 deletions

View File

@@ -3,15 +3,18 @@ from cpl_reactive_extensions.observable import Observable
class Subject(Observable):
def __init__(self):
def __init__(self, _t: type):
Observable.__init__(self)
self._t = _t
self._value: T = None
@property
def value(self) -> T:
return self._value
def emit(self, value: T):
def next(self, value: T):
if not isinstance(value, self._t):
raise TypeError(f"Expected {self._t.__name__} not {type(value).__name__}")
self._value = value
self._subscriptions()