Assuming you have the following code inside a ES6 class (documentation):
/** * @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){ }
Now I would like to document another function, let's name it test2
. This function takes exactly the same options
object, but needs another property parent
.
How to document this without documenting redundant options? Redundant means:
/** * @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){ }
I found this solution and this works very fine for me. originally from here
/** * @typedef {Object} ChildType * @property {String} childProp * * @typedef {Base & ChildType} Child */
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With