Max
Max

Reputation: 1131

Jsdoc3 commenting object

Assuming I have some object, what the is way to comment it using jsdoc3?

/**
 * Test object
 * @namespace test
 */
var test = {
    /**
     * Some defaults
     * @memberOf test
     */
    defaults: {
      'test1': 1,
      'test2': 2
    },
    /**
     * Somthing else
     * @memberOf test
     */
    deep: {
      /**
       * Some option
       * @memberOf {test.deep}
       */
      option: {},
      /**
       * Some method
       * @memberOf test.deep
       */
      method: {},
      /**
       * Some option
       * @memberOf {test.deep.evenMore}
       */
      evenMore: {
        /**
         * Some option
         * @memberOf test.deep.evenMore
         */
        test: false
      }
    }
};

But jsdoc creates documentation only for Namespace: test and members deep, defaults

Namespace: test test Test object

Members

deep Somthing else

defaults Some defaults

Upvotes: 8

Views: 142

Answers (1)

rpax
rpax

Reputation: 4496

As @Scottux said, the only way to archieve this is naming additional namespaces.

/**
 * Test object
 * @namespace test
 */
var test = {
    /**
     * Some defaults
     * @memberOf test
     */
    defaults: {
      'test1': 1,
      'test2': 2
    },
    /**
     * Somthing else
     * @memberOf test
     * @namespace test.deep
     */
    deep: {
      /**
       * Some option
       * @memberOf test.deep
       */
      option: {},
      /**
       * Some method
       * @memberOf test.deep
       */
      method: {},
      /**
       * Some option
       * @memberOf test.deep
       * @namespace test.deep.evenMore
       */
      evenMore: {
        /**
         * Some option
         * @memberOf test.deep.evenMore
         */
        test: false
      }
    }
};

The generated documentation will look like this:


Generated documentation screenshot

Upvotes: 1

Related Questions