Ho una classe che definisce alcune proprietà di istanza tramite Object.defineProperties
e sto riscontrando grandi difficoltà nel ricevere JSDoc 3 per riconoscere che appartengono alla loro classe.Come posso documentare correttamente i membri dell'istanza aggiunti tramite Object.defineProperties?
Ecco una versione semplificata di quello che sto lavorando con:
/** @exports mymodule */
function mymodule(exports) {
/** @constructor
* @param {String} foo A foo.
* @param {String} bar A bar.
* @classdesc Has a foo and a bar.
*/
function Example(foo, bar) {
Object.defineProperties(this, {
/** A foo and a bar
* @memberof Example
*/
foobar: { enumerable: false, value: foo + bar, writable: false }
});
}
exports.Example = Example;
}
Quando eseguo JSDoc, ottengo output per mymodule
, Example
, foo
, e bar
, ma non foobar
. Se rimuovo il tag @memberof
per foobar
, viene registrato come globale. Ho provato @memberof mymmodule~Example
, aggiungendo @lends
sia alla chiamata Object.defineProperties
sia all'oggetto passato e convertendola in Object.defineProperty
, ma i risultati non cambiano.
Come è possibile documentare foobar
come appartenente a Example
?
provato con webstorm, più file: S non funziona ... – inf3rno