Table of Contents

Class MapExtensionsAsync

Namespace
Trellis
Assembly
Trellis.Core.dll

Provides asynchronous extension methods for mapping (transforming) values inside Result objects.

public static class MapExtensionsAsync
Inheritance
MapExtensionsAsync
Inherited Members

Examples

var ct = cancellationToken;
var result = await emailResult
    .Combine(userIdResult)
    .MapAsync((email, userId) => FormatUserAsync(email, userId, ct));

Remarks

These methods handle various async scenarios for tuple transformations. Users should capture CancellationToken in their lambda closures when cancellation support is needed.

Both Task and ValueTask variants are provided for performance optimization scenarios.

Methods

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

Maps the values of an async 9-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(this Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, Task<TResult>> func)

Parameters

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

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9
TResult

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

Maps the values of an async 9-element tuple result using a sync function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(this Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> func)

Parameters

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

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9
TResult

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

Maps the values of an async ValueTask 9-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, ValueTask<TResult>> func)

Parameters

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

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9
TResult

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

Maps the values of an async ValueTask 9-element tuple result using a sync function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> func)

Parameters

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

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9
TResult

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

Maps the values of a 9-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(this Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)> result, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, Task<TResult>> func)

Parameters

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

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9
TResult

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

Maps the values of a 9-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(this Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9)> result, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, ValueTask<TResult>> func)

Parameters

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

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
T9
TResult

MapAsync<TIn, TOut>(Task<Result<TIn>>, Func<TIn, Task<TOut>>)

Asynchronously maps the value of a task result to a new value using an async function.

public static Task<Result<TOut>> MapAsync<TIn, TOut>(this Task<Result<TIn>> resultTask, Func<TIn, Task<TOut>> func)

Parameters

resultTask Task<Result<TIn>>

The task containing the result to map.

func Func<TIn, Task<TOut>>

The async function to transform the value if the result is successful.

Returns

Task<Result<TOut>>

A new success result with the transformed value if success; otherwise the original failure.

Type Parameters

TIn

Type of the input result value.

TOut

Type of the output result value.

MapAsync<TIn, TOut>(Task<Result<TIn>>, Func<TIn, TOut>)

Asynchronously maps the value of a task result to a new value using a synchronous function.

public static Task<Result<TOut>> MapAsync<TIn, TOut>(this Task<Result<TIn>> resultTask, Func<TIn, TOut> func)

Parameters

resultTask Task<Result<TIn>>

The task containing the result to map.

func Func<TIn, TOut>

The function to transform the value if the result is successful.

Returns

Task<Result<TOut>>

A new success result with the transformed value if success; otherwise the original failure.

Type Parameters

TIn

Type of the input result value.

TOut

Type of the output result value.

MapAsync<TIn, TOut>(ValueTask<Result<TIn>>, Func<TIn, ValueTask<TOut>>)

Asynchronously maps the value of a ValueTask result to a new value using an async function.

public static ValueTask<Result<TOut>> MapAsync<TIn, TOut>(this ValueTask<Result<TIn>> resultTask, Func<TIn, ValueTask<TOut>> func)

Parameters

resultTask ValueTask<Result<TIn>>

The ValueTask containing the result to map.

func Func<TIn, ValueTask<TOut>>

The async function to transform the value if the result is successful.

Returns

ValueTask<Result<TOut>>

A new success result with the transformed value if success; otherwise the original failure.

Type Parameters

TIn

Type of the input result value.

TOut

Type of the output result value.

MapAsync<TIn, TOut>(ValueTask<Result<TIn>>, Func<TIn, TOut>)

Asynchronously maps the value of a ValueTask result to a new value using a synchronous function.

public static ValueTask<Result<TOut>> MapAsync<TIn, TOut>(this ValueTask<Result<TIn>> resultTask, Func<TIn, TOut> func)

Parameters

resultTask ValueTask<Result<TIn>>

The ValueTask containing the result to map.

func Func<TIn, TOut>

The function to transform the value if the result is successful.

Returns

ValueTask<Result<TOut>>

A new success result with the transformed value if success; otherwise the original failure.

Type Parameters

TIn

Type of the input result value.

TOut

Type of the output result value.

MapAsync<TIn, TOut>(Result<TIn>, Func<TIn, Task<TOut>>)

Asynchronously maps the value of a successful result to a new value using the provided async function.

public static Task<Result<TOut>> MapAsync<TIn, TOut>(this Result<TIn> result, Func<TIn, Task<TOut>> func)

Parameters

result Result<TIn>

The result to map.

func Func<TIn, Task<TOut>>

The async function to transform the value if the result is successful.

Returns

Task<Result<TOut>>

A new success result with the transformed value if success; otherwise the original failure.

Type Parameters

TIn

Type of the input result value.

TOut

Type of the output result value.

Remarks

OverloadResolutionPriorityAttribute resolves the historical CS0121 ambiguity against the sibling ValueTask<TResult>-delegate overload on the same sync Result<TValue> receiver for inline async lambdas. Callers can still target ValueTask<TResult> via a strongly-typed delegate.

MapAsync<TIn, TOut>(Result<TIn>, Func<TIn, ValueTask<TOut>>)

Asynchronously maps the value of a successful result to a new value using a ValueTask function.

public static ValueTask<Result<TOut>> MapAsync<TIn, TOut>(this Result<TIn> result, Func<TIn, ValueTask<TOut>> func)

Parameters

result Result<TIn>

The result to map.

func Func<TIn, ValueTask<TOut>>

The async function to transform the value if the result is successful.

Returns

ValueTask<Result<TOut>>

A new success result with the transformed value if success; otherwise the original failure.

Type Parameters

TIn

Type of the input result value.

TOut

Type of the output result value.

MapAsync<T1, T2, TResult>(Task<Result<(T1, T2)>>, Func<T1, T2, Task<TResult>>)

Maps the values of an async 2-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, TResult>(this Task<Result<(T1, T2)>> resultTask, Func<T1, T2, Task<TResult>> func)

Parameters

resultTask Task<Result<(T1, T2)>>
func Func<T1, T2, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
TResult

MapAsync<T1, T2, TResult>(Task<Result<(T1, T2)>>, Func<T1, T2, TResult>)

Maps the values of an async 2-element tuple result using a sync function.

public static Task<Result<TResult>> MapAsync<T1, T2, TResult>(this Task<Result<(T1, T2)>> resultTask, Func<T1, T2, TResult> func)

Parameters

resultTask Task<Result<(T1, T2)>>
func Func<T1, T2, TResult>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
TResult

MapAsync<T1, T2, TResult>(ValueTask<Result<(T1, T2)>>, Func<T1, T2, ValueTask<TResult>>)

Maps the values of an async ValueTask 2-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, TResult>(this ValueTask<Result<(T1, T2)>> resultTask, Func<T1, T2, ValueTask<TResult>> func)

Parameters

resultTask ValueTask<Result<(T1, T2)>>
func Func<T1, T2, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
TResult

MapAsync<T1, T2, TResult>(ValueTask<Result<(T1, T2)>>, Func<T1, T2, TResult>)

Maps the values of an async ValueTask 2-element tuple result using a sync function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, TResult>(this ValueTask<Result<(T1, T2)>> resultTask, Func<T1, T2, TResult> func)

Parameters

resultTask ValueTask<Result<(T1, T2)>>
func Func<T1, T2, TResult>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
TResult

MapAsync<T1, T2, TResult>(Result<(T1, T2)>, Func<T1, T2, Task<TResult>>)

Maps the values of a 2-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, TResult>(this Result<(T1, T2)> result, Func<T1, T2, Task<TResult>> func)

Parameters

result Result<(T1, T2)>
func Func<T1, T2, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
TResult

MapAsync<T1, T2, TResult>(Result<(T1, T2)>, Func<T1, T2, ValueTask<TResult>>)

Maps the values of a 2-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, TResult>(this Result<(T1, T2)> result, Func<T1, T2, ValueTask<TResult>> func)

Parameters

result Result<(T1, T2)>
func Func<T1, T2, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
TResult

MapAsync<T1, T2, T3, TResult>(Task<Result<(T1, T2, T3)>>, Func<T1, T2, T3, Task<TResult>>)

Maps the values of an async 3-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, TResult>(this Task<Result<(T1, T2, T3)>> resultTask, Func<T1, T2, T3, Task<TResult>> func)

Parameters

resultTask Task<Result<(T1, T2, T3)>>
func Func<T1, T2, T3, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
TResult

MapAsync<T1, T2, T3, TResult>(Task<Result<(T1, T2, T3)>>, Func<T1, T2, T3, TResult>)

Maps the values of an async 3-element tuple result using a sync function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, TResult>(this Task<Result<(T1, T2, T3)>> resultTask, Func<T1, T2, T3, TResult> func)

Parameters

resultTask Task<Result<(T1, T2, T3)>>
func Func<T1, T2, T3, TResult>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
TResult

MapAsync<T1, T2, T3, TResult>(ValueTask<Result<(T1, T2, T3)>>, Func<T1, T2, T3, ValueTask<TResult>>)

Maps the values of an async ValueTask 3-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, TResult>(this ValueTask<Result<(T1, T2, T3)>> resultTask, Func<T1, T2, T3, ValueTask<TResult>> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3)>>
func Func<T1, T2, T3, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
TResult

MapAsync<T1, T2, T3, TResult>(ValueTask<Result<(T1, T2, T3)>>, Func<T1, T2, T3, TResult>)

Maps the values of an async ValueTask 3-element tuple result using a sync function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, TResult>(this ValueTask<Result<(T1, T2, T3)>> resultTask, Func<T1, T2, T3, TResult> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3)>>
func Func<T1, T2, T3, TResult>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
TResult

MapAsync<T1, T2, T3, TResult>(Result<(T1, T2, T3)>, Func<T1, T2, T3, Task<TResult>>)

Maps the values of a 3-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, TResult>(this Result<(T1, T2, T3)> result, Func<T1, T2, T3, Task<TResult>> func)

Parameters

result Result<(T1, T2, T3)>
func Func<T1, T2, T3, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
TResult

MapAsync<T1, T2, T3, TResult>(Result<(T1, T2, T3)>, Func<T1, T2, T3, ValueTask<TResult>>)

Maps the values of a 3-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, TResult>(this Result<(T1, T2, T3)> result, Func<T1, T2, T3, ValueTask<TResult>> func)

Parameters

result Result<(T1, T2, T3)>
func Func<T1, T2, T3, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
TResult

MapAsync<T1, T2, T3, T4, TResult>(Task<Result<(T1, T2, T3, T4)>>, Func<T1, T2, T3, T4, Task<TResult>>)

Maps the values of an async 4-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, TResult>(this Task<Result<(T1, T2, T3, T4)>> resultTask, Func<T1, T2, T3, T4, Task<TResult>> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4)>>
func Func<T1, T2, T3, T4, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
TResult

MapAsync<T1, T2, T3, T4, TResult>(Task<Result<(T1, T2, T3, T4)>>, Func<T1, T2, T3, T4, TResult>)

Maps the values of an async 4-element tuple result using a sync function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, TResult>(this Task<Result<(T1, T2, T3, T4)>> resultTask, Func<T1, T2, T3, T4, TResult> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4)>>
func Func<T1, T2, T3, T4, TResult>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
TResult

MapAsync<T1, T2, T3, T4, TResult>(ValueTask<Result<(T1, T2, T3, T4)>>, Func<T1, T2, T3, T4, ValueTask<TResult>>)

Maps the values of an async ValueTask 4-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, TResult>(this ValueTask<Result<(T1, T2, T3, T4)>> resultTask, Func<T1, T2, T3, T4, ValueTask<TResult>> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4)>>
func Func<T1, T2, T3, T4, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
TResult

MapAsync<T1, T2, T3, T4, TResult>(ValueTask<Result<(T1, T2, T3, T4)>>, Func<T1, T2, T3, T4, TResult>)

Maps the values of an async ValueTask 4-element tuple result using a sync function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, TResult>(this ValueTask<Result<(T1, T2, T3, T4)>> resultTask, Func<T1, T2, T3, T4, TResult> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4)>>
func Func<T1, T2, T3, T4, TResult>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
TResult

MapAsync<T1, T2, T3, T4, TResult>(Result<(T1, T2, T3, T4)>, Func<T1, T2, T3, T4, Task<TResult>>)

Maps the values of a 4-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, TResult>(this Result<(T1, T2, T3, T4)> result, Func<T1, T2, T3, T4, Task<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4)>
func Func<T1, T2, T3, T4, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
TResult

MapAsync<T1, T2, T3, T4, TResult>(Result<(T1, T2, T3, T4)>, Func<T1, T2, T3, T4, ValueTask<TResult>>)

Maps the values of a 4-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, TResult>(this Result<(T1, T2, T3, T4)> result, Func<T1, T2, T3, T4, ValueTask<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4)>
func Func<T1, T2, T3, T4, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
TResult

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

Maps the values of an async 5-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, TResult>(this Task<Result<(T1, T2, T3, T4, T5)>> resultTask, Func<T1, T2, T3, T4, T5, Task<TResult>> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4, T5)>>
func Func<T1, T2, T3, T4, T5, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
TResult

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

Maps the values of an async 5-element tuple result using a sync function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, TResult>(this Task<Result<(T1, T2, T3, T4, T5)>> resultTask, Func<T1, T2, T3, T4, T5, TResult> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4, T5)>>
func Func<T1, T2, T3, T4, T5, TResult>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
TResult

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

Maps the values of an async ValueTask 5-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5)>> resultTask, Func<T1, T2, T3, T4, T5, ValueTask<TResult>> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4, T5)>>
func Func<T1, T2, T3, T4, T5, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
TResult

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

Maps the values of an async ValueTask 5-element tuple result using a sync function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5)>> resultTask, Func<T1, T2, T3, T4, T5, TResult> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4, T5)>>
func Func<T1, T2, T3, T4, T5, TResult>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
TResult

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

Maps the values of a 5-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, TResult>(this Result<(T1, T2, T3, T4, T5)> result, Func<T1, T2, T3, T4, T5, Task<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4, T5)>
func Func<T1, T2, T3, T4, T5, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
TResult

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

Maps the values of a 5-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, TResult>(this Result<(T1, T2, T3, T4, T5)> result, Func<T1, T2, T3, T4, T5, ValueTask<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4, T5)>
func Func<T1, T2, T3, T4, T5, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
TResult

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

Maps the values of an async 6-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, TResult>(this Task<Result<(T1, T2, T3, T4, T5, T6)>> resultTask, Func<T1, T2, T3, T4, T5, T6, Task<TResult>> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4, T5, T6)>>
func Func<T1, T2, T3, T4, T5, T6, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
TResult

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

Maps the values of an async 6-element tuple result using a sync function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, TResult>(this Task<Result<(T1, T2, T3, T4, T5, T6)>> resultTask, Func<T1, T2, T3, T4, T5, T6, TResult> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4, T5, T6)>>
func Func<T1, T2, T3, T4, T5, T6, TResult>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
TResult

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

Maps the values of an async ValueTask 6-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6)>> resultTask, Func<T1, T2, T3, T4, T5, T6, ValueTask<TResult>> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4, T5, T6)>>
func Func<T1, T2, T3, T4, T5, T6, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
TResult

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

Maps the values of an async ValueTask 6-element tuple result using a sync function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6)>> resultTask, Func<T1, T2, T3, T4, T5, T6, TResult> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4, T5, T6)>>
func Func<T1, T2, T3, T4, T5, T6, TResult>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
TResult

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

Maps the values of a 6-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, TResult>(this Result<(T1, T2, T3, T4, T5, T6)> result, Func<T1, T2, T3, T4, T5, T6, Task<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4, T5, T6)>
func Func<T1, T2, T3, T4, T5, T6, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
TResult

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

Maps the values of a 6-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, TResult>(this Result<(T1, T2, T3, T4, T5, T6)> result, Func<T1, T2, T3, T4, T5, T6, ValueTask<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4, T5, T6)>
func Func<T1, T2, T3, T4, T5, T6, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
TResult

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

Maps the values of an async 7-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, TResult>(this Task<Result<(T1, T2, T3, T4, T5, T6, T7)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, Task<TResult>> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4, T5, T6, T7)>>
func Func<T1, T2, T3, T4, T5, T6, T7, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
TResult

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

Maps the values of an async 7-element tuple result using a sync function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, TResult>(this Task<Result<(T1, T2, T3, T4, T5, T6, T7)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, TResult> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4, T5, T6, T7)>>
func Func<T1, T2, T3, T4, T5, T6, T7, TResult>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
TResult

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

Maps the values of an async ValueTask 7-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, ValueTask<TResult>> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>>
func Func<T1, T2, T3, T4, T5, T6, T7, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
TResult

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

Maps the values of an async ValueTask 7-element tuple result using a sync function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, TResult> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7)>>
func Func<T1, T2, T3, T4, T5, T6, T7, TResult>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
TResult

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

Maps the values of a 7-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, TResult>(this Result<(T1, T2, T3, T4, T5, T6, T7)> result, Func<T1, T2, T3, T4, T5, T6, T7, Task<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4, T5, T6, T7)>
func Func<T1, T2, T3, T4, T5, T6, T7, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
TResult

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

Maps the values of a 7-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, TResult>(this Result<(T1, T2, T3, T4, T5, T6, T7)> result, Func<T1, T2, T3, T4, T5, T6, T7, ValueTask<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4, T5, T6, T7)>
func Func<T1, T2, T3, T4, T5, T6, T7, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
TResult

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

Maps the values of an async 8-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(this Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, T8, Task<TResult>> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>
func Func<T1, T2, T3, T4, T5, T6, T7, T8, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
TResult

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

Maps the values of an async 8-element tuple result using a sync function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(this Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult> func)

Parameters

resultTask Task<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>
func Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
TResult

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

Maps the values of an async ValueTask 8-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, T8, ValueTask<TResult>> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>
func Func<T1, T2, T3, T4, T5, T6, T7, T8, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
TResult

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

Maps the values of an async ValueTask 8-element tuple result using a sync function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(this ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>> resultTask, Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult> func)

Parameters

resultTask ValueTask<Result<(T1, T2, T3, T4, T5, T6, T7, T8)>>
func Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
TResult

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

Maps the values of a 8-element tuple result using an async function.

public static Task<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(this Result<(T1, T2, T3, T4, T5, T6, T7, T8)> result, Func<T1, T2, T3, T4, T5, T6, T7, T8, Task<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4, T5, T6, T7, T8)>
func Func<T1, T2, T3, T4, T5, T6, T7, T8, Task<TResult>>

Returns

Task<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
TResult

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

Maps the values of a 8-element tuple result using an async ValueTask function.

public static ValueTask<Result<TResult>> MapAsync<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(this Result<(T1, T2, T3, T4, T5, T6, T7, T8)> result, Func<T1, T2, T3, T4, T5, T6, T7, T8, ValueTask<TResult>> func)

Parameters

result Result<(T1, T2, T3, T4, T5, T6, T7, T8)>
func Func<T1, T2, T3, T4, T5, T6, T7, T8, ValueTask<TResult>>

Returns

ValueTask<Result<TResult>>

Type Parameters

T1
T2
T3
T4
T5
T6
T7
T8
TResult