eslint-plugin-jsdoc
Version:
JSDoc linting rules for ESLint.
1 lines • 2.35 kB
Source Map (JSON)
{"version":3,"file":"checkAccess.cjs","names":["iterateJsdoc"],"sources":["../../src/rules/checkAccess.js"],"sourcesContent":["import iterateJsdoc from '../iterateJsdoc.js';\n\nconst accessLevels = [\n 'package', 'private', 'protected', 'public',\n];\n\nexport default iterateJsdoc(({\n report,\n utils,\n}) => {\n utils.forEachPreferredTag('access', (jsdocParameter, targetTagName) => {\n const desc = jsdocParameter.name + ' ' + jsdocParameter.description;\n\n if (!accessLevels.includes(desc.trim())) {\n report(\n `Missing valid JSDoc @${targetTagName} level.`,\n null,\n jsdocParameter,\n );\n }\n });\n const accessLength = utils.getTags('access').length;\n const individualTagLength = utils.getPresentTags(accessLevels).length;\n if (accessLength && individualTagLength) {\n report(\n 'The @access tag may not be used with specific access-control tags (@package, @private, @protected, or @public).',\n );\n }\n\n if (accessLength > 1 || individualTagLength > 1) {\n report(\n 'At most one access-control tag may be present on a JSDoc block.',\n );\n }\n}, {\n checkPrivate: true,\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Checks that `@access` tags have a valid value.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header',\n },\n type: 'suggestion',\n },\n});\n"],"mappings":";;;;;;AAAA;AAA8C;AAE9C,MAAM,YAAY,GAAG,CACnB,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAC5C;AAAC,iCAEa,IAAAA,qBAAY,EAAC,CAAC;EAC3B,MAAM;EACN;AACF,CAAC,KAAK;EACJ,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,aAAa,KAAK;IACrE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,GAAG,GAAG,GAAG,cAAc,CAAC,WAAW;IAEnE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;MACvC,MAAM,CACJ,wBAAwB,aAAa,SAAS,EAC9C,IAAI,EACJ,cACF,CAAC;IACH;EACF,CAAC,CAAC;EACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM;EACnD,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM;EACrE,IAAI,YAAY,IAAI,mBAAmB,EAAE;IACvC,MAAM,CACJ,iHACF,CAAC;EACH;EAEA,IAAI,YAAY,GAAG,CAAC,IAAI,mBAAmB,GAAG,CAAC,EAAE;IAC/C,MAAM,CACJ,iEACF,CAAC;EACH;AACF,CAAC,EAAE;EACD,YAAY,EAAE,IAAI;EAClB,gBAAgB,EAAE,IAAI;EACtB,IAAI,EAAE;IACJ,IAAI,EAAE;MACJ,WAAW,EAAE,gDAAgD;MAC7D,GAAG,EAAE;IACP,CAAC;IACD,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAAA","ignoreList":[]}