J'utilise JSDoc pour la documentation des paramètres.
Il est clair comment documenter les types de paramètres pour many_prompts
, mais quelle est la bonne façon de documenter la fonction qu'elle renvoie?
/**
* @param {Number} - number of times to Prompt
* @return {Function(Prompt{Number})} - the returned function
*/
function many_prompts(count) {
return function(Prompt) {
for(var i=0; i < count; i++) alert(Prompt);
}
}
//Example of use:
var y =many_prompts(3);
y('Hello World');
Vous pouvez documenter la fonction interne et la référencer comme ça
/**
* @param {Number} - number of times to Prompt
* @return {many_prompts~inner} - the returned function
*/
function many_prompts(count){
/**
* My inner function
*
* @param {object} Prompt Some parameter
*/
var inner = function(Prompt){
for(var i=0;i<count;i++) alert(Prompt}
};
return inner;
}
Cela semble fonctionner pour moi.
/**
* @param {Number} count - number of times to Prompt
* @return {function(): void} - the returned function
*/
manyPrompts(count) {
/**
* My inner function
*
* @param {object} Prompt Some parameter
*/
const inner = function(Prompt) {
for (let i=0; i < count; i++) {
alert(Prompt);
};
};
return inner;
}
La façon dont je préfère:
/**
* @param {number} count - number of times to Prompt
* @returns { (promt:string) => void } - the returned function
*/
manyPrompts(count) {
/**
* My inner function
*
* @param {object} Prompt Some parameter
*/
const inner = function(Prompt) {
for (let i=0; i < count; i++) {
alert(Prompt);
};
};
return inner;
}