2015-02-14 3 views
3

Я пытаюсь документировать методы модели mongoose с помощью jsdoc. Метод модели принадлежит модели, поэтому я хотел бы видеть ее как метод участника.Документирование методов модели mongoose с помощью jsdoc

Файл содержит также верхний уровень @module models.

/** 
* @constructor 
*/ 
var MySchema = new Schema({ 
    title: { 
    type: String, 
    required: true 
    } 
}); 

/** 
* My method 
* 
* @function myMethod 
* @memberof MySchema 
* @this MySchema 
* @param {ObjectId} object 
* @params {Array} roles, defaults to all 
* @returns Participant or null 
*/ 
MySchema.method('myMethod', function(object, roles) { 
    // ... 
}); 

В настоящее время я получаю страницу модуля, который содержит ссылку на мое определение класса, и страницу документирующего определение класса, но этот метод не появляется на любом из этих страниц. Когда я удаляю @memberof, метод появляется на странице модуля. Я хотел бы иметь его на странице класса.

Какую часть документов jsdoc мне не хватает?

ответ

3

Вы должны быть четко о модуле:

@memberof module:models~MySchema 

Дело в том, что JSDoc не собирается сделать вывод, что при указании MySchema вы имеете в виду MySchema объект, который находится в текущем модуле.

То же самое с @this, фактически. Если вы измените его, чтобы иметь имя модуля, то в документации часть около this будет иметь ссылку на определение MySchema.

+0

Мне также пришлось добавить '@ instance' в качестве тега или он думал, что мой метод статичен. –

Смежные вопросы