Mam klasę gdzie poszczególne metody mogą być wywołana statycznie ale powróci nową instancję klasy w celu łańcucha, na przykład:Dokumentowanie prywatną konstruktora z JSDoc
var builder = ns
.setState('a', 'A')
.setState('b', 'B');
Gdzie Builder
jest zdefiniowany jako takie:
/**
* @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…
}
konstruktor Builder
jest nigdy powinien być nazywany wyraźnie kodem użytkownika, a więc chciałbym go nie pokazać się w docs. Jednak wszystkie kombinacje, które wypróbowałem z tagami JSDoc (np. @private
, @constructs
, itp.) Nie wydają się tłumić go z wbudowanych dokumentów.