{"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":[]}