Source code for caspia.reactive.disposables

[docs]class Disposable:
[docs] def dispose(self): return NotImplementedError
def __enter__(self): pass def __exit__(self, exc_type, exc_value, exc_traceback): self.dispose()
[docs]class AnonymousDisposable(Disposable): def __init__(self, action=None): self.dispose_action = action or (lambda: None) self.is_disposed = False
[docs] def dispose(self): if not self.is_disposed: self.dispose_action() self.is_disposed = True