2012-08-15 16 views
6

Sto cercando di documentare un generatore di funzione, ma senza successo, questo è un esempio:Come documentare un generatore di funzioni con jsdoc?

function genericObjectGenerator(tagname) { 
    var specificObject = function() {}; 

    specificObject.getClassName = function() { 
    return tagname; 
    } 

    specificObject.prototype.sayHello = function(name) { 
    return tagname + " says hello to " + name; 
    } 

    return specificObject; 
} 

var MyObject = genericObjectGenerator("object1"); 

var myObjectInstance = new MyObject(); 

myObjectInstance.sayHello(); 

Come devo documentare il genericObjectGenerator e le sue funzioni specificObject al fine di ottenere JSDoc (e IntelliJ) per risolvere il sayHello correttamente .

+1

anti-pattern bisogno di più scoraggiamento. – katspaugh

risposta

0

questo dovrebbe fare il trucco

/** 
* @param {string} tagname - the name of the tag 
* @returns {specificObject} 
*/ 

function genericObjectGenerator(tagname) { 
    var specificObject = function() {}; 

    specificObject.getClassName = function() { 
     return tagname; 
    }; 

    /** 
    * @param {string} name - name as string 
    * @returns {string} 
    */ 

    specificObject.prototype.sayHello = function(name) { 
     return tagname + ' says hello to ' + name; 
    }; 

    return specificObject; 
} 

var MyObject = genericObjectGenerator('object1'); 

var myObjectInstance = new MyObject(); 

myObjectInstance.sayHello(123); // mark as warning 
myObjectInstance.sayHello('123'); // not marking 
Problemi correlati