Здравствуйте. Как правильно документировать анонимную функцию, которая сама вызывается? К сожалению, с JSDoc работаю впервые и знаю только азы.
Имеется небольшая библиотека со следующим паттерном:
!function (b, c, d, e) {
// приватная функция
var foo = function(a,b) {
};
// главный селектор, публичная функция: $(object)
window.$ = function(a, b) {
return new foo(a, b);
};
$[b] = foo[b] = $.fn = foo.fn = {
// метод публичной функции: $(object).test(a,b)
test: function (a, b) {}
};
}(arg,arg,arg);
Вот что у меня получилось:
/**
* @name $
* @description ...
*/
!function (b, c, d, e) {
/**
* ...
* @private
*/
var foo = function(a,b) {
};
/**
* @lends $
* @global
* @description ...
* @param {object} a ...
* @param {string} [context] ...
* @returns {object} ...
* @example ...
*/
window.$ = function(a, b) {
return new foo(a, b);
};
$[b] = foo[b] = $.fn = foo.fn = {
/**
* @method
* @memberof $
* @global
* @arg {string} a ...
* @arg {function} b ...
* @returns {object} ...
* @example ...
*/
test: function (a, b) {}
};
}(arg,arg,arg);
Но так JSDoc выводит только функцию "$".