Skip to content

Commit 8033309

Browse files
committed
Merge branch 'master' into move-settings-to-options
* master: refactor: leverage `settings` property from `iterateJsdoc.js` for consistent settings access
2 parents cbd2cfb + af68384 commit 8033309

File tree

4 files changed

+13
-7
lines changed

4 files changed

+13
-7
lines changed

src/iterateJsdoc.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,9 @@ const getSettings = (context) => {
253253
// `check-tag-names` and many require/param rules
254254
settings.tagNamePreference = _.get(context, 'settings.jsdoc.tagNamePreference') || {};
255255

256+
// `check-types` and `no-undefined-types`
257+
settings.preferredTypes = _.get(context, 'settings.jsdoc.preferredTypes') || {};
258+
256259
// `require-param`, `require-description`, `require-example`, `require-returns`
257260
settings.overrideReplacesDocs = _.get(context, 'settings.jsdoc.overrideReplacesDocs');
258261
settings.implementsReplacesDocs = _.get(context, 'settings.jsdoc.implementsReplacesDocs');

src/rules/checkTagNames.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export default iterateJsdoc(({
77
report,
88
utils,
99
context,
10+
settings,
1011
jsdocNode
1112
}) => {
1213
if (!jsdoc.tags) {
@@ -15,10 +16,10 @@ export default iterateJsdoc(({
1516
const {definedTags = []} = context.options[0] || {};
1617

1718
let definedPreferredTags = [];
18-
const preferredTags = _.get(context, 'settings.jsdoc.tagNamePreference');
19-
if (preferredTags) {
19+
const {tagNamePreference} = settings;
20+
if (Object.keys(tagNamePreference).length) {
2021
// Replace `_.values` with `Object.values` when we may start requiring Node 7+
21-
definedPreferredTags = _.values(preferredTags).map((preferredTag) => {
22+
definedPreferredTags = _.values(tagNamePreference).map((preferredTag) => {
2223
if (typeof preferredTag === 'string') {
2324
// May become an empty string but will be filtered out below
2425
return preferredTag;

src/rules/checkTypes.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ export default iterateJsdoc(({
2020
sourceCode,
2121
report,
2222
utils,
23+
settings,
2324
context
2425
}) => {
2526
const jsdocTags = utils.filterTags((tag) => {
2627
return utils.isTagWithType(tag.tag);
2728
});
2829

29-
const preferredTypes = _.get(context, 'settings.jsdoc.preferredTypes');
30+
const {preferredTypes} = settings;
3031
const optionObj = context.options[0];
3132
const noDefaults = _.get(optionObj, 'noDefaults');
3233
const unifyParentAndChildTypeChecks = _.get(optionObj, 'unifyParentAndChildTypeChecks');
@@ -45,7 +46,7 @@ export default iterateJsdoc(({
4546
let hasMatchingPreferredType;
4647
let isGenericMatch;
4748
let typeName = nodeName;
48-
if (preferredTypes) {
49+
if (Object.keys(preferredTypes).length) {
4950
const parentType = parentName === 'subject';
5051
if (unifyParentAndChildTypeChecks || parentType) {
5152
const syntax = _.get(parentNode, 'meta.syntax');

src/rules/noUndefinedTypes.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const stripPseudoTypes = (str) => {
2020
export default iterateJsdoc(({
2121
context,
2222
report,
23+
settings,
2324
sourceCode: {scopeManager},
2425
utils
2526
}) => {
@@ -28,8 +29,8 @@ export default iterateJsdoc(({
2829
const {definedTypes = []} = context.options[0] || {};
2930

3031
let definedPreferredTypes = [];
31-
const preferredTypes = _.get(context, 'settings.jsdoc.preferredTypes');
32-
if (preferredTypes) {
32+
const {preferredTypes} = settings;
33+
if (Object.keys(preferredTypes).length) {
3334
// Replace `_.values` with `Object.values` when we may start requiring Node 7+
3435
definedPreferredTypes = _.values(preferredTypes).map((preferredType) => {
3536
if (typeof preferredType === 'string') {

0 commit comments

Comments
 (0)