Как документировать API с помощью JSDoc, который следующий вид (один файл)JSDoc надлежащим образом документировать socket.on («событие», функция() {}) и маршруты обработчик
// api.js
exports.addSocketEvents = function(socket) {
/**
* This will do that and ...
* @param {Object} data Some data
* @param {string} data.bla Something about bla
* @param {number} data.n Some number
*/
socket.on('something_1', function(data) { ... });
/**
* Another function that will do ..
* @param {string} id of something
*/
socket.on('something_2', function(id) { ... });
...
};
exports.addRoutes = function(app) {
/**
* PATCH /something/:id/juhu
* Will do this and that and will respond with ...
* @param {string} _id Id of bonus document
*/
app.patch('/something/:id/juhu', function(req, res) {...});
/**
* GET /something
* Will fetch and respond back with ...
*/
app.get('/something', function(req, res) {...});
...
};
Моя единственная идея заключается в том добавить @namespace
выше экспорта и @lends
над анонимными функциями, но это приводит к пустой документации.
Запуск команды JSDoc против этого файла всех анонимных функции остаются проигнорированы (незарегистрированным). Кроме того, я бы постарался избежать использования @class, если я могу, в этом случае документация будет содержать новую socketio(), которая может вводить в заблуждение ключ к тому, кто будет читать документы. – Srle
Вы можете удалить @class, поскольку я могу понять, почему вы не захотите их. Вы используете последний JSDoc? Я тоже нашел этот вопрос. https://stackoverflow.com/questions/8071897/how-to-document-anonymous-functions-closure-with-jsdoc-toolkit –