@spartacus/core
Version:
Spartacus - the core framework
45 lines • 4.98 kB
JavaScript
import { APP_INITIALIZER, isDevMode, NgModule, Optional, } from '@angular/core';
import { ConfigInitializerService } from '../config-initializer/config-initializer.service';
import { ConfigValidatorToken, validateConfig, } from './config-validator';
import * as i0 from "@angular/core";
export function configValidatorFactory(configInitializer, validators) {
const validate = () => {
if (isDevMode()) {
configInitializer
.getStable()
.subscribe((config) => validateConfig(config, validators || []));
}
};
return validate;
}
/**
* Should stay private in 1.x
* as forRoot() is used internally by ConfigInitializerModule
*
* issue: #5279
*/
export class ConfigValidatorModule {
static forRoot() {
return {
ngModule: ConfigValidatorModule,
providers: [
{
provide: APP_INITIALIZER,
multi: true,
useFactory: configValidatorFactory,
deps: [
ConfigInitializerService,
[new Optional(), ConfigValidatorToken],
],
},
],
};
}
}
ConfigValidatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ConfigValidatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
ConfigValidatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ConfigValidatorModule });
ConfigValidatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ConfigValidatorModule });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ConfigValidatorModule, decorators: [{
type: NgModule
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXZhbGlkYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9jb25maWcvY29uZmlnLXZhbGlkYXRvci9jb25maWctdmFsaWRhdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFNBQVMsRUFFVCxRQUFRLEVBQ1IsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVGLE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7O0FBRTVCLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsaUJBQTJDLEVBQzNDLFVBQTZCO0lBRTdCLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtRQUNwQixJQUFJLFNBQVMsRUFBRSxFQUFFO1lBQ2YsaUJBQWlCO2lCQUNkLFNBQVMsRUFBRTtpQkFDWCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDLENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxlQUFlO29CQUN4QixLQUFLLEVBQUUsSUFBSTtvQkFDWCxVQUFVLEVBQUUsc0JBQXNCO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0osd0JBQXdCO3dCQUN4QixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsb0JBQW9CLENBQUM7cUJBQ3ZDO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7a0hBaEJVLHFCQUFxQjttSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFQUF9JTklUSUFMSVpFUixcbiAgaXNEZXZNb2RlLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnSW5pdGlhbGl6ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlnLWluaXRpYWxpemVyL2NvbmZpZy1pbml0aWFsaXplci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIENvbmZpZ1ZhbGlkYXRvcixcbiAgQ29uZmlnVmFsaWRhdG9yVG9rZW4sXG4gIHZhbGlkYXRlQ29uZmlnLFxufSBmcm9tICcuL2NvbmZpZy12YWxpZGF0b3InO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnVmFsaWRhdG9yRmFjdG9yeShcbiAgY29uZmlnSW5pdGlhbGl6ZXI6IENvbmZpZ0luaXRpYWxpemVyU2VydmljZSxcbiAgdmFsaWRhdG9yczogQ29uZmlnVmFsaWRhdG9yW11cbik6ICgpID0+IHZvaWQge1xuICBjb25zdCB2YWxpZGF0ZSA9ICgpID0+IHtcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgIGNvbmZpZ0luaXRpYWxpemVyXG4gICAgICAgIC5nZXRTdGFibGUoKVxuICAgICAgICAuc3Vic2NyaWJlKChjb25maWcpID0+IHZhbGlkYXRlQ29uZmlnKGNvbmZpZywgdmFsaWRhdG9ycyB8fCBbXSkpO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIHZhbGlkYXRlO1xufVxuXG4vKipcbiAqIFNob3VsZCBzdGF5IHByaXZhdGUgaW4gMS54XG4gKiBhcyBmb3JSb290KCkgaXMgdXNlZCBpbnRlcm5hbGx5IGJ5IENvbmZpZ0luaXRpYWxpemVyTW9kdWxlXG4gKlxuICogaXNzdWU6ICM1Mjc5XG4gKi9cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlnVmFsaWRhdG9yTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb25maWdWYWxpZGF0b3JNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IENvbmZpZ1ZhbGlkYXRvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ1ZhbGlkYXRvckZhY3RvcnksXG4gICAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgQ29uZmlnSW5pdGlhbGl6ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgW25ldyBPcHRpb25hbCgpLCBDb25maWdWYWxpZGF0b3JUb2tlbl0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19