Skip to content

Commit 4fd4745

Browse files
committed
refactor
1 parent 31506f2 commit 4fd4745

File tree

3 files changed

+46
-44
lines changed

3 files changed

+46
-44
lines changed

lib/internal/disabled-area.js

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,12 @@ class DisabledAreaForLanguagePlugin extends DisabledArea {
154154
const disableDirectives = sourceCode.getDisableDirectives()
155155
for (const directive of disableDirectives.directives) {
156156
if (
157-
directive.type !== "disable" &&
158-
directive.type !== "enable" &&
159-
directive.type !== "disable-line" &&
160-
directive.type !== "disable-next-line"
157+
![
158+
"disable",
159+
"enable",
160+
"disable-line",
161+
"disable-next-line",
162+
].includes(directive.type)
161163
) {
162164
continue
163165
}
@@ -205,10 +207,12 @@ class DisabledAreaForLegacy extends DisabledArea {
205207

206208
const kind = directiveComment.kind
207209
if (
208-
kind !== "eslint-disable" &&
209-
kind !== "eslint-enable" &&
210-
kind !== "eslint-disable-line" &&
211-
kind !== "eslint-disable-next-line"
210+
![
211+
"eslint-disable",
212+
"eslint-enable",
213+
"eslint-disable-line",
214+
"eslint-disable-next-line",
215+
].includes(kind)
212216
) {
213217
continue
214218
}
@@ -251,11 +255,10 @@ module.exports = {
251255
let retv = pool.get(sourceCode.ast)
252256

253257
if (retv == null) {
254-
if (typeof sourceCode.getDisableDirectives === "function") {
255-
retv = new DisabledAreaForLanguagePlugin()
256-
} else {
257-
retv = new DisabledAreaForLegacy()
258-
}
258+
retv =
259+
typeof sourceCode.getDisableDirectives === "function"
260+
? new DisabledAreaForLanguagePlugin()
261+
: new DisabledAreaForLegacy()
259262
retv._scan(sourceCode)
260263
pool.set(sourceCode.ast, retv)
261264
}

lib/internal/get-all-directive-comments.js

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,24 @@ const pool = new WeakMap()
1919
* @returns {DirectiveComment[]} The directive comments.
2020
*/
2121
function getAllDirectiveCommentsFromAllComments(sourceCode) {
22-
/** @type {DirectiveComment[]} */
23-
const result = []
24-
for (const comment of sourceCode.getAllComments()) {
25-
const directiveComment = utils.parseDirectiveComment(comment)
26-
if (directiveComment != null) {
27-
result.push({
28-
kind: directiveComment.kind,
29-
value: directiveComment.value,
30-
description: directiveComment.description,
31-
node: comment,
32-
range: comment.range,
33-
loc: comment.loc,
34-
})
35-
}
36-
}
37-
return result
22+
return sourceCode
23+
.getAllComments()
24+
.map((comment) => ({
25+
comment,
26+
directiveComment: utils.parseDirectiveComment(comment),
27+
}))
28+
.filter(({ directiveComment }) => Boolean(directiveComment))
29+
.map(
30+
({ comment, directiveComment }) =>
31+
/** @type {DirectiveComment} */ ({
32+
kind: directiveComment.kind,
33+
value: directiveComment.value,
34+
description: directiveComment.description,
35+
node: comment,
36+
range: comment.range,
37+
loc: comment.loc,
38+
})
39+
)
3840
}
3941

4042
/**
@@ -74,10 +76,12 @@ function getAllDirectiveCommentsFromInlineConfigNodes(sourceCode) {
7476
const directiveComment = utils.parseDirectiveText(commentValue)
7577
if (
7678
directiveComment != null &&
77-
directiveComment.kind !== "eslint-disable" &&
78-
directiveComment.kind !== "eslint-disable-line" &&
79-
directiveComment.kind !== "eslint-disable-next-line" &&
80-
directiveComment.kind !== "eslint-enable"
79+
![
80+
"eslint-disable",
81+
"eslint-disable-line",
82+
"eslint-disable-next-line",
83+
"eslint-enable",
84+
].includes(directiveComment.kind)
8185
) {
8286
result.push({
8387
kind: directiveComment.kind,
@@ -123,15 +127,11 @@ module.exports = {
123127
let result = pool.get(sourceCode.ast)
124128

125129
if (result == null) {
126-
if (
130+
result =
127131
typeof sourceCode.getInlineConfigNodes === "function" &&
128132
typeof sourceCode.getDisableDirectives === "function"
129-
) {
130-
result =
131-
getAllDirectiveCommentsFromInlineConfigNodes(sourceCode)
132-
} else {
133-
result = getAllDirectiveCommentsFromAllComments(sourceCode)
134-
}
133+
? getAllDirectiveCommentsFromInlineConfigNodes(sourceCode)
134+
: getAllDirectiveCommentsFromAllComments(sourceCode)
135135
pool.set(sourceCode.ast, result)
136136
}
137137

lib/internal/utils.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,7 @@ function divideDirectiveComment(value) {
183183
function getLoc(context, nodeOrToken) {
184184
const sourceCode =
185185
context.sourceCode || (context.getSourceCode && context.getSourceCode())
186-
if (sourceCode && typeof sourceCode.getLoc === "function") {
187-
return sourceCode.getLoc(nodeOrToken)
188-
}
189-
return nodeOrToken.loc
186+
return sourceCode && typeof sourceCode.getLoc === "function"
187+
? sourceCode.getLoc(nodeOrToken)
188+
: nodeOrToken.loc
190189
}

0 commit comments

Comments
 (0)