Какие теги JSDoc использовать при создании объектов с фабрикой, например, mylib.create()

В моем модуле CommonJS используется создание объекта в фабричном стиле (.create()), и я пытаюсь получить документацию в стиле JSDoc, но не могу понять, какой JSDoc теги @class, @module и т. д. Я должен использовать, чтобы сделать это красиво. Ниже вы можете увидеть упрощенную структуру модуля.

var MyLib = function () {
  this.msg = 'Hello';
};

exports.create = function () {
  return new MyLib();
};

MyLib.prototype.greet = function () {
  console.log(this.msg);
};

Библиотека используется следующим образом. Пользователь не знает и не должен ничего знать о том, как работает библиотека за mylib.create().

var mylib = require('mylib');
var a = mylib.create();
a.greet(); // 'Hello'

Поэтому мой вопрос заключается в том, как мне пометить функции, чтобы документация включала mylib.create() в качестве конструктора, mylib.instance.greet() в качестве метода и не включала ничего об объекте MyLib, который используется только внутри модуля.


person Akseli Palén    schedule 09.03.2015    source источник
comment
звучит как модуль для меня, а у модулей нет конструкторов как таковых, так что не волнуйтесь.   -  person dandavis    schedule 09.03.2015


Ответы (1)


Я бы сказал, что @constructs — это то, что вы ищете (см. также http://usejsdoc.org/tags-constructs.html).

Но я бы сказал, что MyLib следует документировать как класс и создавать как функцию, которая возвращает экземпляр этого класса с правильной ссылкой (т.е. @see).

person SGD    schedule 10.03.2015