Skip to content

Latest commit

 

History

History
28 lines (19 loc) · 849 Bytes

File metadata and controls

28 lines (19 loc) · 849 Bytes

TaskResult Infix Operators

Namespace: FsToolkit.ErrorHandling.Operator.TaskResult

FsToolkit.ErrorHandling provides the standard infix operators for the map (<!>), apply (<*>), and bind (>>=) functions of the Task<Result<_,_>> type.

Examples:

Example 1

Expanding on the TaskResult.map2 example, we define another function:

notifyFollowers : NotifyNewPostRequest -> Task<Result<unit, exn>>

We can then rewrite the example and additionally call notifyFollowers using the operators as below:

open FsToolkit.ErrorHandling.Operator.TaskResult

// CreatePostRequest -> Task<Result<unit, exn>>
let createPostAndNotifyFollowers (req : CreatePostRequest) = 
  notifyNewPostRequest
  <!> (getFollowerIds req.UserId)
  <*> (createPost req)
  >>= notifyFollowers