Добрый день.
Есть довольно большой класс на js. И требуется возможность при переходе в определенный режим отрубить 80% функционала, а при попытке обращения к функционалу ругаться. Как можно определить при вызове функции что функция вызвана и сделать какие-либо проверки и прерывание функции, при этом не дописывая в начало каждой функции условие с выходом?
Просто при наличии ~100 методов класса редактировать каждый муторно, а если появится еще один режим работы - это вообще повеситься:(
UPD. Немного перефразирую. Есть примерно вот что:
vat test = function() {
this.block1 = $('block1');
this.block2 = $('block2');
//переключатель
//при true все вызовы должны быть перенаправлены на метод с кастомной ошибкой
this.enable = false;
//обработчики событий
this.events = {
block1: {
event1: function(e){},
event2: function(e){}
},
block2 ...
}
this.bindEvents = function() {
this.block1.on('click', this.events.block1.event1)
this.block2.on('click', this.events.block1.event2)
...
//еще куча привязок
}
//общие методы для обработки данных,
//которые могу вызываться как из разных внутренних событий
//так и извне
this.someMethod1 = function() {}
this.someMethod2 = function() {}
...
this.bindEvents();
}
Как можно видоизменить структуру, чтобы (new test()).enable = true требуемые события и методы(не все) блокировались , при этом не дописывать условия выхода в каждом методе.
Честно говоря не представляю как это сделать абстрагированием:(