apply

Namespace: FsToolkit.ErrorHandling

Function Signature:

ValueTask<('a -> 'b) voption> -> ValueTask<'a voption> -> ValueTask<'b voption>

Examples

Take the following function for example

// string -> int
let characterCount (s: string) = s.Length

Example 1

let result =
    ValueTaskValueOption.valueSome "foo" // ValueTask<string voption>
    |> ValueTaskValueOption.apply (ValueTaskValueOption.valueSome characterCount) // ValueTask<int voption>

// valueTask { ValueSome 3 }

Example 2

let result =
    ValueTask<_>(ValueNone) // ValueTask<string voption>
    |> ValueTaskValueOption.apply (ValueTaskValueOption.valueSome characterCount) // ValueTask<int voption>

// valueTask { ValueNone }

Example 3

Last updated