Skip to content

Conversation

@joprice
Copy link
Contributor

@joprice joprice commented Jan 11, 2025

Proposed Changes

Closes #301

This adds requireSomeWith helpers, analogous to the defaultWith of Option for types that already have a requireSome function.

Types of changes

What types of changes does your code introduce to FsToolkit.ErrorHandling?
Put an x in the boxes that apply and remove ones that don't apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • Build and tests pass locally
  • I have added tests that prove my fix is effective or that my feature works (if appropriate)
  • I have added necessary documentation (if appropriate)

Further comments

I've not yet added doc comments, as I saw some variability in coverage and not sure which is the up to date pattern to follow and how much should be documented.

Copy link
Collaborator

@TheAngryByrd TheAngryByrd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functions look good!

Just some nitpicks on keeping names the same.

Also would you mind adding doc comments and doc pages?

Thanks!

joprice and others added 2 commits January 11, 2025 12:01
Co-authored-by: Jimmy Byrd <jimmybyrd@gmail.com>
Co-authored-by: Jimmy Byrd <jimmybyrd@gmail.com>
@joprice
Copy link
Contributor Author

joprice commented Jan 11, 2025

I can add the docs. Might take me a bit to make sure I'm careful with my copy-pasta'ing.

@joprice joprice closed this Jan 11, 2025
@joprice
Copy link
Contributor Author

joprice commented Jan 11, 2025

Unintentionally closed

@joprice joprice reopened this Jan 11, 2025
option
|> Job.map (Result.requireSome error)

let inline requireSomeWith ifErrorThunk option =
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT: Doc comments

value
|> Async.map (Result.requireSome error)

let inline requireSomeWith
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT: Doc comments

option
|> Task.map (Result.requireSome error)

let inline requireSomeWith ifErrorThunk option =
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT: Doc comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

helper to convert option to result with transform

2 participants