public static async Task <Result <K, E> > Combine <T, K, E>(this IEnumerable <Task <Result <T, E> > > tasks, Func <IEnumerable <T>, K> composer)
            where E : ICombine
        {
            IEnumerable <Result <T, E> > results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait);

            return(results.Combine(composer));
        }
        public static async Task <Result <IEnumerable <T>, E> > Combine <T, E>(this IEnumerable <Task <Result <T, E> > > tasks)
            where E : ICombine
        {
            Result <T, E>[] results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait);

            return(results.Combine());
        }
Example #3
0
 public static Task <TResult[]> WhenAll <TResult>([NotNull, ItemNotNull] this IEnumerable <Task <TResult> > tasks) => TaskEx.WhenAll(tasks);
Example #4
0
 public static Task WhenAll([NotNull, ItemNotNull] this IEnumerable <Task> tasks) => TaskEx.WhenAll(tasks);
Example #5
0
        public static async Task <Result <K> > Combine <T, K>(this IEnumerable <Task <Result <T> > > tasks, Func <IEnumerable <T>, K> composer, string errorMessageSeparator = null)
        {
            IEnumerable <Result <T> > results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait);

            return(results.Combine(composer, errorMessageSeparator));
        }
Example #6
0
        public static async Task <Result <IEnumerable <T> > > Combine <T>(this IEnumerable <Task <Result <T> > > tasks, string errorMessageSeparator = null)
        {
            Result <T>[] results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait);

            return(results.Combine(errorMessageSeparator));
        }
        public static async Task <Result <IEnumerable <T>, E> > Combine <T, E>(this IEnumerable <Task <Result <T, E> > > tasks, Func <IEnumerable <E>, E> composerError)
        {
            Result <T, E>[] results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait);

            return(results.Combine(composerError));
        }
Example #8
0
 public static Task <TResult[]> WhenAll <TResult>(params Task <TResult>[] tasks)
 {
     return(TaskEx.WhenAll <TResult>((IEnumerable <Task <TResult> >)tasks));
 }
Example #9
0
 public static Task WhenAll(params Task[] tasks)
 {
     return(TaskEx.WhenAll((IEnumerable <Task>)tasks));
 }
Example #10
0
        public static async Task <Result> Combine(this IEnumerable <Task <Result> > tasks, string errorMessageSeparator = null)
        {
            Result[] results = await Task.WhenAll(tasks).DefaultAwait();

            return(results.Combine(errorMessageSeparator));
        }
Example #11
0
        public static async Task <Result <K, E> > Combine <T, K, E>(this IEnumerable <Task <Result <T, E> > > tasks, Func <IEnumerable <T>, K> composer, Func <IEnumerable <E>, E> composerError)
        {
            IEnumerable <Result <T, E> > results = await Task.WhenAll(tasks).DefaultAwait();

            return(results.Combine(composer, composerError));
        }