2016-04-20 7 views
11

मान लें कि आप एक ES6 वर्ग के अंदर (प्रलेखन) निम्नलिखित कोड है:JSDOC में टाइप किए गए पैरामीटर का विस्तार कैसे करें?

/** 
* @typedef Test~options 
* @type {object.<string>} 
* @property {array} elements - An array containing elements 
* @property {number} length - The array length 
*/ 

/** 
* @param {Test~options} opt - Option object 
*/ 
test(opt){ 

} 

अब मैं एक और समारोह दस्तावेज़ के लिए चाहते हैं, चलो यह test2 नाम करते हैं। यह फ़ंक्शन बिल्कुल options ऑब्जेक्ट लेता है, लेकिन किसी अन्य प्रॉपर्टी parent की आवश्यकता होती है।

अनावश्यक विकल्पों को दस्तावेज किए बिना इसे कैसे दस्तावेज़ित करें? निरर्थक साधन:

/** 
* @typedef Test~options 
* @type {object.<string>} 
* @property {array} elements - An array containing elements 
* @property {number} length - The array length 
*/ 

/** 
* @param {Test~options} opt - Option object 
*/ 
test(opt){ 

} 


/** 
* @typedef Test~options2 
* @type {object.<string>} 
* @property {array} elements - An array containing elements 
* @property {number} length - The array length 
* @property {object} parent - The parent element 
*/ 

/** 
* @param {Test~options2} opt - Option object 
*/ 
test2(opt){ 

} 
+0

संदर्भ: https://github.com/jsdoc3/jsdoc/issues/1199 – dude

उत्तर

2

यह प्रयास करें GitHub पर

/** 
* @typedef {object.<string>} Test~options 
* @property {array} elements - An array containing elements 
* @property {number} length - The array length 
*/ 

/** 
* @param {Test~options} opt - Option object 
*/ 
test(opt){ 

} 

/** 
* @typedef {Test~options} Test~options2 
* @property {object} parent - The parent element 
*/ 

/** 
* @param {Test~options2} opt - Option object 
*/ 
test2(opt){ 

} 
+0

यह सबसे अच्छा समाधान अब तक, है, क्योंकि यह निर्दिष्ट करता है ** 'टेस्ट ~ विकल्प 2' के प्रकार ** को 'टेस्ट ~ विकल्प' के रूप में टाइप करें, जो बाद वाले को लिंक करता है। लेकिन यह आदर्श नहीं है, क्योंकि यह अपने "विस्तारित" प्रकार के सभी मानकों को दोहराता नहीं है; यह केवल नए पैरा सूचीबद्ध करता है। जेएसडीओसी को इसके लिए बेहतर मार्कअप पर काम करना चाहिए। – chharvey

संबंधित मुद्दे