У меня есть функция-конструктор, Foo
, которую я хочу, чтобы мои пользователи звонили без new
. Например,Документирование функций конструктора без новых
const myFoo = Foo('bar');
для Foo
определяется как,
function Foo(bar) {
if(!this) { return new Foo(bar); }
foo.bar = bar;
return this;
}
Как задокументировать это с JSDoc3? Если я использую @class
(или @constructor
) с шаблоном по умолчанию, вывод всегда использует new Foo(bar)
. Если я документирую Foo
как только @function
, ни один из его методов или свойств экземпляра не появится, просто сама функция.
Есть ли способ отделить определение класса от функции-конструктора? Или настроить вывод, чтобы не указывать new
в конструкторе? @lends
и @constructs
обращаются к аналогичной необходимости, но для методов конструктора и экземпляра, определенных в литерале объекта.