From 75d51dcb4641bd6a220bbcda08a5a6939de2f3f7 Mon Sep 17 00:00:00 2001 From: john Date: Wed, 13 Mar 2019 21:24:30 +0800 Subject: [PATCH] feat: make require-returns-description accept void functions (fixes #157) --- src/rules/requireReturnsDescription.js | 6 ++++++ .../assertions/requireReturnsDescription.js | 20 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/rules/requireReturnsDescription.js b/src/rules/requireReturnsDescription.js index ca3a67938..01596703d 100644 --- a/src/rules/requireReturnsDescription.js +++ b/src/rules/requireReturnsDescription.js @@ -13,6 +13,12 @@ export default iterateJsdoc(({ }); _.forEach(jsdocTags, (jsdocTag) => { + const type = jsdocTag.type && jsdocTag.type.trim(); + + if (type === 'void' || type === 'undefined') { + return; + } + if (!jsdocTag.description) { report('Missing JSDoc @' + targetTagName + ' description.', null, jsdocTag); } diff --git a/test/rules/assertions/requireReturnsDescription.js b/test/rules/assertions/requireReturnsDescription.js index d4ef61cae..3e334d2ad 100644 --- a/test/rules/assertions/requireReturnsDescription.js +++ b/test/rules/assertions/requireReturnsDescription.js @@ -58,6 +58,26 @@ export default { */ function quux () { + } + ` + }, + { + code: ` + /** + * @returns {undefined} + */ + function quux () { + + } + ` + }, + { + code: ` + /** + * @returns {void} + */ + function quux () { + } ` }