Table of Contents

Class ResultDebugExtensionsAsync

Namespace
FunctionalDdd
Assembly
FunctionalDdd.RailwayOrientedProgramming.dll

Debug-only async extension methods for inspecting Result values during development. These methods are only available in DEBUG builds and are automatically excluded from RELEASE builds. Debug information is written to dedicated Activity spans for OpenTelemetry compatibility.

public static class ResultDebugExtensionsAsync
Inheritance
ResultDebugExtensionsAsync
Inherited Members

Methods

DebugAsync<TValue>(Task<Result<TValue>>, string)

Writes debug information about the Result to a new Activity and returns the same Result. This method only executes in DEBUG builds.

public static Task<Result<TValue>> DebugAsync<TValue>(this Task<Result<TValue>> resultTask, string message = "")

Parameters

resultTask Task<Result<TValue>>
message string

Returns

Task<Result<TValue>>

Type Parameters

TValue

DebugDetailedAsync<TValue>(Task<Result<TValue>>, string)

Writes detailed debug information about the Result to a new Activity. This method only executes in DEBUG builds.

public static Task<Result<TValue>> DebugDetailedAsync<TValue>(this Task<Result<TValue>> resultTask, string message = "")

Parameters

resultTask Task<Result<TValue>>
message string

Returns

Task<Result<TValue>>

Type Parameters

TValue

DebugOnFailureAsync<TValue>(Task<Result<TValue>>, Action<Error>)

Executes a custom debug action if the result is a failure. This method only executes in DEBUG builds.

public static Task<Result<TValue>> DebugOnFailureAsync<TValue>(this Task<Result<TValue>> resultTask, Action<Error> action)

Parameters

resultTask Task<Result<TValue>>
action Action<Error>

Returns

Task<Result<TValue>>

Type Parameters

TValue

DebugOnFailureAsync<TValue>(Task<Result<TValue>>, Func<Error, Task>)

Executes an async custom debug action if the result is a failure. This method only executes in DEBUG builds.

public static Task<Result<TValue>> DebugOnFailureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<Error, Task> action)

Parameters

resultTask Task<Result<TValue>>
action Func<Error, Task>

Returns

Task<Result<TValue>>

Type Parameters

TValue

DebugOnSuccessAsync<TValue>(Task<Result<TValue>>, Action<TValue>)

Executes a custom debug action if the result is a success. This method only executes in DEBUG builds.

public static Task<Result<TValue>> DebugOnSuccessAsync<TValue>(this Task<Result<TValue>> resultTask, Action<TValue> action)

Parameters

resultTask Task<Result<TValue>>
action Action<TValue>

Returns

Task<Result<TValue>>

Type Parameters

TValue

DebugOnSuccessAsync<TValue>(Task<Result<TValue>>, Func<TValue, Task>)

Executes an async custom debug action if the result is a success. This method only executes in DEBUG builds.

public static Task<Result<TValue>> DebugOnSuccessAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, Task> action)

Parameters

resultTask Task<Result<TValue>>
action Func<TValue, Task>

Returns

Task<Result<TValue>>

Type Parameters

TValue

DebugWithStackAsync<TValue>(Task<Result<TValue>>, string, bool)

Writes debug information with a stack trace for detailed debugging. This method only executes in DEBUG builds.

public static Task<Result<TValue>> DebugWithStackAsync<TValue>(this Task<Result<TValue>> resultTask, string message = "", bool includeStackTrace = true)

Parameters

resultTask Task<Result<TValue>>
message string
includeStackTrace bool

Returns

Task<Result<TValue>>

Type Parameters

TValue