0

My jsdocs look like the following

module.exports = class gateio extends Exchange {
    /**
     * @class
     * @name gateio
     */

    async fetchOrder (id, symbol = undefined, params = {}) {
        /**
         * @method
         * @name gateio#fetchOrder
         * @description Retrieves information on an order
         * @param {string} id : Order id
         * @param {string} symbol : Unified market symbol
         * @param {boolean} params.stop : True if the order being fetched is a trigger order
         * @param {dictionary} params : Parameters specified by the exchange api
         * @returns [Order structure]{@link https://docs.ccxt.com/en/latest/manual.html#order-structure}
         */

Is there any way to auto detect that

  • that fetchOrder is a method
  • its name is fetchOrder and it belongs to class gateio
  • its description is "Retrieves information on an order"
  • That gateio is a class
  • that gateio's name is gateio

Or do I have to specify @method, @name, @class, @description for every doc?

These @'s seem superfluous and I would like to exclude them if I could

Sam
  • 1,765
  • 11
  • 82
  • 176

1 Answers1

0

It seems like jsdoc is confused by module.exports = class ... . I was able to get it to work like this:

/**
 * (description text)
 */
class gateio extends Exchange {
    /**
     * Retrieves information on an order
     * @param {string} id : Order id
     * @param {string} symbol : Unified market symbol
     * @param {boolean} params.stop : True if the order being fetched is a trigger order
     * @param {dictionary} params : Parameters specified by the exchange api
     * @returns [Order structure]{@link https://docs.ccxt.com/en/latest/manual.html#order-structure}
     */
    async fetchOrder (id, symbol = undefined, params = {}) {
        // ...
    }
}
module.exports = gateio
12Me21
  • 992
  • 10
  • 22