public static IAsyncObservable <TSource> FirstOrDefault <TSource>(this IAsyncObservable <TSource> source) { if (source == null) { throw new ArgumentNullException(nameof(source)); } return(Create <TSource>(observer => source.SubscribeSafeAsync(AsyncObserver.FirstOrDefault(observer)))); }
public static IAsyncObservable <TSource> FirstOrDefault <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 <TSource>(observer => source.SubscribeSafeAsync(AsyncObserver.FirstOrDefault(observer, predicate)))); }