2012-02-20 4 views
10

jsdocを使用してネストされた配列やオブジェクトをフォーマットするにはどうすればよいですか?jsDocでネストされた配列とオブジェクトのデータを文書化する際の質問

これが私の最高の推測です:

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); 

私はオブジェクトが文字列の種類によってインデックス付けされていることを示すにはどうすればよいですか?

ネストされた配列を定義するにはどうすればよいですか?

また、オプションのパラメータに角括弧をどこに入れるべきかわかりません。

答えて

1

thisをチェックすることをおすすめします。これは、文字列の配列としてobj.username.array宣言することになっている

/** 
* @param {String[]} obj.username.array 
*/ 

(ここで http://code.google.com/p/jsdoc-toolkit/wiki/TagParam指定):あなたはこのようにそれをやって試すことができます

//{Object{username:<Array<Object{param1:String, param2:String,[optional_nest]:string}>>}} 
+0

リンクが無効です。上記の例では、jsdocで「無効な型式」がスローされています。3.3 –

0

:私はおそらくそれをこのような何かを書くと思います。 jsdocまたはjsdoc3を使用していますか?

+0

現在、jsdoc-toolkit v3を使用しています。私はこのようなものに対処する方法を見つけることができません{id: 'moo'、items:[{url: '...'、description: 'moo2'}、...]} – walialu

+0

これは役に立ちません場合は、実オブジェクトの配列ではなく、匿名オブジェクトの配列を文書化しています –

関連する問題