Как создать декоратор машинописного текста, который позволяет декорированному классу расширять класс - PullRequest
0 голосов
/ 25 сентября 2018

У меня очень ограниченные знания по созданию декораторов, поэтому, пожалуйста, потерпите меня.

Допустим, у нас есть базовый класс, который мы будем использовать позже для нашего декоратора:

export class BaseElement { 
     tag: string;
     // some other stuff the base class will do
}

У нас естьдекоратор с именем Component, параметры которого мы будем использовать для установки свойств базового класса

@Component({
  tag: 'todo-list',
})
export class TodoList { }

Здесь декорированный класс равен TodoList, он должен расширяться BaseClass, когда декоратор Component создает желаемый класс и устанавливает свойство tag из параметров декоратора:

Это то, чего я хотел достичь с помощью декоратора:

export class TodoList extends BaseElement {
    constructor() {
      super()
      this.tag = ‘todo-list’;
    }
}

Если это невозможно,Есть ли способ создать плагин машинописного текста, чтобы сделать это возможным?

...