Есть ли способ условно игнорировать некоторые документированные символы? Я хотел бы сделать что-то вроде этого (псевдокод):
/**
* @ignore if dev
*/
var a = 42;
/**
* @ignore if prod
*/
var b = 24;
В этом примере я хотел бы, чтобы мой генератор JSDoc только документировал var a
если я настроил свой генератор на dev
и наоборот для var b
.
Это возможно?
Вы можете реализовать свой собственный jsdoc-плагин, чтобы проверить условие игнорирования и установить его значение в doclet.ignore
. Установка его в значение true
предотвратит обработку обработанного документа - не добавление его в окончательную документацию.
exports.defineTags = function(dictionary) {
var env = require('jsdoc/env');
/*
* Usage: @customIgnore prod, test
*/
dictionary.defineTag('customIgnore', {
mustHaveValue: true,
onTagged: function(doclet, tag) {
var i;
// "envParams" is a property of your jsdoc.json
var environments = env.conf.envParams;
// Will hold "prod, test"
var tagValue = tag.value;
var conditionValues = tag.value.split(",");
for (i = 0; i < conditionValues.length && !doclet.ignore; i++) {
if (environments.indexOf(conditionValues[i].trim()) !== -1) {
doclet.ignore = true;
}
}
}
});
};