chore(fix): allow Result tuple to be [undefined, undefined]
#174
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.
Tip
The owner of this PR can publish a preview release by commenting
/publish
in this PR. Afterwards, anyone can try it out by runningpnpm add radashi@pr<PR_NUMBER>
.Summary
Fix
isResult
to return true for a[undefined, undefined]
tuple. This is to handle the case where a function with a possibly undefined return value is wrapped withtryit
, which may produce such a tuple.I'm also constraining the
TError
type parameter of Result/Ok/Err so it must be a subtype of the built-inError
type. In other words, it no longer allows the error element to be any type. This is necessary to reduce the chance ofisResult
returning a false positive for certain arrays.Note: This is a "chore" and not a "fix" because
isResult
hasn't been released yet.For any code change,
Does this PR introduce a breaking change?
No
Bundle impact
src/typed/isResult.ts
src/typed/isResultErr.ts
Footnotes
Function size includes the
import
dependencies of the function. ↩