Skip to content
This repository was archived by the owner on Jan 19, 2019. It is now read-only.

Commit 1b5fd06

Browse files
bradzacherJamesHenry
authored andcommitted
Update: Added fixer for member-delimiter-style (#122)
1 parent d7b3fde commit 1b5fd06

File tree

2 files changed

+528
-1
lines changed

2 files changed

+528
-1
lines changed

lib/rules/member-delimiter-style.js

+25-1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ module.exports = {
9090
*/
9191
function checkLastToken(member, opts, isLast, isSameLine) {
9292
let message;
93+
let missingDelimiter = false;
9394
const lastToken = sourceCode.getLastToken(member, {
9495
includeComments: false
9596
});
@@ -118,6 +119,7 @@ module.exports = {
118119
}
119120

120121
if (!canOmit) {
122+
missingDelimiter = true;
121123
message =
122124
opts.delimiter === "semi"
123125
? "Expected a semicolon."
@@ -138,7 +140,29 @@ module.exports = {
138140
column: lastToken.loc.end.column
139141
}
140142
},
141-
message
143+
message,
144+
fix(fixer) {
145+
let token;
146+
147+
if (opts.delimiter === "semi") {
148+
token = ";";
149+
} else if (opts.delimiter === "comma") {
150+
token = ",";
151+
} else {
152+
// remove the unneeded token
153+
return fixer.remove(lastToken);
154+
}
155+
156+
if (missingDelimiter) {
157+
// add the missing delimiter
158+
return fixer.insertTextAfter(lastToken, token);
159+
} else if (isLast && !opts.requireLast) {
160+
return fixer.remove(lastToken);
161+
}
162+
163+
// correct the current delimiter
164+
return fixer.replaceText(lastToken, token);
165+
}
142166
});
143167
}
144168
}

0 commit comments

Comments
 (0)