Изменить: Это технически вопрос из 2 частей. Я выбрал лучший ответ, который охватывает вопрос в целом и связан с ответом, который обрабатывает конкретный вопрос.
Каков наилучший способ документировать анонимные объекты и функции с помощью jsdoc?
/**
* @class {Page} Page Class specification
*/
var Page = function() {
/**
* Get a page from the server
* @param {PageRequest} pageRequest Info on the page you want to request
* @param {function} callback Function executed when page is retrieved
*/
this.getPage = function(pageRequest, callback) {
};
};
В коде отсутствует объект PageRequest
или callback
. Они будут предоставлены getPage()
во время выполнения. Но я хотел бы иметь возможность определить, что такое объект и функция.
Я могу уйти с созданием объекта PageRequest
для документирования того, что:
/**
* @namespace {PageRequest} Object specification
* @property {String} pageId ID of the page you want.
* @property {String} pageName Name of the page you want.
*/
var PageRequest = {
pageId : null,
pageName : null
};
И это прекрасно (хотя я открыт для лучших способов сделать это).
Каков наилучший способ документировать функцию callback
? Я хочу сообщить в документе, что, например, функция обратного вызова имеет вид:
callback: function({PageResponse} pageResponse, {PageRequestStatus} pageRequestStatus)
Любые идеи, как это сделать?