Skip to content

Rule proposal: no-unnecessary-callback-wrapper #10953

Closed as not planned
Closed as not planned
@jroru

Description

@jroru

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

My proposal is suitable for this project

  • My proposal specifically checks TypeScript syntax, or it proposes a check that requires type information to be accurate.
  • My proposal is not a "formatting rule"; meaning it does not just enforce how code is formatted (whitespace, brace placement, etc).
  • I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).

Description

As noted in TSLINT_RULE_ALTERNATIVES , there is not currently an equivalent eslint rule for TSLint's no-unnecessary-callback-wrapper.

Maybe there should be - for the reasons listed on TSLint docs:

There’s generally no reason to wrap a function with a callback wrapper if it’s directly called anyway. Doing so creates extra inline lambdas that slow the runtime down.

Fail Cases

const next = () => {};

debounce(() => {
  next();
});
debounce(() => next());

Pass Cases

const next = () => {};

debounce(next);

Additional Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    awaiting responseIssues waiting for a reply from the OP or another partyenhancement: new plugin ruleNew rule request for eslint-pluginlocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-plugintriageWaiting for team members to take a look

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions