コード例 #1
0
        public static Func <T, IPromise <ControlValue <E> > > Canonical <T, E>(this PromiseFactory factory, Func <T, IPromise <NullableResult <E> > > fn)
        {
            return(factory.Canonical <T, E>(x => factory.SafeThen(fn(x), result =>
            {
                if (result == null || !result.HasResult)
                {
                    return ControlValue <E> .Next;
                }

                return ControlValue <E> .Return(result.Result);
            })));
        }
コード例 #2
0
 public static IPromise <E> SafeThen <T, E>(this PromiseFactory factory, IPromise <T> next, Func <T, E> conusmer)
 {
     return(factory.SafeThen(next, x => factory.Value(conusmer(x))));
 }
コード例 #3
0
 public static IPromise <E> SafeThen <T, E>(this PromiseFactory factory, IPromise <T> next, Func <IPromise <E> > consumer)
 {
     return(factory.SafeThen(next, x => consumer()));
 }
コード例 #4
0
 public static Func <T, IPromise <ControlValue <object> > > Canonical <T>(this PromiseFactory factory, Func <T, IPromise> fn)
 {
     return(factory.Canonical <T, object>(x => factory.SafeThen(fn(x), () => ControlValue <object> .Next)));
 }
コード例 #5
0
 public static Func <T, IPromise <ControlValue <object> > > Canonical <T>(this PromiseFactory factory, Func <T, IPromise <ControlState> > fn)
 {
     return(factory.Canonical <T, object>(x => factory.SafeThen(fn(x), result => new ControlValue <object>(result))));
 }
コード例 #6
0
 public static Func <T, IPromise <ControlValue <E> > > Canonical <T, E>(this PromiseFactory factory, Func <T, IPromise <E> > fn)
 {
     return(factory.Canonical <T, E>(x => factory.SafeThen(fn(x), result => ControlValue <E> .Return(result))));
 }
コード例 #7
0
 public static Func <IPromise <ControlValue <T> > > Canonical <T>(this PromiseFactory factory, Func <IPromise> fn)
 {
     return(factory.Canonical <T>(() => factory.SafeThen(fn, () => ControlState.Next)));
 }
コード例 #8
0
 public static IPromise SafeThen(this PromiseFactory factory, Func <IPromise> next, Action consumer)
 {
     return(factory.SafeThen(next(), consumer));
 }
コード例 #9
0
 public static Func <IPromise <ControlValue <T> > > Canonical <T>(this PromiseFactory factory, Func <IPromise <ControlState> > fn)
 {
     return(factory.Canonical(() => factory.SafeThen(fn, result => new ControlValue <T>(result))));
 }
コード例 #10
0
 public static IPromise SafeThen(this PromiseFactory factory, IPromise next, Action consumer)
 {
     return(factory.SafeThen(next, consumer.ReturnPromise(factory)));
 }
コード例 #11
0
 public static IPromise <T> SafeThen <T>(this PromiseFactory factory, Func <IPromise> next, Func <T> consumer)
 {
     return(factory.SafeThen(next(), consumer));
 }
コード例 #12
0
 public static IPromise SafeThen(this PromiseFactory factory, IPromise next, Func <IPromise> consumer)
 {
     return(factory.SafeThen(next, () => consumer().UnCast(factory)).Cast());
 }
コード例 #13
0
 public static IPromise <T> SafeThen <T>(this PromiseFactory factory, IPromise next, Func <T> conusmer)
 {
     return(factory.SafeThen(next, () => factory.Value(conusmer())));
 }
コード例 #14
0
 public static IPromise <T> SafeThen <T>(this PromiseFactory factory, IPromise next, Func <IPromise <T> > consumer)
 {
     return(factory.SafeThen(next.UnCast(factory), consumer));
 }
コード例 #15
0
 public static IPromise SafeThen <T>(this PromiseFactory factory, IPromise <T> next, Action consumer)
 {
     return(factory.SafeThen(next, x => consumer()));
 }
コード例 #16
0
 public static IPromise SafeThen <T>(this PromiseFactory factory, IPromise <T> next, Func <T, IPromise> consumer)
 {
     return(factory.SafeThen(next, x => consumer(x).UnCast(factory)).Cast());
 }