public static object TestObservable(object valueToEcho, int seconds)
{
return ExcelAsyncUtil.Observe("TestObservable", new[] { valueToEcho, seconds }, () => {
Func<IObservable<object>> observableSource = () => {
return ((Func<IObservable<Notification<object>>>)(() =>
Observable.Interval(TimeSpan.FromSeconds(seconds))
.Select(x => (object)(valueToEcho.ToString() + x.ToString()))
.Materialize()))()
.Where(n => n.Kind != NotificationKind.OnCompleted)
.Select(v => v.HasValue ? v.Value : v.Exception);
};
return (IExcelObservable)new ExcelObservable<object>(observableSource());
});
}