Esempio n. 1
0
            public IEitherResult <TLeft, TRight> RunEither()
            {
                IEitherResult <TLeft, TRight> result = _self.RunEither();

                _action(result);
                return(result);
            }
            public Unit RunIdentity()
            {
                IEitherResult <TLeft, TRight> result = _self.RunEither();

                _action(result.Right);
                return(Unit.Default);
            }
Esempio n. 3
0
            public IEitherResult <TLeft, TRight> RunEither()
            {
                IEitherResult <TLeft, TRight> result = _self.RunEither();

                if (result.IsRight)
                {
                    _action(result.Right);
                }
                return(result);
            }
Esempio n. 4
0
 public IEitherResult <TLeft, TRight> RunEither()
 {
     if (_selector())
     {
         return(_thenSource.RunEither());
     }
     else
     {
         return(_elseSource.RunEither());
     }
 }
Esempio n. 5
0
            public IEitherResult <TLeft, TResultRight> RunEither()
            {
                IEitherResult <TLeft, TRight> result = _self.RunEither();

                if (result.IsLeft)
                {
                    return(new LeftResult <TLeft, TResultRight>(result.Left));
                }
                else
                {
                    return(new RightResult <TLeft, TResultRight>(_selector(result.Right)));
                }
            }
            public IEitherResult <TLeft, TRight> RunEither()
            {
                IEitherResult <TLeft, TRight> result = _self.RunEither();

                if (result.IsLeft)
                {
                    return(new ThrowableLeftResult <TLeft, TRight>(result.Left));
                }
                else
                {
                    return(new ThrowableRightResult <TLeft, TRight>(result.Right));
                }
            }
Esempio n. 7
0
        public static void Execute <TLeft, TRight>(this IEitherMonad <TLeft, TRight> self)
        {
            IEitherResult <TLeft, TRight> selfResult = self.RunEither();

            if (selfResult.IsRight)
            {
                return;
            }
            else
            {
                return;
            }
        }
Esempio n. 8
0
            public IEitherResult <TLeft, TRight> RunEither()
            {
                IEitherResult <TLeft, TRight> result = _self.RunEither();

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

            if (selfResult.IsLeft)
            {
                onLeft(selfResult.Left);
                return;
            }
            else
            {
                onRight(selfResult.Right);
                return;
            }
        }
Esempio n. 10
0
            public TResult RunIdentity()
            {
                var result = _self.RunEither();

                return(result.IsLeft ? _leftSelector(result.Left) : _rightSelector(result.Right));
            }
Esempio n. 11
0
            public TResult RunIdentity()
            {
                IEitherResult <TLeft, TRight> result = _self.RunEither();

                return(result.IsRight ? _selector(result.Right) : _defaultValue);
            }
Esempio n. 12
0
 public TResult RunIdentity()
 {
     return(_selector(_self.RunEither().Right));
 }
Esempio n. 13
0
 IEitherResult <TLeft, TRight> RunSelf()
 {
     return(_self.RunEither());
 }