public IEitherResult <TLeft, TRight> Run()
            {
                IEitherResult <TLeft, TRight> result = _self.Run();

                _action(result);
                return(result);
            }
Beispiel #2
0
            public Unit Run()
            {
                IEitherResult <TLeft, TRight> result = _self.Run();

                _action(result.Right);
                return(Unit.Default);
            }
            public IEitherResult <TLeft, TRight> Run()
            {
                IEitherResult <TLeft, TRight> result = _self.Run();

                if (result.IsRight)
                {
                    _action(result.Right);
                }
                return(result);
            }
 public IEitherResult <TLeft, TRight> Run()
 {
     if (_selector())
     {
         return(_thenSource.Run());
     }
     else
     {
         return(_elseSource.Run());
     }
 }
Beispiel #5
0
        public static void Execute <TLeft, TRight>(this IEitherMonad <TLeft, TRight> self)
        {
            IEitherResult <TLeft, TRight> selfResult = self.Run();

            if (selfResult.IsRight)
            {
                return;
            }
            else
            {
                return;
            }
        }
Beispiel #6
0
            public IEitherResult <TLeft, TResultRight> Run()
            {
                IEitherResult <TLeft, TRight> result = _self.Run();

                if (result.IsLeft)
                {
                    return(new LeftResult <TLeft, TResultRight>(result.Left));
                }
                else
                {
                    return(_selector(result.Right).Run());
                }
            }
Beispiel #7
0
            public IEitherResult <TLeft, TRight> Run()
            {
                IEitherResult <TLeft, TRight> result = _self.Run();

                if (result.IsLeft)
                {
                    return(new ThrowableLeftResult <TLeft, TRight>(result.Left));
                }
                else
                {
                    return(new ThrowableRightResult <TLeft, TRight>(result.Right));
                }
            }
Beispiel #8
0
            public IEitherResult <TLeft, TRight> Run()
            {
                IEitherResult <TLeft, TRight> result = _self.Run();

                if (_selector(result))
                {
                    return(result);
                }
                else
                {
                    return(_elseSource.Run());
                }
            }
Beispiel #9
0
        public static void Execute <TLeft, TRight>(this IEitherMonad <TLeft, TRight> self, Action <TRight> onRight, Action <TLeft> onLeft)
        {
            IEitherResult <TLeft, TRight> selfResult = self.Run();

            if (selfResult.IsLeft)
            {
                onLeft(selfResult.Left);
                return;
            }
            else
            {
                onRight(selfResult.Right);
                return;
            }
        }
 IEitherResult <TLeft, TRight> RunSelf()
 {
     return(_self.Run());
 }
Beispiel #11
0
            public TResult Run()
            {
                IEitherResult <TLeft, TRight> result = _self.Run();

                return(result.IsRight ? _selector(result.Right) : _defaultValue);
            }
Beispiel #12
0
 public TResult Run()
 {
     return(_selector(_self.Run().Right));
 }
            public TResult Run()
            {
                var result = _self.Run();

                return(result.IsLeft ? _leftSelector(result.Left) : _rightSelector(result.Right));
            }
Beispiel #14
0
 public TResult Run()
 {
     return(_selector(_self.Run().Left));
 }