in src/app/common/component-loader.ts [33:173]
public static async LoadAsync(compiler: Compiler, component: ComponentReference): Promise<ModuleWithComponentFactories<{}>> {
// cannot assign module type as property of ComponentReference to avoid circular reference
var moduleType : Promise<Type<{}>> = null
switch (component.component_name) {
case WebSiteListComponentName:
moduleType = import('../webserver/websites/websites.module').then(m => {
return m.WebSitesModule
}) ; break;
case AppPoolComponentName:
moduleType = import('../webserver/app-pools/app-pools.module').then(m => {
return m.AppPoolsModule
}) ; break;
case WebFilesComponentName:
moduleType = import('../webserver/files/webfiles.module').then(m => {
return m.WebFilesModule
}) ; break;
case WebAppListComponentName:
moduleType = import('../webserver/webapps/webapps.module').then(m => {
return m.WebAppsModule
}) ; break;
case VdirListComponentName:
moduleType = import('../webserver/vdirs/vdirs.module').then(m => {
return m.VdirsModule
}) ; break;
case AuthenticationComponentName:
moduleType = import('../webserver/authentication/authentication.module').then(m => {
return m.AuthenticationModule
}) ; break;
case AuthorizationComponentName:
moduleType = import('../webserver/authorization/authorization.module').then(m => {
return m.AuthorizationModule
}) ; break;
case CertificatesComponentName:
moduleType = import('../certificates/certificates.module').then(m => {
return m.CertificatesModule
}) ; break;
case CentralCertificateComponentName:
moduleType = import('../webserver/central-certificates/central-certificate.module').then(m => {
return m.CentralCertificateModule
}) ; break;
case DefaultDocumentsComponentName:
moduleType = import('../webserver/default-documents/default-documents.module').then(m => {
return m.DefaultDocumentsModule
}) ; break;
case DirectoryBrowsingComponentName:
moduleType = import('../webserver/directory-browsing/directory-browsing.module').then(m => {
return m.DirectoryBrowsingModule
}) ; break;
case IpRestrictionsComponentName:
moduleType = import('../webserver/ip-restrictions/ip-restrictions.module').then(m => {
return m.IpRestrictionsModule
}) ; break;
case LoggingComponentName:
moduleType = import('../webserver/logging/logging.module').then(m => {
return m.LoggingModule
}) ; break;
case MimeMapsComponentName:
moduleType = import('../webserver/mime-maps/mime-maps.module').then(m => {
return m.MimeMapsModule
}) ; break;
case MonitoringComponentName:
moduleType = import('../webserver/monitoring/monitoring.module').then(m => {
return m.MonitoringModule
}) ; break;
case ModulesComponentName:
moduleType = import('../webserver/modules/modules.module').then(m => {
return m.ModulesModule
}) ; break;
case CompressionComponentName:
moduleType = import('../webserver/compression/compression.module').then(m => {
return m.CompressionModule
}) ; break;
case RequestFilteringComponentName:
moduleType = import('../webserver/request-filtering/request-filtering.module').then(m => {
return m.RequestFilteringModule
}) ; break;
case HttpResponseHeadersComponentName:
moduleType = import('../webserver/http-response-headers/http-response-headers.module').then(m => {
return m.HttpResponseHeadersModule
}) ; break;
case RequestTracingComponentName:
moduleType = import('../webserver/request-tracing/request-tracing.module').then(m => {
return m.RequestTracingModule
}) ; break;
case StaticContentComponentName:
moduleType = import('../webserver/static-content/static-content.module').then(m => {
return m.StaticContentModule
}) ; break;
case UrlRewriteComponentName:
moduleType = import('../webserver/url-rewrite/url-rewrite.module').then(m => {
return m.UrlRewriteModule
}) ; break;
case FilesComponentName:
moduleType = import('../files/files.module').then(m => {
return m.FilesModule
}) ; break;
case UploadComponentName:
moduleType = import('../files/upload.component').then(m => {
return m.Module
}) ; break;
case WarningComponentName:
moduleType = import('../notification/warning.component').then(m => {
return m.Module
}) ; break;
case AppModuleName:
moduleType = import('../main/app.module').then(m => {
return m.AppModule
}) ; break;
default:
throw new Error("Unexpected component " + component.component_name)
}
return moduleType.then(m => {
return compiler.compileModuleAndAllComponentsAsync(m)
})
}