-
Notifications
You must be signed in to change notification settings - Fork 64
Closed
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Description
Is your feature request related to a problem? Please describe.
Helper functions to work with Task<Result<'success option, 'error>>
Example:
type Error =
| UsernameTaken
| DatabaseError of DbError
taskResult {
do!
// getUserByUsername : string -> Task<Result<User option, DbError>>
getUserByUsername createAccountRequest.Username //
|> TaskResult.mapError DatabaseError
|> TaskResult.bindRequireNone UsernameTaken
}Describe the solution you'd like
Helper functions that combine bind + requireSome, requireNone, etc...
// name needs work :P
let inline bindRequireSome (error: 'error) (taskResultOption: Task<Result<'success option, 'error>>) =
taskResultOption
|> bind (Result.requireSome error >> Task.singleton)Describe alternatives you've considered
N/A
Additional context
N/A
I would like to create a PR for this.
TheAngryByrd
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers