feat(andFinally): add andFinallyFunctionality #536
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Add 'finally' functionality to neverthrow. Overall leads to clearer typing with less verbose code. The mental model is similar to the native finally.
This PR attempts to solve 2 main issues. Consider the example below:
Notice the return type of the
safeFunction
is typed to an unintuitive type. Not sure if there was a convenient way for error recovery while mutating theOk
type. WithandFinally
, there is easier control over theOk
type during error recovery as such:Additionally, this solves #525. As documented in the issue, the below code becomes less verbose.
Before
After
Testing
Have added some minimal tests to capture correct behaviour.