github-pages-deploy-action/node_modules/eslint-plugin-jsdoc/dist/rules/requireProperty.js
2020-03-31 08:40:00 -04:00

61 lines
1.3 KiB
JavaScript

"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