requireParam.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _lodash = _interopRequireDefault(require("lodash"));
  7. var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
  8. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  9. // eslint-disable-next-line complexity
  10. var _default = (0, _iterateJsdoc.default)(function (_ref) {
  11. var report = _ref.report,
  12. utils = _ref.utils;
  13. var functionParameterNames = utils.getFunctionParameterNames();
  14. var jsdocParameterNames = utils.getJsdocParameterNames(); // inheritdoc implies that all documentation is inherited; see http://usejsdoc.org/tags-inheritdoc.html
  15. if (utils.hasTag('inheritdoc')) {
  16. return;
  17. } // When settings.jsdoc.allowOverrideWithoutParam is true, override implies that all documentation is inherited.
  18. // See https://github.com/gajus/eslint-plugin-jsdoc/issues/73
  19. if ((utils.hasTag('override') || utils.classHasTag('override')) && utils.isOverrideAllowedWithoutParam()) {
  20. return;
  21. } // When settings.jsdoc.allowImplementsWithoutParam is true, implements implies that all documentation is inherited.
  22. // See https://github.com/gajus/eslint-plugin-jsdoc/issues/100
  23. if ((utils.hasTag('implements') || utils.classHasTag('implements')) && utils.isImplementsAllowedWithoutParam()) {
  24. return;
  25. } // When settings.jsdoc.allowAugmentsExtendsWithoutParam is true, augments or extends implies that all documentation is inherited.
  26. // See https://github.com/gajus/eslint-plugin-jsdoc/issues/100
  27. if ((utils.hasTag('augments') || utils.hasTag('extends') || utils.classHasTag('augments') || utils.classHasTag('extends')) && utils.isAugmentsExtendsAllowedWithoutParam()) {
  28. return;
  29. }
  30. _lodash.default.some(functionParameterNames, function (functionParameterName, index) {
  31. var jsdocParameterName = jsdocParameterNames[index];
  32. if (!jsdocParameterName) {
  33. report('Missing JSDoc @' + utils.getPreferredTagName('param') + ' "' + functionParameterName + '" declaration.');
  34. return true;
  35. }
  36. return false;
  37. });
  38. });
  39. exports.default = _default;
  40. module.exports = exports.default;
  41. //# sourceMappingURL=requireParam.js.map