Можно ли добавить декоратор к классу после его создания в Typescript? - PullRequest
0 голосов
/ 06 марта 2020

Я хотел бы обновить класс с помощью @injectable декоратора inversify после его создания; В данном случае я хочу использовать фиктивную библиотеку, например ts-auto-mock, чтобы создать для меня макет, а затем применить декоратор @injectable, чтобы я мог привязать макет к типу сервиса.

const mockExampleService = createMock<ExampleService>();
// I want to apply the @injectable decorator to mockExampleService here

// inversify.unit-config.ts
const container = new Container();
const.bind<ExampleService>(TYPES.ExampleService).to(mockExampleService);

1 Ответ

1 голос
/ 06 марта 2020

Конечно! Inversify предоставляет функцию decorate именно для этой цели.

const mockExampleService = createMock<ExampleService>();
decorate(injectable(), mockExampleService);

// inversify.unit-config.ts
const container = new Container();
const.bind<ExampleService>(TYPES.ExampleService).to(mockExampleService);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...