warning
jsdoc/implements-on-classesReports an issue with any non-constructor function using @implements
.
Constructor functions, whether marked with @class
, @constructs
, or being an ES6 class constructor, will not be flagged.
To indicate that a function follows another function's signature, one might instead use @type
to indicate the @function
or @callback
to which the function is adhering.
Examples
❌ Incorrect
/**
* @implements {SomeClass}
*/
function quux () {
}
// Message: @implements used on a non-constructor function
✅ Correct
/**
* @implements {SomeClass}
* @class
*/
function quux1 () {
}
/**
* @implements {SomeClass}
* @constructor
*/
function quux2 () {
}
/**
*
*/
class quux3 {
/**
* @implements {SomeClass}
*/
constructor () {
}
}
/**
*
*/
const quux4 = class {
/**
* @implements {SomeClass}
*/
constructor () {
}
}
/**
*
*/
function quux5 () {
}