Browse Source

Adding aliases for First, Single, and Last.

Bart De Smet 8 years ago
parent
commit
73259e7714

+ 1 - 8
AsyncRx.NET/ApiCompare/Program.cs

@@ -18,14 +18,7 @@ namespace ApiCompare
 
             var exclude = new[]
             {
-                "AsObservable",          // Trivially renamed to AsAsyncObservable.
-
-                "FirstAsync",            // Renamed to drop the Async suffix.
-                "FirstOrDefaultAsync",   // Renamed to drop the Async suffix.
-                "LastAsync",             // Renamed to drop the Async suffix.
-                "LastOrDefaultAsync",    // Renamed to drop the Async suffix.
-                "SingleAsync",           // Renamed to drop the Async suffix.
-                "SingleOrDefaultAsync",  // Renamed to drop the Async suffix.
+                "AsObservable",  // Trivially renamed to AsAsyncObservable.
 
                 "And",   // Postponing patterns.
                 "Then",  // Postponing patterns.

+ 4 - 0
AsyncRx.NET/System.Reactive.Async/System/Reactive/Linq/Operators/First.cs

@@ -8,6 +8,10 @@ namespace System.Reactive.Linq
 {
     partial class AsyncObservable
     {
+        public static IAsyncObservable<TSource> FirstAsync<TSource>(this IAsyncObservable<TSource> source) => First(source);
+        public static IAsyncObservable<TSource> FirstAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, bool> predicate) => First(source, predicate);
+        public static IAsyncObservable<TSource> FirstAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, Task<bool>> predicate) => First(source, predicate);
+
         public static IAsyncObservable<TSource> First<TSource>(this IAsyncObservable<TSource> source)
         {
             if (source == null)

+ 4 - 0
AsyncRx.NET/System.Reactive.Async/System/Reactive/Linq/Operators/FirstOrDefault.cs

@@ -8,6 +8,10 @@ namespace System.Reactive.Linq
 {
     partial class AsyncObservable
     {
+        public static IAsyncObservable<TSource> FirstOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source) => FirstOrDefault(source);
+        public static IAsyncObservable<TSource> FirstOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, bool> predicate) => FirstOrDefault(source, predicate);
+        public static IAsyncObservable<TSource> FirstOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, Task<bool>> predicate) => FirstOrDefault(source, predicate);
+
         public static IAsyncObservable<TSource> FirstOrDefault<TSource>(this IAsyncObservable<TSource> source)
         {
             if (source == null)

+ 4 - 0
AsyncRx.NET/System.Reactive.Async/System/Reactive/Linq/Operators/Last.cs

@@ -8,6 +8,10 @@ namespace System.Reactive.Linq
 {
     partial class AsyncObservable
     {
+        public static IAsyncObservable<TSource> LastAsync<TSource>(this IAsyncObservable<TSource> source) => Last(source);
+        public static IAsyncObservable<TSource> LastAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, bool> predicate) => Last(source, predicate);
+        public static IAsyncObservable<TSource> LastAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, Task<bool>> predicate) => Last(source, predicate);
+
         public static IAsyncObservable<TSource> Last<TSource>(this IAsyncObservable<TSource> source)
         {
             if (source == null)

+ 4 - 0
AsyncRx.NET/System.Reactive.Async/System/Reactive/Linq/Operators/LastOrDefault.cs

@@ -8,6 +8,10 @@ namespace System.Reactive.Linq
 {
     partial class AsyncObservable
     {
+        public static IAsyncObservable<TSource> LastOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source) => LastOrDefault(source);
+        public static IAsyncObservable<TSource> LastOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, bool> predicate) => LastOrDefault(source, predicate);
+        public static IAsyncObservable<TSource> LastOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, Task<bool>> predicate) => LastOrDefault(source, predicate);
+
         public static IAsyncObservable<TSource> LastOrDefault<TSource>(this IAsyncObservable<TSource> source)
         {
             if (source == null)

+ 4 - 0
AsyncRx.NET/System.Reactive.Async/System/Reactive/Linq/Operators/Single.cs

@@ -8,6 +8,10 @@ namespace System.Reactive.Linq
 {
     partial class AsyncObservable
     {
+        public static IAsyncObservable<TSource> SingleAsync<TSource>(this IAsyncObservable<TSource> source) => Single(source);
+        public static IAsyncObservable<TSource> SingleAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, bool> predicate) => Single(source, predicate);
+        public static IAsyncObservable<TSource> SingleAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, Task<bool>> predicate) => Single(source, predicate);
+
         public static IAsyncObservable<TSource> Single<TSource>(this IAsyncObservable<TSource> source)
         {
             if (source == null)

+ 4 - 0
AsyncRx.NET/System.Reactive.Async/System/Reactive/Linq/Operators/SingleOrDefault.cs

@@ -8,6 +8,10 @@ namespace System.Reactive.Linq
 {
     partial class AsyncObservable
     {
+        public static IAsyncObservable<TSource> SingleOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source) => SingleOrDefault(source);
+        public static IAsyncObservable<TSource> SingleOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, bool> predicate) => SingleOrDefault(source, predicate);
+        public static IAsyncObservable<TSource> SingleOrDefaultAsync<TSource>(this IAsyncObservable<TSource> source, Func<TSource, Task<bool>> predicate) => SingleOrDefault(source, predicate);
+
         public static IAsyncObservable<TSource> SingleOrDefault<TSource>(this IAsyncObservable<TSource> source)
         {
             if (source == null)