Table of Contents

Class CombineExtensionsAsync

Namespace
Trellis
Assembly
Trellis.Core.dll

Combines two or more Result<TValue> into one tuple containing all the Results.

public static class CombineExtensionsAsync
Inheritance
CombineExtensionsAsync
Inherited Members

Methods

CombineAsync<T1, T2>(Task<Result<T1>>, Task<Result<T2>>)

Combine two results into a tuple. Both sides are async (Task).

public static Task<Result<(T1, T2)>> CombineAsync<T1, T2>(this Task<Result<T1>> tt1, Task<Result<T2>> tt2)

Parameters

tt1 Task<Result<T1>>
tt2 Task<Result<T2>>

Returns

Task<Result<(T1, T2)>>

Type Parameters

T1
T2

CombineAsync<T1, T2>(Task<Result<T1>>, Result<T2>)

Combine two results into a tuple. Left is async (Task), right is sync.

public static Task<Result<(T1, T2)>> CombineAsync<T1, T2>(this Task<Result<T1>> tt1, Result<T2> t2)

Parameters

tt1 Task<Result<T1>>
t2 Result<T2>

Returns

Task<Result<(T1, T2)>>

Type Parameters

T1
T2

CombineAsync<T1, T2>(ValueTask<Result<T1>>, ValueTask<Result<T2>>)

Combine two results into a tuple. Both sides are async (ValueTask).

public static ValueTask<Result<(T1, T2)>> CombineAsync<T1, T2>(this ValueTask<Result<T1>> vt1, ValueTask<Result<T2>> vt2)

Parameters

vt1 ValueTask<Result<T1>>
vt2 ValueTask<Result<T2>>

Returns

ValueTask<Result<(T1, T2)>>

Type Parameters

T1
T2

CombineAsync<T1, T2>(ValueTask<Result<T1>>, Result<T2>)

Combine two results into a tuple. Left is async (ValueTask), right is sync.

public static ValueTask<Result<(T1, T2)>> CombineAsync<T1, T2>(this ValueTask<Result<T1>> vt1, Result<T2> t2)

Parameters

vt1 ValueTask<Result<T1>>
t2 Result<T2>

Returns

ValueTask<Result<(T1, T2)>>

Type Parameters

T1
T2

CombineAsync<T1, T2>(Result<T1>, Task<Result<T2>>)

Combine two results into a tuple. Left is sync, right is async (Task).

public static Task<Result<(T1, T2)>> CombineAsync<T1, T2>(this Result<T1> t1, Task<Result<T2>> tt2)

Parameters

t1 Result<T1>
tt2 Task<Result<T2>>

Returns

Task<Result<(T1, T2)>>

Type Parameters

T1
T2

CombineAsync<T1, T2>(Result<T1>, ValueTask<Result<T2>>)

Combine two results into a tuple. Left is sync, right is async (ValueTask).

public static ValueTask<Result<(T1, T2)>> CombineAsync<T1, T2>(this Result<T1> t1, ValueTask<Result<T2>> vt2)

Parameters

t1 Result<T1>
vt2 ValueTask<Result<T2>>

Returns

ValueTask<Result<(T1, T2)>>

Type Parameters

T1
T2

CombineAsync<T1, T2, T3>(Task<Result<(T1, T2)>>, Result<T3>)

Combine a Task-wrapped 2-tuple result with another result to create a 3-tuple. Left is async (Task).

public static Task<Result<(T1, T2, T3)>> CombineAsync<T1, T2, T3>(this Task<Result<(T1, T2)>> tt1, Result<T3> tc)

Parameters

tt1 Task<Result<(T1, T2)>>
tc Result<T3>

Returns

Task<Result<(T1, T2, T3)>>

Type Parameters

T1
T2
T3

CombineAsync<T1, T2, T3>(ValueTask<Result<(T1, T2)>>, Result<T3>)

Combine a ValueTask-wrapped 2-tuple result with another result to create a 3-tuple. Left is async (ValueTask).

public static ValueTask<Result<(T1, T2, T3)>> CombineAsync<T1, T2, T3>(this ValueTask<Result<(T1, T2)>> vt1, Result<T3> tc)

Parameters

vt1 ValueTask<Result<(T1, T2)>>
tc Result<T3>

Returns

ValueTask<Result<(T1, T2, T3)>>

Type Parameters

T1
T2
T3

CombineAsync<T1, T2, T3, T4>(Task<Result<(T1, T2, T3)>>, Result<T4>)

Combine a Task-wrapped 3-tuple result with another result to create a 4-tuple. Left is async (Task).

public static Task<Result<(T1, T2, T3, T4)>> CombineAsync<T1, T2, T3, T4>(this Task<Result<(T1, T2, T3)>> tt1, Result<T4> tc)

Parameters

tt1 Task<Result<(T1, T2, T3)>>
tc Result<T4>

Returns

Task<Result<(T1, T2, T3, T4)>>

Type Parameters

T1
T2
T3
T4

CombineAsync<T1, T2, T3, T4>(ValueTask<Result<(T1, T2, T3)>>, Result<T4>)

Combine a ValueTask-wrapped 3-tuple result with another result to create a 4-tuple. Left is async (ValueTask).

public static ValueTask<Result<(T1, T2, T3, T4)>> CombineAsync<T1, T2, T3, T4>(this ValueTask<Result<(T1, T2, T3)>> vt1, Result<T4> tc)

Parameters

vt1 ValueTask<Result<(T1, T2, T3)>>
tc Result<T4>

Returns

ValueTask<Result<(T1, T2, T3, T4)>>

Type Parameters

T1
T2
T3
T4

CombineAsync<T1, T2, T3, T4, T5>(Task<Result<(T1, T2, T3, T4)>>, Result<T5>)

Combine a Task-wrapped 4-tuple result with another result to create a 5-tuple. Left is async (Task).

public static Task<Result<(T1, T2, T3, T4, T5)>> CombineAsync<T1, T2, T3, T4, T5>(this Task<Result<(T1, T2, T3, T4)>> tt1, Result<T5> tc)

Parameters

tt1 Task<Result<(T1, T2, T3, T4)>>
tc Result<T5>

Returns

Task<Result<(T1, T2, T3, T4, T5)>>

Type Parameters

T1
T2
T3
T4
T5

CombineAsync<T1, T2, T3, T4, T5>(ValueTask<Result<(T1, T2, T3, T4)>>, Result<T5>)

Combine a ValueTask-wrapped 4-tuple result with another result to create a 5-tuple. Left is async (ValueTask).

public static ValueTask<Result<(T1, T2, T3, T4, T5)>> CombineAsync<T1, T2, T3, T4, T5>(this ValueTask<Result<(T1, T2, T3, T4)>> vt1, Result<T5> tc)

Parameters

vt1 ValueTask<Result<(T1, T2, T3, T4)>>
tc Result<T5>

Returns

ValueTask<Result<(T1, T2, T3, T4, T5)>>

Type Parameters

T1
T2
T3
T4
T5

CombineAsync<T1, T2, T3, T4, T5, T6>(Task<Result<(T1, T2, T3, T4, T5)>>, Result<T6>)

Combine a Task-wrapped 5-tuple result with another result to create a 6-tuple. Left is async (Task).

public static Task<Result<(T1, T2, T3, T4, T5, T6)>> CombineAsync<T1, T2, T3, T4, T5, T6>(this Task<Result<(T1, T2, T3, T4, T5)>> tt1, Result<T6> tc)

Parameters

tt1 Task<Result<(T1, T2, T3, T4, T5)>>
tc Result<T6>

Returns

Task<Result<(T1, T2, T3, T4, T5, T6)>>

Type Parameters

T1
T2
T3
T4
T5
T6

CombineAsync<T1, T2, T3, T4, T5, T6>(ValueTask<Result<(T1, T2, T3, T4, T5)>>, Result<T6>)

Combine a ValueTask-wrapped 5-tuple result with another result to create a 6-tuple. Left is async (ValueTask).

public static ValueTask<Result<(T1, T2, T3, T4, T5, T6)>> CombineAsync<T1, T2, T3, T4, T5, T6>(this ValueTask<Result<(T1, T2, T3, T4, T5)>> vt1, Result<T6> tc)

Parameters

vt1 ValueTask<Result<(T1, T2, T3, T4, T5)>>
tc Result<T6>

Returns

ValueTask<Result<(T1, T2, T3, T4, T5, T6)>>

Type Parameters

T1
T2
T3
T4
T5
T6

CombineAsync<T1, T2, T3, T4, T5, T6, T7>(Task<Result<(T1, T2, T3, T4, T5, T6)>>, Result<T7>)

Combine a Task-wrapped 6-tuple result with another result to create a 7-tuple. Left is async (Task).

public static Task<Result<(T1, T2, T3, T4, T5, T6, T7)>> CombineAsync<T1, T2, T3, T4, T5, T6, T7>(this Task<Result<(T1, T2, T3, T4, T5, T6)>> tt1, Result<T7> tc)

Parameters

tt1 Task<Result<(T1, T2, T3, T4, T5, T6)>>
tc Result<T7>

Returns

Task<Result<(T1, T2, T3, T4, T5, T6, T7)>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7

CombineAsync<T1, T2, T3, T4, T5, T6, T7>(ValueTask<Result<(T1, T2, T3, T4, T5, T6)>>, Result<T7>)

Combine a ValueTask-wrapped 6-tuple result with another result to create a 7-tuple. Left is async (ValueTask).

public static ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>> CombineAsync<T1, T2, T3, T4, T5, T6, T7>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6)>> vt1, Result<T7> tc)

Parameters

vt1 ValueTask<Result<(T1, T2, T3, T4, T5, T6)>>
tc Result<T7>

Returns

ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7

CombineAsync<T1, T2, T3, T4, T5, T6, T7, T8>(Task<Result<(T1, T2, T3, T4, T5, T6, T7)>>, Result<T8>)

Combine a Task-wrapped 7-tuple result with another result to create a 8-tuple. Left is async (Task).

public static Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>> CombineAsync<T1, T2, T3, T4, T5, T6, T7, T8>(this Task<Result<(T1, T2, T3, T4, T5, T6, T7)>> tt1, Result<T8> tc)

Parameters

tt1 Task<Result<(T1, T2, T3, T4, T5, T6, T7)>>
tc Result<T8>

Returns

Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8

CombineAsync<T1, T2, T3, T4, T5, T6, T7, T8>(ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>>, Result<T8>)

Combine a ValueTask-wrapped 7-tuple result with another result to create a 8-tuple. Left is async (ValueTask).

public static ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>> CombineAsync<T1, T2, T3, T4, T5, T6, T7, T8>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>> vt1, Result<T8> tc)

Parameters

vt1 ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>>
tc Result<T8>

Returns

ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8

CombineAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9>(Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>, Result<T9>)

Combine a Task-wrapped 8-tuple result with another result to create a 9-tuple. Left is async (Task).

public static Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)>> CombineAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9>(this Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>> tt1, Result<T9> tc)

Parameters

tt1 Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>
tc Result<T9>

Returns

Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9

CombineAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9>(ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>, Result<T9>)

Combine a ValueTask-wrapped 8-tuple result with another result to create a 9-tuple. Left is async (ValueTask).

public static ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)>> CombineAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>> vt1, Result<T9> tc)

Parameters

vt1 ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>
tc Result<T9>

Returns

ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9