Skip to content

Commit 47472d0

Browse files
committed
Merge commit 'f44b25ed4cb521116a682a0d8d10406f3440cec7' into add-more-type-checks-to-valid-types
* commit 'f44b25ed4cb521116a682a0d8d10406f3440cec7': refactor: simplify iterateJsdoc
2 parents 04d5ba0 + f44b25e commit 47472d0

File tree

4 files changed

+18
-15
lines changed

4 files changed

+18
-15
lines changed

src/iterateJsdoc.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ export {
406406
* @param {{
407407
* meta: any,
408408
* contextDefaults?: true | string[],
409-
* returns?: any,
409+
* returns?: string[],
410410
* iterateAllJsdocs?: true,
411411
* }} ruleConfig
412412
*/
@@ -439,15 +439,10 @@ export default function iterateJsdoc (iterator, ruleConfig) {
439439
const settings = getSettings(context);
440440

441441
let contexts = ruleConfig.returns;
442-
if (typeof ruleConfig.returns === 'function') {
443-
contexts = ruleConfig.returns(context, sourceCode);
444-
} else if (ruleConfig.contextDefaults) {
442+
if (ruleConfig.contextDefaults) {
445443
contexts = jsdocUtils.enforcedContexts(context, ruleConfig.contextDefaults);
446444
}
447445

448-
if (!Array.isArray(contexts) && contexts) {
449-
return contexts;
450-
}
451446
const checkJsdoc = (node) => {
452447
const jsdocNode = getJSDocComment(sourceCode, node);
453448

src/jsdocUtils.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,10 @@ const enforcedContexts = (context, defaultContexts) => {
539539
return contexts;
540540
};
541541

542+
/**
543+
* @param {string[]} contexts
544+
* @param {Function} checkJsdoc
545+
*/
542546
const getContextObject = (contexts, checkJsdoc) => {
543547
return contexts.reduce((obj, prop) => {
544548
obj[prop] = checkJsdoc;

src/rules/requireJsdoc.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import _ from 'lodash';
2-
import iterateJsdoc from '../iterateJsdoc';
32
import jsdocUtils from '../jsdocUtils';
43
import exportParser from '../exportParser';
54
import getJSDocComment from '../eslint/getJSDocComment';
@@ -115,7 +114,8 @@ const getOptions = (context) => {
115114
};
116115
};
117116

118-
export default iterateJsdoc(null, {
117+
/* eslint-disable sort-keys */
118+
export default {
119119
meta: {
120120
doc: {
121121
category: 'Stylistic Issues',
@@ -134,9 +134,11 @@ export default iterateJsdoc(null, {
134134

135135
type: 'suggestion'
136136
},
137-
returns (context, sourceCode) {
137+
create (context) {
138138
warnRemovedSettings(context, 'require-jsdoc');
139139

140+
const sourceCode = context.getSourceCode();
141+
140142
const {require: requireOption, publicOnly, exemptEmptyFunctions} = getOptions(context);
141143

142144
const checkJsDoc = (node) => {
@@ -237,4 +239,4 @@ export default iterateJsdoc(null, {
237239
}
238240
);
239241
}
240-
});
242+
};

test/eslint/getJSDocComment.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
import {
22
RuleTester
33
} from 'eslint';
4-
import iterateJsdoc from '../../src/iterateJsdoc';
54
import getJSDocComment from '../../src/eslint/getJSDocComment';
65

7-
const rule = iterateJsdoc(null, {
6+
/* eslint-disable sort-keys */
7+
const rule = {
88
meta: {
99
messages: {
1010
missingJsDoc: 'Missing JSDoc comment.'
1111
},
1212
type: 'layout'
1313
},
14-
returns (context, sourceCode) {
14+
create (context) {
15+
const sourceCode = context.getSourceCode();
16+
1517
return {
1618
ObjectExpression: (node) => {
1719
const comment = getJSDocComment(sourceCode, node);
@@ -25,7 +27,7 @@ const rule = iterateJsdoc(null, {
2527
}
2628
};
2729
}
28-
});
30+
};
2931

3032
const ruleTester = new RuleTester();
3133

0 commit comments

Comments
 (0)