diff --git a/.README/rules/require-returns-description.md b/.README/rules/require-returns-description.md index 63441bbdc..e445381b6 100644 --- a/.README/rules/require-returns-description.md +++ b/.README/rules/require-returns-description.md @@ -1,7 +1,8 @@ ### `require-returns-description` Requires that the `@returns` tag has a `description` value. The error -will not be reported if the return value is `void` or `undefined`. +will not be reported if the return value is `void` or `undefined` +or if it is `Promise` or `Promise`. #### Options diff --git a/README.md b/README.md index e37caf9e0..c10df7c70 100644 --- a/README.md +++ b/README.md @@ -11424,7 +11424,8 @@ function quux () { ### require-returns-description Requires that the `@returns` tag has a `description` value. The error -will not be reported if the return value is `void` or `undefined`. +will not be reported if the return value is `void` or `undefined` +or if it is `Promise` or `Promise`. #### Options @@ -11547,6 +11548,20 @@ function quux () { } +/** + * @returns {Promise} + */ +function quux () { + +} + +/** + * @returns {Promise} + */ +function quux () { + +} + /** * @function * @returns diff --git a/src/rules/requireReturnsDescription.js b/src/rules/requireReturnsDescription.js index e4ca9c8e7..16b67da5b 100644 --- a/src/rules/requireReturnsDescription.js +++ b/src/rules/requireReturnsDescription.js @@ -7,7 +7,7 @@ export default iterateJsdoc(({ utils.forEachPreferredTag('returns', (jsdocTag, targetTagName) => { const type = jsdocTag.type && jsdocTag.type.trim(); - if (type === 'void' || type === 'undefined') { + if (['void', 'undefined', 'Promise', 'Promise'].includes(type)) { return; } diff --git a/test/rules/assertions/requireReturnsDescription.js b/test/rules/assertions/requireReturnsDescription.js index 94fa6df97..46aae9a2b 100644 --- a/test/rules/assertions/requireReturnsDescription.js +++ b/test/rules/assertions/requireReturnsDescription.js @@ -193,6 +193,26 @@ export default { } `, }, + { + code: ` + /** + * @returns {Promise} + */ + function quux () { + + } + `, + }, + { + code: ` + /** + * @returns {Promise} + */ + function quux () { + + } + `, + }, { code: ` /**