public static IAsyncObservable <int> Count <TSource>(this IAsyncObservable <TSource> source) { if (source == null) { throw new ArgumentNullException(nameof(source)); } return(Create <int>(observer => source.SubscribeSafeAsync(AsyncObserver.Count <TSource>(observer)))); }
public static IAsyncObservable <int> Count <TSource>(this IAsyncObservable <TSource> source, Func <TSource, ValueTask <bool> > predicate) { if (source == null) { throw new ArgumentNullException(nameof(source)); } if (predicate == null) { throw new ArgumentNullException(nameof(predicate)); } return(Create <int>(observer => source.SubscribeSafeAsync(AsyncObserver.Count(observer, predicate)))); }