Skip to content

Commit f2c6acc

Browse files
authored
prefer-native-coercion-functions: Check .findLast and .findLastIndex (#1893)
1 parent 3bc28ad commit f2c6acc

File tree

4 files changed

+41
-7
lines changed

4 files changed

+41
-7
lines changed

rules/prefer-native-coercion-functions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const messages = {
88
};
99

1010
const nativeCoercionFunctionNames = new Set(['String', 'Number', 'BigInt', 'Boolean', 'Symbol']);
11-
const arrayMethodsWithBooleanCallback = new Set(['every', 'filter', 'find', 'findIndex', 'some']);
11+
const arrayMethodsWithBooleanCallback = new Set(['every', 'filter', 'find', 'findLast', 'findIndex', 'findLastIndex', 'some']);
1212

1313
const isNativeCoercionFunctionCall = (node, firstArgumentName) =>
1414
node

test/prefer-native-coercion-functions.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,10 @@ test.snapshot({
185185
'array.every(v => v)',
186186
'array.filter(v => v)',
187187
'array.find(v => v)',
188+
'array.findLast(v => v)',
188189
'array.some(v => v)',
189190
'array.findIndex(v => v)',
191+
'array.findLastIndex(v => v)',
190192
'array.some(v => v)',
191193
outdent`
192194
array.some(v => {

test/snapshots/prefer-native-coercion-functions.mjs.md

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,22 @@ Generated by [AVA](https://avajs.dev).
441441
`
442442

443443
## Invalid #4
444+
1 | array.findLast(v => v)
445+
446+
> Output
447+
448+
`␊
449+
1 | array.findLast(Boolean)␊
450+
`
451+
452+
> Error 1/1
453+
454+
`␊
455+
> 1 | array.findLast(v => v)␊
456+
| ^^ arrow function is equivalent to \`Boolean\`. Use \`Boolean\` directly.␊
457+
`
458+
459+
## Invalid #5
444460
1 | array.some(v => v)
445461

446462
> Output
@@ -456,7 +472,7 @@ Generated by [AVA](https://avajs.dev).
456472
| ^^ arrow function is equivalent to \`Boolean\`. Use \`Boolean\` directly.␊
457473
`
458474

459-
## Invalid #5
475+
## Invalid #6
460476
1 | array.findIndex(v => v)
461477

462478
> Output
@@ -472,7 +488,23 @@ Generated by [AVA](https://avajs.dev).
472488
| ^^ arrow function is equivalent to \`Boolean\`. Use \`Boolean\` directly.␊
473489
`
474490

475-
## Invalid #6
491+
## Invalid #7
492+
1 | array.findLastIndex(v => v)
493+
494+
> Output
495+
496+
`␊
497+
1 | array.findLastIndex(Boolean)␊
498+
`
499+
500+
> Error 1/1
501+
502+
`␊
503+
> 1 | array.findLastIndex(v => v)␊
504+
| ^^ arrow function is equivalent to \`Boolean\`. Use \`Boolean\` directly.␊
505+
`
506+
507+
## Invalid #8
476508
1 | array.some(v => v)
477509

478510
> Output
@@ -488,7 +520,7 @@ Generated by [AVA](https://avajs.dev).
488520
| ^^ arrow function is equivalent to \`Boolean\`. Use \`Boolean\` directly.␊
489521
`
490522

491-
## Invalid #7
523+
## Invalid #9
492524
1 | array.some(v => {
493525
2 | return v;
494526
3 | })
@@ -508,7 +540,7 @@ Generated by [AVA](https://avajs.dev).
508540
3 | })␊
509541
`
510542

511-
## Invalid #8
543+
## Invalid #10
512544
1 | array.some(function (v) {
513545
2 | return v;
514546
3 | })
@@ -528,7 +560,7 @@ Generated by [AVA](https://avajs.dev).
528560
3 | })␊
529561
`
530562

531-
## Invalid #9
563+
## Invalid #11
532564
1 | array.some((v, extra) => v)
533565

534566
> Error 1/1
@@ -538,7 +570,7 @@ Generated by [AVA](https://avajs.dev).
538570
| ^^ arrow function is equivalent to \`Boolean\`. Use \`Boolean\` directly.␊
539571
`
540572

541-
## Invalid #10
573+
## Invalid #12
542574
1 | array.some((v, ) => /* comment */ v)
543575

544576
> Error 1/1
84 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)