JSDocs3: правильно аннотировать закрытие
Большая часть моего опыта работы с JS связана с работой с замыканиями, подобными тем, которые были найдены и поощрены d3.js, как показано в таблицах многократного использования.
Так что, если я напишу свое собственное замыкание с его собственными получателями и установщиками, что будет правильным способом пометить его в JSDocs?
function myClosure( myParam ) {
var anotherParam
//...
// getters & setters
myClsr.anotherParam = function(_) {return arugments.length ? (anotherParam = _, myClsr) : anotherParam; }
// ...
function myClsr(){
// ...
}
return myClsr
}
Будет ли это:
/**
* myClosure
* @namespace
* @returns {function} myClsr
*/
function myClosure( myParam ) {
/** @param {number} [anotherParam=1] get and set via myClsr.anotherParam()*/
var anotherParam = 1;
//...
/**
* @namespace
*/
// getters & setters
/**
* getter and setter for anotherParam
* @param {number|undefined} [_=undefined] sets anotherParam = _ if _ != undefined otherwise current value
* @returns {function | number } if _ is undefined returns myClsr otherwise returns current value of anotherParam
*/
myClsr.anotherParam = function(_) {return arugments.length ? (anotherParam = _, myClsr) : anotherParam; }
// ...
function myClsr(){
// ...
}
return myClsr
}