конфигов пока 2, но все-же сделал им интерфейс
export interface ShellModuleConfig {
entry?: Partial<EntryConfig>;
shell?: Partial<ShellConfig>;
}
...
export function createEntryConfig(forRootConfigs: ShellModuleConfig) {
return forRootConfigs && forRootConfigs.entry ? merge({}, forRootConfigs.entry, defaultEntryConfig) : defaultEntryConfig;
}
export function createShellConfig(forRootConfigs: ShellModuleConfig) {
return forRootConfigs && forRootConfigs.shell ? merge({}, forRootConfigs.shell, defaultEntryConfig) : defaultShellConfig;
}
...
static forRoot(configs?: ShellModuleConfig): ModuleWithProviders {
...
providers: [
{
provide: FR_CONFIGS,
useValue: configs
},
{
provide: ENTRY_CONFIG,
useFactory: createEntryConfig,
deps: [FR_CONFIGS]
},
{
provide: SHELL_CONFIG,
useFactory: createShellConfig,
deps: [FR_CONFIGS]
},
]
}
Под AOT работает? Раньше нельзя было так делать.
Обсуждают сегодня