Я использую расширение класса Джона Резига для создания набора компонентов, и я использую JsDoc для создания документации к ним. Когда я создаю "класс" следующим образом:
/**
* Tests a thing to see what it is, baby
* @param {string=}Id the Id babyyyy
* @constructor
*/
TestThing = function(Id){
/**
* The thing's id
* @type {string=}
*/
this.Id = Id;
}
/**
* Gets the thing
* @param {number} id
* @returns {number}
* @memberof TestThing
*/
TestThing.prototype.Get = function(id){
return 5;
}
JsDoc работает как положено, создает класс в документации.
Когда я создаю его, используя расширение Джона:
/**
* Tests a thing to see what it is, baby
* @constructor
*/
TestThing2 = Class.extend({
/**
* Creates another thing
* @constructs TestThing2
* @param {number} id
*/
init: function(id) {
/**
* The thing's id
* @type {string=}
*/
this.Id = id;
},
/**
* Gets the thing
* @param {number} id
* @returns {number}
* @memberof TestThing2
*/
Get: function(id) {
return 5
}
})
Я получаю документацию с двумя версиями класса на одной странице, первая без аргументов конструктора (так что new TestThing2()), а вторая с аргументами (new TestThing2(id) эм>).
Очевидно, мне не нужны две версии документации, особенно если первая «неверна». Я предполагаю, что мне не хватает какого-то тега или чего-то еще, но я не могу понять, что.
Заранее спасибо.