"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = (0, _iterateJsdoc.default)(({ jsdoc, utils }) => { const propertyAssociatedTags = utils.filterTags(({ tag }) => { return ['typedef', 'namespace'].includes(tag); }); if (!propertyAssociatedTags.length) { return; } const targetTagName = utils.getPreferredTagName({ tagName: 'property' }); if (utils.hasATag([targetTagName])) { return; } propertyAssociatedTags.forEach(propertyAssociatedTag => { if (!['object', 'Object', 'PlainObject'].includes(propertyAssociatedTag.type)) { return; } utils.reportJSDoc(`Missing JSDoc @${targetTagName}.`, null, () => { const line = jsdoc.tags[jsdoc.tags.length - 1].line + 1; jsdoc.tags.push({ description: '', line, name: '', optional: false, tag: targetTagName, type: '' }); }); }); }, { iterateAllJsdocs: true, meta: { fixable: 'code', type: 'suggestion' } }); exports.default = _default; module.exports = exports.default; //# sourceMappingURL=requireProperty.js.map