"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = _interopRequireDefault(require("lodash")); var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // eslint-disable-next-line complexity var _default = (0, _iterateJsdoc.default)(function (_ref) { var report = _ref.report, utils = _ref.utils; var functionParameterNames = utils.getFunctionParameterNames(); var jsdocParameterNames = utils.getJsdocParameterNames(); // inheritdoc implies that all documentation is inherited; see http://usejsdoc.org/tags-inheritdoc.html if (utils.hasTag('inheritdoc')) { return; } // When settings.jsdoc.allowOverrideWithoutParam is true, override implies that all documentation is inherited. // See https://github.com/gajus/eslint-plugin-jsdoc/issues/73 if ((utils.hasTag('override') || utils.classHasTag('override')) && utils.isOverrideAllowedWithoutParam()) { return; } // When settings.jsdoc.allowImplementsWithoutParam is true, implements implies that all documentation is inherited. // See https://github.com/gajus/eslint-plugin-jsdoc/issues/100 if ((utils.hasTag('implements') || utils.classHasTag('implements')) && utils.isImplementsAllowedWithoutParam()) { return; } // When settings.jsdoc.allowAugmentsExtendsWithoutParam is true, augments or extends implies that all documentation is inherited. // See https://github.com/gajus/eslint-plugin-jsdoc/issues/100 if ((utils.hasTag('augments') || utils.hasTag('extends') || utils.classHasTag('augments') || utils.classHasTag('extends')) && utils.isAugmentsExtendsAllowedWithoutParam()) { return; } _lodash.default.some(functionParameterNames, function (functionParameterName, index) { var jsdocParameterName = jsdocParameterNames[index]; if (!jsdocParameterName) { report('Missing JSDoc @' + utils.getPreferredTagName('param') + ' "' + functionParameterName + '" declaration.'); return true; } return false; }); }); exports.default = _default; module.exports = exports.default; //# sourceMappingURL=requireParam.js.map