Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Open
Description
Before You File a Proposal Please Confirm You Have Done The Following...
- I havesearched for related issues and found none that match my proposal.
- I have searched thecurrent rule list and found no rules that match my proposal.
- I haveread the FAQ and my problem is not listed.
My proposal is suitable for this project
- I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).
Link to the rule's documentation
https://typescript-eslint.io/rules/prefer-promise-reject-errors/
Description
Currently, a user can callAbortSignal.abort("foo")
ornew AbortController().abort("foo")
with anything. But doing so within afetch
request will throw the provided argument. In contrary aAbortSignal.timeout(1234)
andnew AbortController().abort()
will throw aDOMException
.
I'd like to ensure that the arguments should be enforced to be instances ofError
as well.
It could make sense to extend rather this rule:https://typescript-eslint.io/rules/only-throw-error
Fail
newAbortController().abort("foo");AbortSignal.abort("foo");
Pass
newAbortController().abort(newError("foo"));AbortSignal.abort(newDOMException("foo"));
Additional Info
No response