Skip to main content

MaybeAsyncExtensions

Namespace: Bogoware.Monads

public static class MaybeAsyncExtensions

Inheritance ObjectMaybeAsyncExtensions
Attributes NullableContextAttribute, NullableAttribute, ExtensionAttribute

Methods

Map<TValue, TNewValue>(Task<Maybe<TValue>>, Func<TNewValue>)

public static Task<Maybe<TNewValue>> Map<TValue, TNewValue>(Task<Maybe<TValue>> maybeTask, Func<TNewValue> map)

Type Parameters

TValue

TNewValue

Parameters

maybeTask Task<Maybe<TValue>>

map Func<TNewValue>

Returns

Task<Maybe<TNewValue>>

Map<TValue, TNewValue>(Task<Maybe<TValue>>, Func<TValue, TNewValue>)

public static Task<Maybe<TNewValue>> Map<TValue, TNewValue>(Task<Maybe<TValue>> maybeTask, Func<TValue, TNewValue> map)

Type Parameters

TValue

TNewValue

Parameters

maybeTask Task<Maybe<TValue>>

map Func<TValue, TNewValue>

Returns

Task<Maybe<TNewValue>>

Map<TValue, TNewValue>(Task<Maybe<TValue>>, Func<Task<TNewValue>>)

public static Task<Maybe<TNewValue>> Map<TValue, TNewValue>(Task<Maybe<TValue>> maybeTask, Func<Task<TNewValue>> map)

Type Parameters

TValue

TNewValue

Parameters

maybeTask Task<Maybe<TValue>>

map Func<Task<TNewValue>>

Returns

Task<Maybe<TNewValue>>

Map<TValue, TNewValue>(Task<Maybe<TValue>>, Func<TValue, Task<TNewValue>>)

public static Task<Maybe<TNewValue>> Map<TValue, TNewValue>(Task<Maybe<TValue>> maybeTask, Func<TValue, Task<TNewValue>> map)

Type Parameters

TValue

TNewValue

Parameters

maybeTask Task<Maybe<TValue>>

map Func<TValue, Task<TNewValue>>

Returns

Task<Maybe<TNewValue>>

WithDefault<TValue>(Task<Maybe<TValue>>, TValue)

public static Task<Maybe<TValue>> WithDefault<TValue>(Task<Maybe<TValue>> maybeTask, TValue value)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

value TValue

Returns

Task<Maybe<TValue>>

WithDefault<TValue>(Task<Maybe<TValue>>, Func<TValue>)

public static Task<Maybe<TValue>> WithDefault<TValue>(Task<Maybe<TValue>> maybeTask, Func<TValue> value)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

value Func<TValue>

Returns

Task<Maybe<TValue>>

WithDefault<TValue>(Task<Maybe<TValue>>, Func<Task<TValue>>)

public static Task<Maybe<TValue>> WithDefault<TValue>(Task<Maybe<TValue>> maybeTask, Func<Task<TValue>> value)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

value Func<Task<TValue>>

Returns

Task<Maybe<TValue>>

Bind<TValue, TNewValue>(Task<Maybe<TValue>>, Func<Maybe<TNewValue>>)

public static Task<Maybe<TNewValue>> Bind<TValue, TNewValue>(Task<Maybe<TValue>> maybeTask, Func<Maybe<TNewValue>> map)

Type Parameters

TValue

TNewValue

Parameters

maybeTask Task<Maybe<TValue>>

map Func<Maybe<TNewValue>>

Returns

Task<Maybe<TNewValue>>

Bind<TValue, TNewValue>(Task<Maybe<TValue>>, Func<TValue, Maybe<TNewValue>>)

public static Task<Maybe<TNewValue>> Bind<TValue, TNewValue>(Task<Maybe<TValue>> maybeTask, Func<TValue, Maybe<TNewValue>> map)

Type Parameters

TValue

TNewValue

Parameters

maybeTask Task<Maybe<TValue>>

map Func<TValue, Maybe<TNewValue>>

Returns

Task<Maybe<TNewValue>>

Bind<TValue, TNewValue>(Task<Maybe<TValue>>, Func<Task<Maybe<TNewValue>>>)

public static Task<Maybe<TNewValue>> Bind<TValue, TNewValue>(Task<Maybe<TValue>> maybeTask, Func<Task<Maybe<TNewValue>>> map)

Type Parameters

TValue

TNewValue

Parameters

maybeTask Task<Maybe<TValue>>

map Func<Task<Maybe<TNewValue>>>

Returns

Task<Maybe<TNewValue>>

Bind<TValue, TNewValue>(Task<Maybe<TValue>>, Func<TValue, Task<Maybe<TNewValue>>>)

public static Task<Maybe<TNewValue>> Bind<TValue, TNewValue>(Task<Maybe<TValue>> maybeTask, Func<TValue, Task<Maybe<TNewValue>>> map)

Type Parameters

TValue

TNewValue

Parameters

maybeTask Task<Maybe<TValue>>

map Func<TValue, Task<Maybe<TNewValue>>>

Returns

Task<Maybe<TNewValue>>

Match<TValue, TResult>(Task<Maybe<TValue>>, TResult, TResult)

public static Task<TResult> Match<TValue, TResult>(Task<Maybe<TValue>> maybeTask, TResult newValue, TResult none)

Type Parameters

TValue

TResult

Parameters

maybeTask Task<Maybe<TValue>>

newValue TResult

none TResult

Returns

Task<TResult>

Match<TValue, TResult>(Task<Maybe<TValue>>, Func<TValue, TResult>, TResult)

public static Task<TResult> Match<TValue, TResult>(Task<Maybe<TValue>> maybeTask, Func<TValue, TResult> value, TResult none)

Type Parameters

TValue

TResult

Parameters

maybeTask Task<Maybe<TValue>>

value Func<TValue, TResult>

none TResult

Returns

Task<TResult>

Match<TValue, TResult>(Task<Maybe<TValue>>, Func<TValue, TResult>, Func<TResult>)

public static Task<TResult> Match<TValue, TResult>(Task<Maybe<TValue>> maybeTask, Func<TValue, TResult> value, Func<TResult> none)

Type Parameters

TValue

TResult

Parameters

maybeTask Task<Maybe<TValue>>

value Func<TValue, TResult>

none Func<TResult>

Returns

Task<TResult>

Match<TValue, TResult>(Task<Maybe<TValue>>, Func<TValue, Task<TResult>>, Func<TResult>)

public static Task<TResult> Match<TValue, TResult>(Task<Maybe<TValue>> maybeTask, Func<TValue, Task<TResult>> value, Func<TResult> none)

Type Parameters

TValue

TResult

Parameters

maybeTask Task<Maybe<TValue>>

value Func<TValue, Task<TResult>>

none Func<TResult>

Returns

Task<TResult>

Match<TValue, TResult>(Task<Maybe<TValue>>, Func<TValue, TResult>, Func<Task<TResult>>)

public static Task<TResult> Match<TValue, TResult>(Task<Maybe<TValue>> maybeTask, Func<TValue, TResult> value, Func<Task<TResult>> none)

Type Parameters

TValue

TResult

Parameters

maybeTask Task<Maybe<TValue>>

value Func<TValue, TResult>

none Func<Task<TResult>>

Returns

Task<TResult>

Match<TValue, TResult>(Task<Maybe<TValue>>, Func<TValue, Task<TResult>>, TResult)

public static Task<TResult> Match<TValue, TResult>(Task<Maybe<TValue>> maybeTask, Func<TValue, Task<TResult>> mapValue, TResult none)

Type Parameters

TValue

TResult

Parameters

maybeTask Task<Maybe<TValue>>

mapValue Func<TValue, Task<TResult>>

none TResult

Returns

Task<TResult>

Match<TValue, TResult>(Task<Maybe<TValue>>, Func<TValue, Task<TResult>>, Func<Task<TResult>>)

public static Task<TResult> Match<TValue, TResult>(Task<Maybe<TValue>> maybeTask, Func<TValue, Task<TResult>> value, Func<Task<TResult>> none)

Type Parameters

TValue

TResult

Parameters

maybeTask Task<Maybe<TValue>>

value Func<TValue, Task<TResult>>

none Func<Task<TResult>>

Returns

Task<TResult>

IfSome<TValue>(Task<Maybe<TValue>>, Action)

public static Task<Maybe<TValue>> IfSome<TValue>(Task<Maybe<TValue>> maybeTask, Action action)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

action Action

Returns

Task<Maybe<TValue>>

IfSome<TValue>(Task<Maybe<TValue>>, Action<TValue>)

public static Task<Maybe<TValue>> IfSome<TValue>(Task<Maybe<TValue>> maybeTask, Action<TValue> action)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

action Action<TValue>

Returns

Task<Maybe<TValue>>

IfSome<TValue>(Task<Maybe<TValue>>, Func<Task>)

public static Task<Maybe<TValue>> IfSome<TValue>(Task<Maybe<TValue>> maybeTask, Func<Task> action)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

action Func<Task>

Returns

Task<Maybe<TValue>>

IfSome<TValue>(Task<Maybe<TValue>>, Func<TValue, Task>)

public static Task<Maybe<TValue>> IfSome<TValue>(Task<Maybe<TValue>> maybeTask, Func<TValue, Task> action)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

action Func<TValue, Task>

Returns

Task<Maybe<TValue>>

IfNone<TValue>(Task<Maybe<TValue>>, Action)

public static Task<Maybe<TValue>> IfNone<TValue>(Task<Maybe<TValue>> maybeTask, Action action)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

action Action

Returns

Task<Maybe<TValue>>

IfNone<TValue>(Task<Maybe<TValue>>, Func<Task>)

public static Task<Maybe<TValue>> IfNone<TValue>(Task<Maybe<TValue>> maybeTask, Func<Task> action)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

action Func<Task>

Returns

Task<Maybe<TValue>>

Execute<TValue>(Task<Maybe<TValue>>, Action<Maybe<TValue>>)

public static Task<Maybe<TValue>> Execute<TValue>(Task<Maybe<TValue>> maybeTask, Action<Maybe<TValue>> action)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

action Action<Maybe<TValue>>

Returns

Task<Maybe<TValue>>

Execute<TValue>(Task<Maybe<TValue>>, Func<Maybe<TValue>, Task>)

public static Task<Maybe<TValue>> Execute<TValue>(Task<Maybe<TValue>> maybeTask, Func<Maybe<TValue>, Task> action)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

action Func<Maybe<TValue>, Task>

Returns

Task<Maybe<TValue>>

Satisfy<TValue>(Task<Maybe<TValue>>, Func<TValue, Boolean>)

Evaluate the predicate applied to the value if present. Return false in case of None.

public static Task<bool> Satisfy<TValue>(Task<Maybe<TValue>> maybe, Func<TValue, bool> predicate)

Type Parameters

TValue

Parameters

maybe Task<Maybe<TValue>>

predicate Func<TValue, Boolean>

Returns

Task<Boolean>

Satisfy<TValue>(Task<Maybe<TValue>>, Func<TValue, Task<Boolean>>)

public static Task<bool> Satisfy<TValue>(Task<Maybe<TValue>> maybe, Func<TValue, Task<bool>> predicate)

Type Parameters

TValue

Parameters

maybe Task<Maybe<TValue>>

predicate Func<TValue, Task<Boolean>>

Returns

Task<Boolean>

MapToResult<TValue>(Task<Maybe<TValue>>)

public static Task<Result<TValue>> MapToResult<TValue>(Task<Maybe<TValue>> maybeTask)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

Returns

Task<Result<TValue>>

MapToResult<TValue>(Task<Maybe<TValue>>, Func<Error>)

public static Task<Result<TValue>> MapToResult<TValue>(Task<Maybe<TValue>> maybeTask, Func<Error> errorFunc)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

errorFunc Func<Error>

Returns

Task<Result<TValue>>

MapToResult<TValue>(Task<Maybe<TValue>>, Func<Task<Error>>)

public static Task<Result<TValue>> MapToResult<TValue>(Task<Maybe<TValue>> maybeTask, Func<Task<Error>> errorFunc)

Type Parameters

TValue

Parameters

maybeTask Task<Maybe<TValue>>

errorFunc Func<Task<Error>>

Returns

Task<Result<TValue>>