|
@@ -2,6 +2,8 @@
|
|
|
// The .NET Foundation licenses this file to you under the Apache 2.0 License.
|
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
|
|
+using System.Threading.Tasks;
|
|
|
+
|
|
|
namespace System.Reactive.Joins
|
|
|
{
|
|
|
public class AsyncPattern<TSource1> : AsyncPattern
|
|
@@ -20,6 +22,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2> : AsyncPattern
|
|
@@ -40,6 +50,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3> : AsyncPattern
|
|
@@ -62,6 +80,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4> : AsyncPattern
|
|
@@ -86,6 +112,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5> : AsyncPattern
|
|
@@ -112,6 +146,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6> : AsyncPattern
|
|
@@ -140,6 +182,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7> : AsyncPattern
|
|
@@ -170,6 +220,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8> : AsyncPattern
|
|
@@ -202,6 +260,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9> : AsyncPattern
|
|
@@ -236,6 +302,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10> : AsyncPattern
|
|
@@ -272,6 +346,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11> : AsyncPattern
|
|
@@ -310,6 +392,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12> : AsyncPattern
|
|
@@ -350,6 +440,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13> : AsyncPattern
|
|
@@ -392,6 +490,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14> : AsyncPattern
|
|
@@ -436,6 +542,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15> : AsyncPattern
|
|
@@ -482,6 +596,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public class AsyncPattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16> : AsyncPattern
|
|
@@ -530,6 +652,14 @@ namespace System.Reactive.Joins
|
|
|
|
|
|
return new AsyncPlan<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>(this, selector);
|
|
|
}
|
|
|
+
|
|
|
+ public AsyncPlan<TResult> Then<TResult>(Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, Task<TResult>> selector)
|
|
|
+ {
|
|
|
+ if (selector == null)
|
|
|
+ throw new ArgumentNullException(nameof(selector));
|
|
|
+
|
|
|
+ return new AsyncPlanWithTask<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>(this, selector);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|