Sto avendo una funzione che accetta un parametro stringa. Questo parametro può avere solo uno dei pochi valori possibili definiti. Qual è il modo migliore per documentare lo stesso? ShapeType dovrebbe essere definito come enum o TypeDef o qualcos'altro?
Shape.prototype.create = function (shapeType) {
// shapeType can be "rect", "circle" or "ellipse"...
this.type = shapeType;
};
Shape.prototype.getType = function (shapeType) {
// shapeType can be "rect", "circle" or "ellipse"...
return this.type;
};
La seconda parte del problema è che i possibili valori di shapeType
non sono noti nel file che definisce shapeType
come qualunque cosa tu suggerisca. Ci sono più file forniti da diversi sviluppatori che potrebbero aggiungere ai possibili valori di shapeType
.
PS: sto usando jsdoc3
enum
per la definizione e l'unione per il parametro della funzione:ShapeType|string
. Tuttavia le enumerazioni non supportano l'aggiunta di sottotipi dopo la dichiarazione in Closure-compiler.