forked from public/fvtt-cthulhu-eternal
63 lines
1.9 KiB
JavaScript
63 lines
1.9 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.default = void 0;
|
||
|
var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc.cjs"));
|
||
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
||
|
const anyWhitespaceLines = /^\s*$/u;
|
||
|
const atLeastTwoLinesWhitespace = /^[ \t]*\n[ \t]*\n\s*$/u;
|
||
|
var _default = exports.default = (0, _iterateJsdoc.default)(({
|
||
|
jsdoc,
|
||
|
utils
|
||
|
}) => {
|
||
|
const {
|
||
|
description,
|
||
|
descriptions,
|
||
|
lastDescriptionLine
|
||
|
} = utils.getDescription();
|
||
|
const regex = jsdoc.tags.length ? anyWhitespaceLines : atLeastTwoLinesWhitespace;
|
||
|
if (descriptions.length && regex.test(description)) {
|
||
|
if (jsdoc.tags.length) {
|
||
|
utils.reportJSDoc('There should be no blank lines in block descriptions followed by tags.', {
|
||
|
line: lastDescriptionLine
|
||
|
}, () => {
|
||
|
utils.setBlockDescription(() => {
|
||
|
// Remove all lines
|
||
|
return [];
|
||
|
});
|
||
|
});
|
||
|
} else {
|
||
|
utils.reportJSDoc('There should be no extra blank lines in block descriptions not followed by tags.', {
|
||
|
line: lastDescriptionLine
|
||
|
}, () => {
|
||
|
utils.setBlockDescription((info, seedTokens) => {
|
||
|
return [
|
||
|
// Keep the starting line
|
||
|
{
|
||
|
number: 0,
|
||
|
source: '',
|
||
|
tokens: seedTokens({
|
||
|
...info,
|
||
|
description: ''
|
||
|
})
|
||
|
}];
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
}, {
|
||
|
iterateAllJsdocs: true,
|
||
|
meta: {
|
||
|
docs: {
|
||
|
description: 'Detects and removes extra lines of a blank block description',
|
||
|
url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header'
|
||
|
},
|
||
|
fixable: 'whitespace',
|
||
|
schema: [],
|
||
|
type: 'layout'
|
||
|
}
|
||
|
});
|
||
|
module.exports = exports.default;
|
||
|
//# sourceMappingURL=noBlankBlockDescriptions.cjs.map
|