2012-08-15 14 views
6

Estoy tratando de documentar un generador de funciones, pero sin éxito, este es un ejemplo:¿Cómo documentar un generador de funciones 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(); 

Cómo debo documentar la sus funciones specificObject genericObjectGenerator y con el fin de obtener jsdoc (y IntelliJ) para resolver el sayHello adecuadamente .

+1

anti-patrones necesitan más desánimo. – katspaugh

Respuesta

0

esto debe hacer el truco

/** 
* @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 
Cuestiones relacionadas