| 
		
			Сообщение от kobezzza
			
		
	 | 
	| 
		ЗЫЗЫ: возможно я не понял твой вопрос
	 | 
	
да нет О_О, наоборот О_О я охренел аж, круто, а можешь написать jsdoc для моего случая?
/**
 * TODO  сделать описание
 *
 * @param {Function|String[]} [getter]
 * @param {Function|String[]} [setter]
 * @param {Function|String[]} [aliases]
 *
 * @constructor
 */
function ProxyCap (getter, setter, aliases) {
	this.getter = null;
	this.setter = null;
	this.aliases = null;
	// парсим параметры
	for (var i = 0; i < arguments.length; i++) {
		var arg = arguments[i];
		if (arg instanceof Function) {
			this[this.getter ? 'setter' : 'getter'] = arg;
		} else if (arg instanceof Array) {
			this.aliases = arg;
		}
	}
}
	
	| 
		
			Сообщение от kobezzza
			
		
	 | 
	| 
		 пишеш докогенератор?
	 | 
	
нет,  у меня конструктор который имеет динамический интерфейс..
new ProxyCap();
new ProxyCap(function getter(){}, ['aliases']);
new ProxyCap(['aliases'], function getter(){});
new ProxyCap(['aliases'], function getter(){}, function setter(){});
new ProxyCap(function getter(){}, ['aliases'], function setter(){});
new ProxyCap(function getter(){}, function setter(){}, ['aliases']);
все и работает, пнятна)?
это по аналогии с css свойствами где разное количество разных параметров