QbservableEx
Provides a set of static methods for writing queries over observable sequences, allowing translation to a target query language.
public static IQbservable<Unit> Create(this IQbservableProvider provider, Expression<Func<IEnumerable<IObservable<object>>>> iteratorMethod)
Subscribes to each observable sequence returned by the iteratorMethod in sequence and produces a Unit value on the resulting sequence for each step of the iteration.
public static IQbservable<TResult> Create<TResult>(this IQbservableProvider provider, Expression<Func<IObserver<TResult>, IEnumerable<IObservable<object>>>> iteratorMethod)
Subscribes to each observable sequence returned by the iteratorMethod in sequence and returns the observable sequence of values sent to the observer given to the iteratorMethod.
public static IQbservable<TSource> Expand<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, IObservable<TSource>>> selector)
Expands an observable sequence by recursively invoking selector.
public static IQbservable<TSource> Expand<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, IObservable<TSource>>> selector, IScheduler scheduler)
Expands an observable sequence by recursively invoking selector, using the specified scheduler to enumerate the queue of obtained sequences.
public static IQbservable<TSource[]> ForkJoin<TSource>(this IQbservableProvider provider, IObservable<TSource>[] sources)
Runs all specified observable sequences in parallel and collects their last elements.
public static IQbservable<TSource[]> ForkJoin<TSource>(this IQbservableProvider provider, IEnumerable<IObservable<TSource>> sources)
Runs all observable sequences in the enumerable sources sequence in parallel and collect their last elements.
public static IQbservable<TResult> ForkJoin<TSource1, TSource2, TResult>(this IQbservable<TSource1> first, IObservable<TSource2> second, Expression<Func<TSource1, TSource2, TResult>> resultSelector)
Runs two observable sequences in parallel and combines their last elements.
public static IQbservable<TResult> Let<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<IObservable<TSource>, IObservable<TResult>>> selector)
Returns an observable sequence that is the result of invoking the selector on the source sequence, without sharing subscriptions.
This operator allows for a fluent style of writing queries that use the same sequence multiple times.
public static IQbservable<TResult> ManySelect<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<IObservable<TSource>, TResult>> selector)
Comonadic bind operator.
public static IQbservable<TResult> ManySelect<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<IObservable<TSource>, TResult>> selector, IScheduler scheduler)
Comonadic bind operator.