E.g. MyClass.js
/**
* @class
* @name module:Bar
* @param {number} a1
* @param {string} a2
*/
function Bar(a1, a2){}
And, in another file:
/** @type module:Bar.constructor */ // made up syntax
var Bar = require("./MyClass.js");
Re-defining @class
works but it's not convenient:
/**
* @class
* @name module:Bar
* @param {number} a1
* @param {string} a2
*/
var Bar = require("./MyClass.js");
How do I do it?
The class name alone should be enough.
/**
* @type module:Bar
*/
var Bar = require("./MyClass.js");
You should use @alias
instead of @name
:
Warning: By using the @name tag, you are telling JSDoc to ignore the surrounding code and treat your documentation comment in isolation. In many cases, it is best to use the @alias tag instead, which changes a symbol's name in the documentation but preserves other information about the symbol.
/**
* @class
* @alias module:Bar
* @param {number} a1
* @param {string} a2
*/
function Bar(a1, a2){}