У мене є функція, яка приймає один параметр рядка. Цей параметр може мати лише одне з декількох визначених можливих значень. Який найкращий спосіб документувати те саме? Чи слід shapeType визначати як enum, TypeDef чи щось інше?
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;
};
Друга частина проблеми полягає в тому, що можливі значення shapeTypeневідомі у файлі, який визначається shapeTypeяк все, що ви пропонуєте. Існує кілька файлів, внесених декількома розробниками, які можуть додати до можливих значень shapeType.
PS: використовую jsdoc3


enumдля визначення та об'єднання для параметра функції:ShapeType|string. Однак перелічення не підтримують додавання підтипів після оголошення в Closure-compiler.