Je vois que les décorateurs babel.js (disponibles en "étape 1") implémentent la spécification à https://github.com/wycats/javascript-decorators. Il semble que les décorateurs soient limités à (1) classes, (2) accesseurs et (3) méthodes. Dans mon cas, je veux utiliser les décorateurs sur bon vieux fonctions, comme dansDécorateurs sur les fonctions
@chainable
function foo() { }
où (juste un exemple)
function chainable(fn) {
return function() {
fn.apply(this, arguments);
return this;
};
}
Je ne vois aucune raison logique pourquoi les décorateurs ne devraient pas être capable de s'appliquer aux fonctions. Ma question est la suivante: existe-t-il un moyen d'accomplir cela? Ou y a-t-il une bonne raison pour laquelle les fonctions ne peuvent pas être décorées?
Il s'avère qu'il y a un problème soulevé pour cela à https://github.com/wycats/javascript-decorators/issues/4.
En l'implémentant moi-même, vous voulez écrire mon propre analyseur/transpileur? –
@torazaburo non, vous pouvez écrire un plugin babel –