apply
Namespace: FsToolkit.ErrorHandling
Function Signature:
Task<('a -> 'b) option> -> Task<'a option> -> Task<'b option>
Examples
Take the following function for example
// string -> int
let characterCount (s: string) = s.Length
Example 1
let result =
TaskOption.some "foo" // Task<string option>
|> TaskOption.apply (TaskOption.some characterCount) // Task<int option>
// task { Some 3 }
Example 2
let result =
Task.singleton None // Task<string option>
|> TaskOption.apply (TaskOption.some characterCount) // Task<int option>
// task { None }
Example 3
let result : Task<int option> =
TaskOption.some "foo" // Task<string option>
|> TaskOption.apply (Task.singleton None) // Task<int option>
// task { None }
Last updated