Skip to content

Commit 85768e6

Browse files
committed
explicit-timer-delay: avoid unsafe never reports and simplify fixer path
1 parent f60546b commit 85768e6

2 files changed

Lines changed: 17 additions & 24 deletions

File tree

rules/explicit-timer-delay.js

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -92,41 +92,31 @@ const create = context => {
9292
return;
9393
}
9494

95-
const problem = {
95+
return {
9696
node,
9797
messageId: MESSAGE_ID_MISSING_DELAY,
9898
data: {name},
99-
};
100-
101-
if (firstArgument && firstArgument.type !== 'SpreadElement') {
102-
problem.fix = fixer => fixer.insertTextAfterRange(
99+
fix: fixer => fixer.insertTextAfterRange(
103100
getParenthesizedRange(firstArgument, context), ', 0',
104-
);
105-
}
106-
107-
return problem;
101+
),
102+
};
108103
}
109104

110-
if (mode === MODE_NEVER && hasDelayArgument) {
105+
if (mode === MODE_NEVER && arguments_.length === 2) {
111106
const delayArgument = arguments_[1];
112107

113108
if (isZeroDelay(delayArgument)) {
114-
const problem = {
109+
return {
115110
node: delayArgument,
116111
messageId: MESSAGE_ID_REDUNDANT_DELAY,
117112
data: {name},
118-
};
119-
120-
if (arguments_.length === 2) {
121-
problem.fix = function (fixer) {
113+
fix(fixer) {
122114
const [firstArgument] = arguments_;
123115
const [, firstArgumentEnd] = getParenthesizedRange(firstArgument, context);
124116
const [, delayArgumentEnd] = getParenthesizedRange(delayArgument, context);
125117
return fixer.removeRange([firstArgumentEnd, delayArgumentEnd]);
126-
};
127-
}
128-
129-
return problem;
118+
},
119+
};
130120
}
131121
}
132122
});

test/explicit-timer-delay.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,18 @@ test({
6060
code: 'setInterval(callback, 100);',
6161
options: ['never'],
6262
},
63+
{
64+
code: 'setInterval(callback, 0, arg1);',
65+
options: ['never'],
66+
},
6367
{
6468
code: 'setTimeout(callback, 500, arg1);',
6569
options: ['never'],
6670
},
71+
{
72+
code: 'setTimeout(callback, 0, arg1, arg2);',
73+
options: ['never'],
74+
},
6775
],
6876
invalid: [
6977
{
@@ -244,10 +252,5 @@ test({
244252
options: ['never'],
245253
errors: [{messageId: MESSAGE_ID_REDUNDANT_DELAY}],
246254
},
247-
{
248-
code: 'setTimeout(callback, 0, arg1, arg2);',
249-
options: ['never'],
250-
errors: [{messageId: MESSAGE_ID_REDUNDANT_DELAY}],
251-
},
252255
],
253256
});

0 commit comments

Comments
 (0)