Skip to content

Commit bea9b20

Browse files
authored
prefer-object-from-entries: Avoid auto-fixing generic reduce (#2878)
1 parent a47ead2 commit bea9b20

2 files changed

Lines changed: 19 additions & 4 deletions

File tree

rules/prefer-object-from-entries.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -186,15 +186,20 @@ function create(context) {
186186
continue;
187187
}
188188

189-
yield {
189+
const problem = {
190190
node: callExpression.callee.property,
191191
messageId: MESSAGE_ID_REDUCE,
192-
fix: fixReduceAssignOrSpread({
192+
};
193+
194+
if (!callExpression.typeArguments) {
195+
problem.fix = fixReduceAssignOrSpread({
193196
context,
194197
callExpression,
195198
property: getProperty(callbackFunction),
196-
}),
197-
};
199+
});
200+
}
201+
202+
yield problem;
198203
}
199204

200205
if (!isCallExpression(callExpression, {

test/prefer-object-from-entries.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,16 @@ test.snapshot({
152152
],
153153
});
154154

155+
test.typescript({
156+
valid: [],
157+
invalid: [
158+
{
159+
code: 'array.reduce<Record<string, Data & {b?: string}>>((result, entry) => ({...result, [entry.id]: entry.data}), {});',
160+
errors: [{messageId: 'reduce'}],
161+
},
162+
],
163+
});
164+
155165
// Functions
156166
test.snapshot({
157167
valid: [

0 commit comments

Comments
 (0)