JSDoc: возможно ли условное игнорирование?

1

Есть ли способ условно игнорировать некоторые документированные символы? Я хотел бы сделать что-то вроде этого (псевдокод):

/**
* @ignore if dev
*/
var a = 42;

/**
* @ignore if prod
*/
var b = 24;

В этом примере я хотел бы, чтобы мой генератор JSDoc только документировал var a если я настроил свой генератор на dev и наоборот для var b.

Это возможно?

  • 0
    Вы пришли к выводу по этому вопросу?
  • 0
    Нет, к сожалению я не
Теги:
jsdoc

1 ответ

0

Вы можете реализовать свой собственный 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;
                }
            }

        }
    });
};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню