sindresorhus/eslint-plugin-unicorn

Rule proposal: `no-return-prototype-method`

Closed

#1,098 opened on Feb 11, 2021

 (8 comments) (2 reactions) (0 assignees)JavaScript (468 forks)user submission
help wantednew rule

Repository metrics

Stars
 (5,022 stars)
PR merge metrics
 (Avg merge 1d 16h) (399 merged PRs in 30d)

Description

It's easy to forget actually calling a prototype method which leads to possibly hard-to-debug errors.

Since e.g. many array methods accept a callback or only an optional parameter, this could be handled with an allowlist per global object, e.g. Array.prototype.map wouldnt need to be checked for.

Fail

function foo(myString) {
  return string.slice(3).toLowerCase
}

function foo(myArr) {
  return myArr.map(val => val ** 2).reverse
}

Pass

function foo(myString) {
  return string.slice(3).toLowerCase()
}

function foo(myArr) {
  return myArr.map(val => val ** 2).reverse()
}

Contributor guide