У меня есть сторонняя библиотека, написанная на TS.
Я ее использую в Angular приложении.
Задача - заменить все диалоговые окна в библиотеки на matDialog.
Вопрос - как пробросить ангуляровский matDialog в библоитеку - чтобы потом можно было создавать окна?
Библиотека имеет точку входа:
class Library {
constructor(props: Props) {
// INIT
}
}
Не очень хочется пробрасывать все ангуляр зависимости и засорять конструктор библиотеки:
class Library {
constructor(props: Props, matDialog: MatDialog, eventService: EventService,....N) {
// INIT
}
}
Использование:
export function factory(matDialog: MatDialog, eventService: EventService) {
return new Library(matDialog, eventService);
}
{
provide: Library,
useFactory: factory,
deps: [MatDialog, EventService],
}
Логичнее, конечно - когда я ядре Library создаются все необходимые инстансы в том числе и диалоговые окна. Но как пробросить туда matDialog?, чтобы не писать свой.
Благодарю!