Как использовать JSDoc3 для документирования вложенных пространств имен

У меня возникают проблемы с использованием JSDoc3 для документирования кода, структурированного в соответствии с этими строками.

/**
 * @namespace MyNamespace.MySubNamespace
 */

(function (MyNamespace) {
    MyNamespace.MySubNamespace.Foo = {
        doSomething: function (someParam) {
            // doing it
        }
    }
})(window.MyNamespace)

Как мне использовать JSDoc3 для документирования того, что MyNamespace содержит MySubNamespace, который содержит Foo? Далее, как мне связать doSomething с Foo и задокументировать его параметр someParam?

У меня есть ограничение: я не могу добавить документацию в файл, в котором объявлены MyNamespace и MySubNamespace.

Спасибо большое!


person Julian A.    schedule 15.06.2013    source источник


Ответы (1)


Догадаться. Надеюсь, это решение поможет другим.

/**
 * @namespace MyNamespace.MySubNamespace
 */

 (function (MyNamespace) {
     /**
      * Foo namespace
      * @namespace Foo
      * @memberOf MyNamespace.MySubNamespace
      */ 
     var Foo = {
         /**
          * Does something.
          * @memberOf MyNamespace.MySubNamespace.Foo
          * @param {object} someParam Some parameter.
          */
         doSomething: function (someParam) {
             // doing it
         }
     };
     MyNamespace.MySubNamespace.Foo = Foo;
 })(window.MyNamespace)    
person Julian A.    schedule 15.06.2013