from .observable import Observable
[docs]class Value(Observable):
def __init__(self, value):
super().__init__()
self._value = value
[docs] async def observe(self):
if isinstance(self._value, Exception):
raise self._value
return self._value
[docs] def update_without_notification(self, value):
self._value = value
[docs] async def update(self, value, notify=True):
if self._value != value:
self._value = value
if notify:
await self.trigger(value)
def __str__(self):
return '<rvalue>'
def __repr__(self):
return str(self)