Декоратор класса TypeScript, который изменяет экземпляр объекта
Я делаю плагин для Aurelia и мне нужен декоратор класса, который
добавляет атрибуты к новому экземпляру объекта ивызывает внешнюю функцию с новым объектом в качестве аргумента.Я просмотрел примеры и пока собрал (псевдо-код)
return function addAndCall(target: any): any {
var original = target;
var newConstructor = function (...args) {
original.apply(this, args);
this.newAttribute = "object instance value";
ExternalModule.externalFunction(this);
};
newConstructor.prototype = Object.create(original.prototype);
newConstructor.prototype.constructor = original;
return <any>newConstructor;
}
но
Я не совсем понимаю детали здесь (или что на самом деле нужно), иэто может не работать должным образом, так как я получаю ошибки Aurelia при использовании объектов, созданных из классов с этим декоратором (и я подозреваю, что это мой декоратор, а не фреймворк Aurelia, который глючит).Любая помощь и объяснения будут с благодарностью!