Я вижу, что декораторы babel.js(доступные в "стадии 1" ) реализуют спецификацию в https://github.com/wycats/javascript-decorators. Похоже, что декораторы ограничены (1) классами, (2) аксессуарами и (3) методами. В моем случае я хочу использовать декораторы в простых старых функциях, как в
@chainable
function foo() { }
где (только пример)
function chainable(fn) {
return function() {
fn.apply(this, arguments);
return this;
};
}
Я не вижу никакой логической причины, по которой декораторы не могут быть применимы к функциям. Мой вопрос в том, есть ли способ сделать это? Или есть какая-то веская причина, почему функции не могут быть украшены?
Оказывается, проблема поднята для этого на https://github.com/wycats/javascript-decorators/issues/4.