using System; namespace RosettaUI.Reactive { public class Observer : IObserver { readonly Action _onNext; readonly Action _onError; readonly Action _onComplete; public Observer(Action onNext = null, Action onError = null, Action onComplete = null) { _onNext = onNext; _onError = onError; _onComplete = onComplete; } public void OnNext(T value) => _onNext?.Invoke(value); public void OnError(Exception error) => _onError?.Invoke(error); public void OnCompleted() => _onComplete?.Invoke(); } }