Beispiel #1
0
 public SelectCore(IIOMonad <T> self, Func <T, TResult> selector)
 {
     _self     = self;
     _selector = selector;
 }
 public SelectManyCore(IIOMonad <T> self, Func <T, IIOMonad <TResult> > selector)
 {
     _self     = self;
     _selector = selector;
 }
Beispiel #3
0
 public static IIOMonad <TResult> Select <T, TResult>(this IIOMonad <T> self, Func <T, TResult> selector)
 {
     return(new SelectCore <T, TResult>(self, selector));
 }
Beispiel #4
0
 public ShareCore(IIOMonad <T> self)
 {
     _self = self;
     _lazy = Lazy.Create <T>(RunSelf);
 }
 public static IIOMonad <TResult> SelectMany <TFirst, TSecond, TResult>(this IIOMonad <TFirst> self, Func <TFirst, IIOMonad <TSecond> > selector, Func <TFirst, TSecond, TResult> projector)
 {
     return(new SelectManyCore <TFirst, TSecond, TResult>(self, selector, projector));
 }
Beispiel #6
0
 public static IIOMonad <T> If <T>(IIOMonad <T> thenSource, IIOMonad <T> elseSource, Func <bool> selector)
 {
     return(new IfStaticCore <T>(thenSource, elseSource, selector));
 }
Beispiel #7
0
 public static IIOMonad <T> Share <T>(this IIOMonad <T> self)
 {
     return(new ShareCore <T>(self));
 }
Beispiel #8
0
 public static void Execute <T>(this IIOMonad <T> self)
 {
     self.RunIO();
 }
Beispiel #9
0
 public IfStaticCore(IIOMonad <T> thenSource, IIOMonad <T> elseSource, Func <bool> selector)
 {
     _thenSource = thenSource;
     _elseSource = elseSource;
     _selector   = selector;
 }
Beispiel #10
0
 public DoCore(IIOMonad <T> self, Action <T> action)
 {
     _self   = self;
     _action = action;
 }
Beispiel #11
0
        public static void Execute <T>(this IIOMonad <T> self, Action <T> onValue)
        {
            T result = self.RunIO();

            onValue(result);
        }
Beispiel #12
0
 public static IIOMonad <T> Do <T>(this IIOMonad <T> self, Action <T> action)
 {
     return(new DoCore <T>(self, action));
 }
Beispiel #13
0
 public static IIOMonad <T> If <T>(this IIOMonad <T> self, IIOMonad <T> elseSource, Func <T, bool> selector)
 {
     return(new IfCore <T>(self, elseSource, selector));
 }
Beispiel #14
0
 public IfCore(IIOMonad <T> self, IIOMonad <T> elseSource, Func <T, bool> selector)
 {
     _self       = self;
     _elseSource = elseSource;
     _selector   = selector;
 }
 public ToIdentityCore(IIOMonad <T> self)
 {
     _self = self;
     _lazy = Lazy.Create <T>(RunSelf);
 }
 public static IIdentityMonad <T> ToIdentity <T>(this IIOMonad <T> self)
 {
     return(new ToIdentityCore <T>(self));
 }