@spartacus/core
Version:
Spartacus - the core framework
60 lines • 8.93 kB
JavaScript
import { NgModule } from '@angular/core';
import { CONFIG_INITIALIZER, } from '../config/config-initializer/config-initializer';
import { provideDefaultConfigFactory } from '../config/config-providers';
import { provideConfigValidator } from '../config/config-validator/config-validator';
import { StateModule } from '../state/index';
import { baseSiteConfigValidator } from './config/base-site-config-validator';
import { SiteContextConfigInitializer } from './config/config-loader/site-context-config-initializer';
import { defaultSiteContextConfigFactory } from './config/default-site-context-config';
import { SiteContextConfig } from './config/site-context-config';
import { SiteContextEventModule } from './events/site-context-event.module';
import { BASE_SITE_CONTEXT_ID } from './providers/context-ids';
import { contextInitializerProviders } from './providers/context-initializer-providers';
import { contextServiceMapProvider } from './providers/context-service-map';
import { contextServiceProviders } from './providers/context-service-providers';
import { siteContextParamsProviders } from './providers/site-context-params-providers';
import { SiteContextStoreModule } from './store/site-context-store.module';
import * as i0 from "@angular/core";
/**
* Initializes the site context config
*/
export function initSiteContextConfig(configInitializer, config) {
/**
* Load config for `context` from backend only when there is no static config for `context.baseSite`
*/
if (!config.context || !config.context[BASE_SITE_CONTEXT_ID]) {
return configInitializer;
}
return null;
}
export class SiteContextModule {
static forRoot() {
return {
ngModule: SiteContextModule,
providers: [
provideDefaultConfigFactory(defaultSiteContextConfigFactory),
contextServiceMapProvider,
...contextServiceProviders,
...siteContextParamsProviders,
provideConfigValidator(baseSiteConfigValidator),
{
provide: CONFIG_INITIALIZER,
useFactory: initSiteContextConfig,
deps: [SiteContextConfigInitializer, SiteContextConfig],
multi: true,
},
...contextInitializerProviders,
],
};
}
}
SiteContextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
SiteContextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextModule, imports: [StateModule, SiteContextStoreModule, SiteContextEventModule] });
SiteContextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextModule, imports: [[StateModule, SiteContextStoreModule, SiteContextEventModule]] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextModule, decorators: [{
type: NgModule,
args: [{
imports: [StateModule, SiteContextStoreModule, SiteContextEventModule],
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1jb250ZXh0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NpdGUtY29udGV4dC9zaXRlLWNvbnRleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFFTCxrQkFBa0IsR0FDbkIsTUFBTSxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDdEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBRTNFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxpQkFBK0MsRUFDL0MsTUFBeUI7SUFFekI7O09BRUc7SUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBRTtRQUM1RCxPQUFPLGlCQUFpQixDQUFDO0tBQzFCO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBS0QsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVCwyQkFBMkIsQ0FBQywrQkFBK0IsQ0FBQztnQkFDNUQseUJBQXlCO2dCQUN6QixHQUFHLHVCQUF1QjtnQkFDMUIsR0FBRywwQkFBMEI7Z0JBQzdCLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDO2dCQUMvQztvQkFDRSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixVQUFVLEVBQUUscUJBQXFCO29CQUNqQyxJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxpQkFBaUIsQ0FBQztvQkFDdkQsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0QsR0FBRywyQkFBMkI7YUFDL0I7U0FDRixDQUFDO0lBQ0osQ0FBQzs7OEdBbkJVLGlCQUFpQjsrR0FBakIsaUJBQWlCLFlBRmxCLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0I7K0dBRTFELGlCQUFpQixZQUZuQixDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQzsyRkFFM0QsaUJBQWlCO2tCQUg3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQztpQkFDdkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlnSW5pdGlhbGl6ZXIsXG4gIENPTkZJR19JTklUSUFMSVpFUixcbn0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy1pbml0aWFsaXplci9jb25maWctaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgcHJvdmlkZURlZmF1bHRDb25maWdGYWN0b3J5IH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy1wcm92aWRlcnMnO1xuaW1wb3J0IHsgcHJvdmlkZUNvbmZpZ1ZhbGlkYXRvciB9IGZyb20gJy4uL2NvbmZpZy9jb25maWctdmFsaWRhdG9yL2NvbmZpZy12YWxpZGF0b3InO1xuaW1wb3J0IHsgU3RhdGVNb2R1bGUgfSBmcm9tICcuLi9zdGF0ZS9pbmRleCc7XG5pbXBvcnQgeyBiYXNlU2l0ZUNvbmZpZ1ZhbGlkYXRvciB9IGZyb20gJy4vY29uZmlnL2Jhc2Utc2l0ZS1jb25maWctdmFsaWRhdG9yJztcbmltcG9ydCB7IFNpdGVDb250ZXh0Q29uZmlnSW5pdGlhbGl6ZXIgfSBmcm9tICcuL2NvbmZpZy9jb25maWctbG9hZGVyL3NpdGUtY29udGV4dC1jb25maWctaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgZGVmYXVsdFNpdGVDb250ZXh0Q29uZmlnRmFjdG9yeSB9IGZyb20gJy4vY29uZmlnL2RlZmF1bHQtc2l0ZS1jb250ZXh0LWNvbmZpZyc7XG5pbXBvcnQgeyBTaXRlQ29udGV4dENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3NpdGUtY29udGV4dC1jb25maWcnO1xuaW1wb3J0IHsgU2l0ZUNvbnRleHRFdmVudE1vZHVsZSB9IGZyb20gJy4vZXZlbnRzL3NpdGUtY29udGV4dC1ldmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgQkFTRV9TSVRFX0NPTlRFWFRfSUQgfSBmcm9tICcuL3Byb3ZpZGVycy9jb250ZXh0LWlkcyc7XG5pbXBvcnQgeyBjb250ZXh0SW5pdGlhbGl6ZXJQcm92aWRlcnMgfSBmcm9tICcuL3Byb3ZpZGVycy9jb250ZXh0LWluaXRpYWxpemVyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBjb250ZXh0U2VydmljZU1hcFByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvY29udGV4dC1zZXJ2aWNlLW1hcCc7XG5pbXBvcnQgeyBjb250ZXh0U2VydmljZVByb3ZpZGVycyB9IGZyb20gJy4vcHJvdmlkZXJzL2NvbnRleHQtc2VydmljZS1wcm92aWRlcnMnO1xuaW1wb3J0IHsgc2l0ZUNvbnRleHRQYXJhbXNQcm92aWRlcnMgfSBmcm9tICcuL3Byb3ZpZGVycy9zaXRlLWNvbnRleHQtcGFyYW1zLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTaXRlQ29udGV4dFN0b3JlTW9kdWxlIH0gZnJvbSAnLi9zdG9yZS9zaXRlLWNvbnRleHQtc3RvcmUubW9kdWxlJztcblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgc2l0ZSBjb250ZXh0IGNvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdFNpdGVDb250ZXh0Q29uZmlnKFxuICBjb25maWdJbml0aWFsaXplcjogU2l0ZUNvbnRleHRDb25maWdJbml0aWFsaXplcixcbiAgY29uZmlnOiBTaXRlQ29udGV4dENvbmZpZ1xuKTogQ29uZmlnSW5pdGlhbGl6ZXIgfCBudWxsIHtcbiAgLyoqXG4gICAqIExvYWQgY29uZmlnIGZvciBgY29udGV4dGAgZnJvbSBiYWNrZW5kIG9ubHkgd2hlbiB0aGVyZSBpcyBubyBzdGF0aWMgY29uZmlnIGZvciBgY29udGV4dC5iYXNlU2l0ZWBcbiAgICovXG4gIGlmICghY29uZmlnLmNvbnRleHQgfHwgIWNvbmZpZy5jb250ZXh0W0JBU0VfU0lURV9DT05URVhUX0lEXSkge1xuICAgIHJldHVybiBjb25maWdJbml0aWFsaXplcjtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1N0YXRlTW9kdWxlLCBTaXRlQ29udGV4dFN0b3JlTW9kdWxlLCBTaXRlQ29udGV4dEV2ZW50TW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l0ZUNvbnRleHRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNpdGVDb250ZXh0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTaXRlQ29udGV4dE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlRGVmYXVsdENvbmZpZ0ZhY3RvcnkoZGVmYXVsdFNpdGVDb250ZXh0Q29uZmlnRmFjdG9yeSksXG4gICAgICAgIGNvbnRleHRTZXJ2aWNlTWFwUHJvdmlkZXIsXG4gICAgICAgIC4uLmNvbnRleHRTZXJ2aWNlUHJvdmlkZXJzLFxuICAgICAgICAuLi5zaXRlQ29udGV4dFBhcmFtc1Byb3ZpZGVycyxcbiAgICAgICAgcHJvdmlkZUNvbmZpZ1ZhbGlkYXRvcihiYXNlU2l0ZUNvbmZpZ1ZhbGlkYXRvciksXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDT05GSUdfSU5JVElBTElaRVIsXG4gICAgICAgICAgdXNlRmFjdG9yeTogaW5pdFNpdGVDb250ZXh0Q29uZmlnLFxuICAgICAgICAgIGRlcHM6IFtTaXRlQ29udGV4dENvbmZpZ0luaXRpYWxpemVyLCBTaXRlQ29udGV4dENvbmZpZ10sXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmNvbnRleHRJbml0aWFsaXplclByb3ZpZGVycyxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19