How do I format nested arrays and objects using jsdoc?
This is my best guess:
an_obj = {
username1 : [
{
param1 : "value 1-1-1",
param2 : "value 1-1-2",
optional_nested : "1-1--2"
},
{
param1 : "value 1-2-1",
param2 : "value 1-2-2"
},
],
username2 : [
{
param1 : "value 2-1-1",
param2 : "value 2-1-2"
},
{
param1 : "value 2-2-1",
param2 : "value 2-2-2",
optional_nested : "2-2--2"
}
]
}
}
/**
* A function description.
* @param {Object} obj
* @param {Object} obj.username This is not the object name, but a name type.
* @param {Array} obj.username.array Desc... using [] would conflict with optional params.
* However this could be confused with an object called array.
* @param {String} obj.username.array.param1 Desc... This is the object name rather than a type.
* @param {String} obj.username.array.param2 Desc...
* @param {String} obj.username.array.[optional_param] Desc...
*/
var myFunc = function(obj){
//...
};
myFunc(an_obj);
How do I indicate that an object is indexed by a kind of string?
How do I define a nested array?
Also not sure where to put the square brackets in the optional parameter.
I'd recommend checking this out. I'd probably write it something like this:
//{Object{username:<Array<Object{param1:String, param2:String,[optional_nest]:string}>>}}
You can try doing it like this : (as specified here http://code.google.com/p/jsdoc-toolkit/wiki/TagParam )
/**
* @param {String[]} obj.username.array
*/
This is supposed to declare obj.username.array
as an array of strings. Are you using jsdoc or jsdoc3?
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.