Commits
Click on a commit to change the comparison rangefix(linter/no-accumulating-spread): false positive in nested callbacks within reduce (#14898)
fixes #14894
Example:
```js
// Original code (works correctly)
function original() {
const list = [
{ subList: [{ subList: [1, 2] }, { subList: [3, 4] }] },
{ subList: [{ subList: [5, 6] }] }
];
return list.reduce((acc, each) => {
return each.subList.flatMap((subEach) => {
return [...acc, subEach.subList];
});
}, []);
}
// "Fixed" code following oxlint suggestion (broken)
function broken() {
const list = [
{ subList: [{ subList: [1, 2] }, { subList: [3, 4] }] },
{ subList: [{ subList: [5, 6] }] }
];
return list.reduce((acc, each) => {
return each.subList.flatMap((subEach) => {
acc.push(subEach.subList);
return acc;
});
}, []);
}
console.log("Original output:", JSON.stringify(original()));
console.log("Broken output:", JSON.stringify(broken()));
```
```
$ node test_case.js
Original output: [[1,2],[3,4],[5,6]]
Broken output: [[1,2],[1,2],[3,4],[5,6]]
```