ObservableEx
Provides a set of static methods for writing in-memory queries over observable sequences.
public static IObservable<ValueTuple<TFirst, TSecond>> CombineLatest<TFirst, TSecond>(this IObservable<TFirst> first, IObservable<TSecond> second)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IObservable<ValueTuple<TFirst, TSecond, TThird>> CombineLatest<TFirst, TSecond, TThird>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth>> CombineLatest<TFirst, TSecond, TThird, TFourth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IObservable<TResult> Create<TResult>(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.
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 IObservable<TSource> Expand<TSource>(this IObservable<TSource> source, 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 IObservable<TSource> Expand<TSource>(this IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector)
Expands an observable sequence by recursively invoking selector.
public static IObservable<TResult> ForkJoin<TSource1, TSource2, TResult>(this IObservable<TSource1> first, IObservable<TSource2> second, Func<TSource1, TSource2, TResult> resultSelector)
Runs two observable sequences in parallel and combines their last elements.
Runs all specified observable sequences in parallel and collects their last elements.
public static IObservable<TSource[]> ForkJoin<TSource>(this IEnumerable<IObservable<TSource>> sources)
Runs all observable sequences in the enumerable sources sequence in parallel and collect their last elements.
public static IObservable<TResult> Let<TSource, TResult>(this IObservable<TSource> source, 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 IObservable<TResult> ManySelect<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector, IScheduler scheduler)
Comonadic bind operator.
public static IObservable<TResult> ManySelect<TSource, TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector)
Comonadic bind operator.
Immediately subscribes to source and retains the elements in the observable sequence.
public static IObservable<ValueTuple<TFirst, TSecond>> WithLatestFrom<TFirst, TSecond>(this IObservable<TFirst> first, IObservable<TSecond> second)
Merges two observable sequences into one observable sequence by combining each element from the first source with the latest element from the second source, if any.
public static IObservable<ValueTuple<TFirst, TSecond>> Zip<TFirst, TSecond>(this IObservable<TFirst> first, IEnumerable<TSecond> second)
Merges an observable sequence and an enumerable sequence into one observable sequence of tuple values.
public static IObservable<ValueTuple<TFirst, TSecond>> Zip<TFirst, TSecond>(this IObservable<TFirst> first, IObservable<TSecond> second)
Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
public static IObservable<ValueTuple<TFirst, TSecond, TThird>> Zip<TFirst, TSecond, TThird>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third)
Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth>> Zip<TFirst, TSecond, TThird, TFourth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth)
Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth>> Zip<TFirst, TSecond, TThird, TFourth, TFifth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth)
Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth)
Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh)
Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
public static IObservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth)
Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.