Exemplo n.º 1
0
        public static IObservable <T> Where <T>(this IObservable <T> source, Func <T, bool> predicate)
        {
            // optimized path
            WhereObservable <T> whereObservable = source as UniRx.Operators.WhereObservable <T>;

            if (whereObservable != null)
            {
                return(whereObservable.CombinePredicate(predicate));
            }

            ISelect <T> selectObservable = source as UniRx.Operators.ISelect <T>;

            if (selectObservable != null)
            {
                return(selectObservable.CombinePredicate(predicate));
            }

            return(new WhereObservable <T>(source, predicate));
        }