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 shapeType
não são conhecidos no arquivo que define shapeType
o 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
enum
para 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.