Я импортирую настраиваемый модуль из внешней библиотеки, например:
@NgModule({
imports: [ThirdPartyModule.forRoot(MY_CONFIG)]
})
Проблема в том, что MY_CONFIG не является статичным и использует сервис для определения его значения, поэтому я бы использовалфабрика для создания конфигурации модуля следующим образом:
@Injectable
class ConfigFactory {
constructor(private configService: ConfigService){}
public config(){
return {
someconfigvalue: this.configService.buildSomeConfigValue()
};
}
}
В этом случае я должен переписать импорт как
@NgModule({
imports: [ThirdPartyModule.forRoot(configFactory.config())]
})
Но я не знаю, как внедрить фабрику конфигурации.
Я знаю, что если бы у меня была такая ситуация с провайдером, я мог бы использовать провайдера фабрики.
Есть ли что-то похожее для импорта модуля?Могу ли я использовать фабрику для импорта модуля?Или есть другое решение этой проблемы?
PS обратите внимание, что я не могу изменить код для ThirdPartyModule.