QbservableEx
Provides a set of static methods for writing queries over observable sequences, allowing translation to a target query language.
public static IQbservable<ValueTuple<TFirst, TSecond>> CombineLatest<TFirst, TSecond>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird>> CombineLatest<TFirst, TSecond, TThird>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth>> CombineLatest<TFirst, TSecond, TThird, TFourth>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, ValueTuple<TFifteenth>>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth, IObservable<TFifteenth> fifteenth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
public static IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, ValueTuple<TFifteenth, TSixteenth>>>> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth, TSixteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth, IObservable<TFifteenth> fifteenth, IObservable<TSixteenth> sixteenth)
Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
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.
public static IQbservable<ValueTuple<TFirst, TSecond>> WithLatestFrom<TFirst, TSecond>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond>> Zip<TFirst, TSecond>(this IQbservable<TFirst> first, IEnumerable<TSecond> second)
Merges an observable sequence and an enumerable sequence into one observable sequence of tuple values.
public static IQbservable<ValueTuple<TFirst, TSecond>> Zip<TFirst, TSecond>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird>> Zip<TFirst, TSecond, TThird>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth>> Zip<TFirst, TSecond, TThird, TFourth>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth>> Zip<TFirst, TSecond, TThird, TFourth, TFifth>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>(this IQbservable<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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth>(this IQbservable<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.
public static IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth)
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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth)
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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh)
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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth)
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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth)
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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth)
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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, ValueTuple<TFifteenth>>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth, IObservable<TFifteenth> fifteenth)
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 IQbservable<ValueTuple<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, ValueTuple<TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, ValueTuple<TFifteenth, TSixteenth>>>> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth, TSixteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth, IObservable<TFifteenth> fifteenth, IObservable<TSixteenth> sixteenth)
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.