Estou tendo uma função que aceita um parâmetro de string. Este parâmetro pode ter apenas um dos poucos valores possíveis definidos. Qual é a melhor maneira de documentar o mesmo? O shapeType deve ser definido como enum ou TypeDef ou algo mais?
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;
};
A segunda parte do problema é que os valores possíveis de shapeTypenão são conhecidos no arquivo que define shapeTypeo que você sugere. Existem vários arquivos contribuídos por vários desenvolvedores que podem adicionar aos valores possíveis de shapeType.
PS: Estou usando jsdoc3


enumpara a definição e uma união para o parâmetro função:ShapeType|string. No entanto, enums não suportam a adição de subtipos após a declaração no compilador Closure.