Как документировать функцию, которая возвращает конкретные значения? - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь задокументировать следующий метод, который возвращает только три значения: «активный», «неактивный» или «заблокированный».

Javascript код:

/**
 * Returns the current post status.
 * @return {string} the current status: 'inactive', 'active' or 'blocked'.
 */
function getStatus() {
    if (this.status === 0) return 'inactive';
    if (this.status === 1) return 'active';
    if (this.status === 2) return 'blocked';
}

Есть ли способ указать возвращаемое значение? Может быть что-то вроде:

@return {string=('inactive'|'active'|'blocked')} the current status.

Если нет, то как мне это сделать?

1 Ответ

0 голосов
/ 30 апреля 2018

К сожалению, в JSDoc такого нет, и единственное решение, о котором я могу подумать, - это использовать тег @ enum следующим образом:

/**
 * Post status.
 * @readonly
 * @enum {string}
 */
var STATUS = {
    /** The post is inactive. */
    INACTIVE: 'inactive',
    /** The post is active. */
    ACTIVE: 'active',
    /** The post is blocked. */
    BLOCKED: 'blocked'
};

/**
 * Returns the current post status.
 * @return {STATUS} the current status.
 */
function getStatus() {
    if (this.status === 0) return STATUS.INACTIVE;
    if (this.status === 1) return STATUS.ACTIVE;
    if (this.status === 2) return STATUS.BLOCKED;
}

Результат JSDoc:

Result

...