Beispiel #1
0
        public static ISourceAdapter <T> Union <T>(this ITarget <T> self, ITarget <T> other)
        {
            var lf     = Lifetime.WhenAll(self.Lifetime, other.Lifetime);
            var signal = new SourceAdapter <T>(lf);

            self.Subscribe(x => { signal.Fire(x); });
            other.Subscribe(x => { signal.Fire(x); });

            return(signal);
        }
Beispiel #2
0
        public static ISourceAdapter <TRes> Select <T, TRes>(this ITarget <T> self, Func <T, TRes> selector)
        {
            var lf     = Lifetime.DefineDependent(self.Lifetime).Lifetime;
            var signal = new SourceAdapter <TRes>(lf);

            self.Subscribe(x =>
            {
                signal.Fire(selector(x));
            });

            return(signal);
        }
Beispiel #3
0
        public static ISourceAdapter <T> Where <T>(this ITarget <T> self, Func <T, bool> predecate)
        {
            var lf     = Lifetime.DefineDependent(self.Lifetime).Lifetime;
            var signal = new SourceAdapter <T>(lf);

            self.Subscribe(x =>
            {
                if (predecate(x))
                {
                    signal.Fire(x);
                }
            });

            return(signal);
        }
Beispiel #4
0
 private void Fire(T value)
 {
     _pureSourceAdapter.Fire(value);
 }