2014-12-11 19 views
7

Ich habe eine Klasse bekam, wo einzelne Methoden statisch aufgerufen werden kann, sondern eine neue Instanz der Klasse, um Kette zurückkehren, zum Beispiel:Dokumentieren einen privaten Konstruktor mit JSDoc

var builder = ns 
    .setState('a', 'A') 
    .setState('b', 'B'); 

Wo Builder wie definiert so: ich möchte es in der Dokumentation zu zeigen, nicht explizit durch Benutzercode aufgerufen werden und somit

/** 
* @module Builder 
*/ 

/** 
* @class Builder 
*/ 

/** 
* @private 
*/ 
function Builder() { 
    this.state = { 
    query: {} 
    }; 
} 
Builder.prototype = { 
    /** 
    * @param {string} k - The key 
    * @param {object} v - The value 
    * @return {Builder} 
    */ 
    setState: function(k, v) { 
    var that = (this instanceof Builder) ? this : new Builder(); 
    that[k] = v; 
    return that; 
    } 
    // Other properties and methods… 
} 

Der Builder Konstruktor ist nie soll. Alle Kombinationen, die ich mit JSDoc-Tags versucht habe (z. B. @private, @constructs, usw.), können jedoch nicht von den erstellten Dokumenten unterdrückt werden.

Antwort

2

Sie sollten die @ignore Direktive verwenden können, um dies zu erreichen. Aus der Dokumentation:

Der Tag @ignore zeigt an, dass ein Symbol in Ihrem Code niemals in der Dokumentation erscheinen sollte. Dieses Tag hat Vorrang vor allen anderen.

http://usejsdoc.org/tags-ignore.html

Verwandte Themen