projecte_ionic/node_modules/eslint-plugin-jsdoc/dist/rules/checkTagNames.js.map
2022-02-09 18:30:03 +01:00

1 line
5.9 KiB
Plaintext
Executable file

{"version":3,"sources":["../../src/rules/checkTagNames.js"],"names":["sourceCode","jsdoc","report","utils","context","settings","jsdocNode","tags","definedTags","options","definedPreferredTags","tagNamePreference","definedNonPreferredTags","Object","keys","length","values","map","preferredTag","undefined","reportSettings","replacement","filter","preferredType","forEach","jsdocTag","tagName","tag","isValidTag","preferredTagName","getPreferredTagName","allowObjectReturn","defaultMessage","message","fixer","getText","replace","RegExp","_","escapeRegExp","replaceText","iterateAllJsdocs","meta","docs","description","url","fixable","schema","additionalProperties","properties","items","type"],"mappings":"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","sourcesContent":["import _ from 'lodash';\nimport iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n sourceCode,\n jsdoc,\n report,\n utils,\n context,\n settings,\n jsdocNode,\n}) => {\n if (!jsdoc.tags) {\n return;\n }\n const {definedTags = []} = context.options[0] || {};\n\n let definedPreferredTags = [];\n const {tagNamePreference} = settings;\n const definedNonPreferredTags = Object.keys(tagNamePreference);\n if (definedNonPreferredTags.length) {\n definedPreferredTags = Object.values(tagNamePreference).map((preferredTag) => {\n if (typeof preferredTag === 'string') {\n // May become an empty string but will be filtered out below\n return preferredTag;\n }\n if (!preferredTag) {\n return undefined;\n }\n if (typeof preferredTag !== 'object') {\n utils.reportSettings(\n 'Invalid `settings.jsdoc.tagNamePreference`. Values must be falsy, a string, or an object.',\n );\n }\n\n return preferredTag.replacement;\n }).filter((preferredType) => {\n return preferredType;\n });\n }\n\n jsdoc.tags.forEach((jsdocTag) => {\n const tagName = jsdocTag.tag;\n if (utils.isValidTag(tagName, [...definedTags, ...definedPreferredTags, ...definedNonPreferredTags])) {\n let preferredTagName = utils.getPreferredTagName({\n allowObjectReturn: true,\n defaultMessage: `Blacklisted tag found (\\`@${tagName}\\`)`,\n tagName,\n });\n if (!preferredTagName) {\n return;\n }\n\n let message;\n if (typeof preferredTagName === 'object') {\n ({message, replacement: preferredTagName} = preferredTagName);\n }\n if (!message) {\n message = `Invalid JSDoc tag (preference). Replace \"${tagName}\" JSDoc tag with \"${preferredTagName}\".`;\n }\n\n if (preferredTagName !== tagName) {\n report(message, (fixer) => {\n const replacement = sourceCode.getText(jsdocNode).replace(\n new RegExp(`@${_.escapeRegExp(tagName)}\\\\b`, 'u'),\n `@${preferredTagName}`,\n );\n\n return fixer.replaceText(jsdocNode, replacement);\n }, jsdocTag);\n }\n } else {\n report(`Invalid JSDoc tag name \"${tagName}\".`, null, jsdocTag);\n }\n });\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Reports invalid block tag names.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-tag-names',\n },\n fixable: 'code',\n schema: [\n {\n additionalProperties: false,\n properties: {\n definedTags: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"checkTagNames.js"}