UNPKG

@spartacus/core

Version:

Spartacus - the core framework

34 lines 4.78 kB
import { APP_INITIALIZER } from '@angular/core'; import { tap } from 'rxjs/operators'; import { ConfigInitializerService } from '../../config/config-initializer/config-initializer.service'; import { BaseSiteService } from '../facade/base-site.service'; import { CurrencyService } from '../facade/currency.service'; import { LanguageService } from '../facade/language.service'; import { SiteContextRoutesHandler } from '../services/site-context-routes-handler'; export function initializeContext(configInit, siteContextRoutesHandler) { return () => { return configInit .getStable('context') .pipe(tap(() => { // `siteContextRoutesHandler.init()` should be executed before CurrencyInitializer, // LanguageInitializer and BaseSiteInitializer // (now it's the case, thanks to the order of providers for APP_INITIALIZER). // // TODO(#12351): move it to the logic of specific context initializers siteContextRoutesHandler.init(); })) .toPromise(); }; } export const contextServiceProviders = [ BaseSiteService, LanguageService, CurrencyService, { provide: APP_INITIALIZER, useFactory: initializeContext, deps: [ConfigInitializerService, SiteContextRoutesHandler], multi: true, }, ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zZXJ2aWNlLXByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NpdGUtY29udGV4dC9wcm92aWRlcnMvY29udGV4dC1zZXJ2aWNlLXByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUV0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVuRixNQUFNLFVBQVUsaUJBQWlCLENBQy9CLFVBQW9DLEVBQ3BDLHdCQUFrRDtJQUVsRCxPQUFPLEdBQUcsRUFBRTtRQUNWLE9BQU8sVUFBVTthQUNkLFNBQVMsQ0FBQyxTQUFTLENBQUM7YUFDcEIsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxtRkFBbUY7WUFDbkYsOENBQThDO1lBQzlDLDZFQUE2RTtZQUM3RSxFQUFFO1lBQ0Ysc0VBQXNFO1lBQ3RFLHdCQUF3QixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFlO0lBQ2pELGVBQWU7SUFDZixlQUFlO0lBQ2YsZUFBZTtJQUNmO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixJQUFJLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSx3QkFBd0IsQ0FBQztRQUMxRCxLQUFLLEVBQUUsSUFBSTtLQUNaO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmZpZ0luaXRpYWxpemVyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZy9jb25maWctaW5pdGlhbGl6ZXIvY29uZmlnLWluaXRpYWxpemVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL2NvbmZpZy10b2tlbnMnO1xuaW1wb3J0IHsgQmFzZVNpdGVTZXJ2aWNlIH0gZnJvbSAnLi4vZmFjYWRlL2Jhc2Utc2l0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEN1cnJlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZhY2FkZS9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uL2ZhY2FkZS9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNpdGVDb250ZXh0Um91dGVzSGFuZGxlciB9IGZyb20gJy4uL3NlcnZpY2VzL3NpdGUtY29udGV4dC1yb3V0ZXMtaGFuZGxlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplQ29udGV4dChcbiAgY29uZmlnSW5pdDogQ29uZmlnSW5pdGlhbGl6ZXJTZXJ2aWNlLFxuICBzaXRlQ29udGV4dFJvdXRlc0hhbmRsZXI6IFNpdGVDb250ZXh0Um91dGVzSGFuZGxlclxuKTogKCkgPT4gUHJvbWlzZTxDb25maWc+IHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICByZXR1cm4gY29uZmlnSW5pdFxuICAgICAgLmdldFN0YWJsZSgnY29udGV4dCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAvLyBgc2l0ZUNvbnRleHRSb3V0ZXNIYW5kbGVyLmluaXQoKWAgc2hvdWxkIGJlIGV4ZWN1dGVkIGJlZm9yZSBDdXJyZW5jeUluaXRpYWxpemVyLFxuICAgICAgICAgIC8vIExhbmd1YWdlSW5pdGlhbGl6ZXIgYW5kIEJhc2VTaXRlSW5pdGlhbGl6ZXJcbiAgICAgICAgICAvLyAobm93IGl0J3MgdGhlIGNhc2UsIHRoYW5rcyB0byB0aGUgb3JkZXIgb2YgcHJvdmlkZXJzIGZvciBBUFBfSU5JVElBTElaRVIpLlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gVE9ETygjMTIzNTEpOiBtb3ZlIGl0IHRvIHRoZSBsb2dpYyBvZiBzcGVjaWZpYyBjb250ZXh0IGluaXRpYWxpemVyc1xuICAgICAgICAgIHNpdGVDb250ZXh0Um91dGVzSGFuZGxlci5pbml0KCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBjb250ZXh0U2VydmljZVByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgQmFzZVNpdGVTZXJ2aWNlLFxuICBMYW5ndWFnZVNlcnZpY2UsXG4gIEN1cnJlbmN5U2VydmljZSxcbiAge1xuICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICB1c2VGYWN0b3J5OiBpbml0aWFsaXplQ29udGV4dCxcbiAgICBkZXBzOiBbQ29uZmlnSW5pdGlhbGl6ZXJTZXJ2aWNlLCBTaXRlQ29udGV4dFJvdXRlc0hhbmRsZXJdLFxuICAgIG11bHRpOiB0cnVlLFxuICB9LFxuXTtcbiJdfQ==