ObservableEx
Provides a set of static methods for writing in-memory queries over observable sequences.
using System.Collections.Generic;
using System.Reactive.Concurrency;
using System.Runtime.CompilerServices;
namespace System.Reactive.Linq
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
public static class ObservableEx
{
private static IQueryLanguageEx s_impl = QueryServices.GetQueryImpl((IQueryLanguageEx)new QueryLanguageEx());
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second)> CombineLatest<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond>(this IObservable<TFirst> first, IObservable<TSecond> second)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
return s_impl.CombineLatest(first, second);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third)> CombineLatest<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
return s_impl.CombineLatest(first, second, third);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth)> CombineLatest<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
return s_impl.CombineLatest(first, second, third, fourth);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth)> CombineLatest<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth, [System.Runtime.CompilerServices.Nullable(2)] TFifth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
if (fifth == null)
throw new ArgumentNullException("fifth");
return s_impl.CombineLatest(first, second, third, fourth, fifth);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth)> CombineLatest<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth, [System.Runtime.CompilerServices.Nullable(2)] TFifth, [System.Runtime.CompilerServices.Nullable(2)] TSixth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
if (fifth == null)
throw new ArgumentNullException("fifth");
if (sixth == null)
throw new ArgumentNullException("sixth");
return s_impl.CombineLatest(first, second, third, fourth, fifth, sixth);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh)> CombineLatest<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth, [System.Runtime.CompilerServices.Nullable(2)] TFifth, [System.Runtime.CompilerServices.Nullable(2)] TSixth, [System.Runtime.CompilerServices.Nullable(2)] TSeventh>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
if (fifth == null)
throw new ArgumentNullException("fifth");
if (sixth == null)
throw new ArgumentNullException("sixth");
if (seventh == null)
throw new ArgumentNullException("seventh");
return s_impl.CombineLatest(first, second, third, fourth, fifth, sixth, seventh);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1,
1,
1,
1,
0,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth)> CombineLatest<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth, [System.Runtime.CompilerServices.Nullable(2)] TFifth, [System.Runtime.CompilerServices.Nullable(2)] TSixth, [System.Runtime.CompilerServices.Nullable(2)] TSeventh, [System.Runtime.CompilerServices.Nullable(2)] 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)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
if (fifth == null)
throw new ArgumentNullException("fifth");
if (sixth == null)
throw new ArgumentNullException("sixth");
if (seventh == null)
throw new ArgumentNullException("seventh");
if (eighth == null)
throw new ArgumentNullException("eighth");
return s_impl.CombineLatest(first, second, third, fourth, fifth, sixth, seventh, eighth);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second)> WithLatestFrom<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond>(this IObservable<TFirst> first, IObservable<TSecond> second)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
return s_impl.WithLatestFrom(first, second);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second)> Zip<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond>(this IObservable<TFirst> first, IEnumerable<TSecond> second)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
return s_impl.Zip(first, second);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second)> Zip<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond>(this IObservable<TFirst> first, IObservable<TSecond> second)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
return s_impl.Zip(first, second);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third)> Zip<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
return s_impl.Zip(first, second, third);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth)> Zip<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
return s_impl.Zip(first, second, third, fourth);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth)> Zip<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth, [System.Runtime.CompilerServices.Nullable(2)] TFifth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
if (fifth == null)
throw new ArgumentNullException("fifth");
return s_impl.Zip(first, second, third, fourth, fifth);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth)> Zip<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth, [System.Runtime.CompilerServices.Nullable(2)] TFifth, [System.Runtime.CompilerServices.Nullable(2)] TSixth>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
if (fifth == null)
throw new ArgumentNullException("fifth");
if (sixth == null)
throw new ArgumentNullException("sixth");
return s_impl.Zip(first, second, third, fourth, fifth, sixth);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1,
1,
1,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh)> Zip<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth, [System.Runtime.CompilerServices.Nullable(2)] TFifth, [System.Runtime.CompilerServices.Nullable(2)] TSixth, [System.Runtime.CompilerServices.Nullable(2)] TSeventh>(this IObservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
if (fifth == null)
throw new ArgumentNullException("fifth");
if (sixth == null)
throw new ArgumentNullException("sixth");
if (seventh == null)
throw new ArgumentNullException("seventh");
return s_impl.Zip(first, second, third, fourth, fifth, sixth, seventh);
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
1,
0,
1,
1,
1,
1,
1,
1,
1,
0,
1
})]
public static IObservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth)> Zip<[System.Runtime.CompilerServices.Nullable(2)] TFirst, [System.Runtime.CompilerServices.Nullable(2)] TSecond, [System.Runtime.CompilerServices.Nullable(2)] TThird, [System.Runtime.CompilerServices.Nullable(2)] TFourth, [System.Runtime.CompilerServices.Nullable(2)] TFifth, [System.Runtime.CompilerServices.Nullable(2)] TSixth, [System.Runtime.CompilerServices.Nullable(2)] TSeventh, [System.Runtime.CompilerServices.Nullable(2)] 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)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (third == null)
throw new ArgumentNullException("third");
if (fourth == null)
throw new ArgumentNullException("fourth");
if (fifth == null)
throw new ArgumentNullException("fifth");
if (sixth == null)
throw new ArgumentNullException("sixth");
if (seventh == null)
throw new ArgumentNullException("seventh");
if (eighth == null)
throw new ArgumentNullException("eighth");
return s_impl.Zip(first, second, third, fourth, fifth, sixth, seventh, eighth);
}
[Experimental]
public static IObservable<TResult> Create<[System.Runtime.CompilerServices.Nullable(2)] TResult>(Func<IObserver<TResult>, IEnumerable<IObservable<object>>> iteratorMethod)
{
if (iteratorMethod == null)
throw new ArgumentNullException("iteratorMethod");
return s_impl.Create(iteratorMethod);
}
[Experimental]
public static IObservable<Unit> Create(Func<IEnumerable<IObservable<object>>> iteratorMethod)
{
if (iteratorMethod == null)
throw new ArgumentNullException("iteratorMethod");
return s_impl.Create(iteratorMethod);
}
[Experimental]
public static IObservable<TSource> Expand<[System.Runtime.CompilerServices.Nullable(2)] TSource>(this IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector, IScheduler scheduler)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
if (scheduler == null)
throw new ArgumentNullException("scheduler");
return s_impl.Expand(source, selector, scheduler);
}
[Experimental]
public static IObservable<TSource> Expand<[System.Runtime.CompilerServices.Nullable(2)] TSource>(this IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
return s_impl.Expand(source, selector);
}
[Experimental]
public static IObservable<TResult> ForkJoin<[System.Runtime.CompilerServices.Nullable(2)] TSource1, [System.Runtime.CompilerServices.Nullable(2)] TSource2, [System.Runtime.CompilerServices.Nullable(2)] TResult>(this IObservable<TSource1> first, IObservable<TSource2> second, Func<TSource1, TSource2, TResult> resultSelector)
{
if (first == null)
throw new ArgumentNullException("first");
if (second == null)
throw new ArgumentNullException("second");
if (resultSelector == null)
throw new ArgumentNullException("resultSelector");
return s_impl.ForkJoin(first, second, resultSelector);
}
[Experimental]
public static IObservable<TSource[]> ForkJoin<[System.Runtime.CompilerServices.Nullable(2)] TSource>(params IObservable<TSource>[] sources)
{
if (sources == null)
throw new ArgumentNullException("sources");
return s_impl.ForkJoin(sources);
}
[Experimental]
public static IObservable<TSource[]> ForkJoin<[System.Runtime.CompilerServices.Nullable(2)] TSource>(this IEnumerable<IObservable<TSource>> sources)
{
if (sources == null)
throw new ArgumentNullException("sources");
return s_impl.ForkJoin(sources);
}
[Experimental]
public static IObservable<TResult> Let<[System.Runtime.CompilerServices.Nullable(2)] TSource, [System.Runtime.CompilerServices.Nullable(2)] TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
return s_impl.Let(source, selector);
}
[Experimental]
public static IObservable<TResult> ManySelect<[System.Runtime.CompilerServices.Nullable(2)] TSource, [System.Runtime.CompilerServices.Nullable(2)] TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector, IScheduler scheduler)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
if (scheduler == null)
throw new ArgumentNullException("scheduler");
return s_impl.ManySelect(source, selector, scheduler);
}
[Experimental]
public static IObservable<TResult> ManySelect<[System.Runtime.CompilerServices.Nullable(2)] TSource, [System.Runtime.CompilerServices.Nullable(2)] TResult>(this IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
return s_impl.ManySelect(source, selector);
}
[Experimental]
public static ListObservable<TSource> ToListObservable<[System.Runtime.CompilerServices.Nullable(2)] TSource>(this IObservable<TSource> source)
{
if (source == null)
throw new ArgumentNullException("source");
return s_impl.ToListObservable(source);
}
}
}