Skip to content

Enhancement: [only-throw-error] support yielded and awaited errors #11418

@43081j

Description

@43081j

Before You File a Proposal Please Confirm You Have Done The Following...

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/only-throw-error

Description

We can actually check yield and await expressions in the type checker it seems, so no longer need to bail when we encounter them.

Fail

async function foo() {
  throw await Promise.resolve<number>(303); // Not an Error
}

Pass

async function foo() {
  throw await Promise.resolve(new Error('error'));
}

Additional Info

Draft here: #11417

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulepackage: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions