@spartacus/core
Version:
Spartacus - the core framework
23 lines • 2.95 kB
JavaScript
import { InjectionToken } from '@angular/core';
export const ConfigValidatorToken = new InjectionToken('ConfigurationValidator');
/**
* Use to probide config validation at app bootstrap (when all config chunks are merged)
*
* @param configValidator
*/
export function provideConfigValidator(configValidator) {
return {
provide: ConfigValidatorToken,
useValue: configValidator,
multi: true,
};
}
export function validateConfig(config, configValidators) {
for (const validate of configValidators) {
const warning = validate(config);
if (warning) {
console.warn(warning);
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2NvbmZpZy9jb25maWctdmFsaWRhdG9yL2NvbmZpZy12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FDcEQsd0JBQXdCLENBQ3pCLENBQUM7QUFTRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxlQUFnQztJQUVoQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixRQUFRLEVBQUUsZUFBZTtRQUN6QixLQUFLLEVBQUUsSUFBSTtLQUNaLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsTUFBYyxFQUNkLGdCQUFtQztJQUVuQyxLQUFLLE1BQU0sUUFBUSxJQUFJLGdCQUFnQixFQUFFO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdkI7S0FDRjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy10b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgQ29uZmlnVmFsaWRhdG9yVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdDb25maWd1cmF0aW9uVmFsaWRhdG9yJ1xuKTtcblxuLyoqXG4gKiBDb25maWdWYWxpZGF0b3IgaXMgdXNlZCB0byB2YWxpZGF0ZSBjb25maWcgYW5kIGRpc3BsYXkgd2FybmluZyBtZXNzYWdlcyBpbiBkZXZlbG9wbWVudCBtb2RlLlxuICpcbiAqIEluIGNhc2Ugb2YgZmFpbGVkIHZhbGlkYXRpb24sIHNob3VsZCByZXR1cm4gYSBzdHJpbmcgd2l0aCBlcnJvciBtZXNzYWdlLlxuICovXG5leHBvcnQgdHlwZSBDb25maWdWYWxpZGF0b3IgPSAoY29uZmlnOiBDb25maWcpID0+IHN0cmluZyB8IHZvaWQ7XG5cbi8qKlxuICogVXNlIHRvIHByb2JpZGUgY29uZmlnIHZhbGlkYXRpb24gYXQgYXBwIGJvb3RzdHJhcCAod2hlbiBhbGwgY29uZmlnIGNodW5rcyBhcmUgbWVyZ2VkKVxuICpcbiAqIEBwYXJhbSBjb25maWdWYWxpZGF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb25maWdWYWxpZGF0b3IoXG4gIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4pOiBQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogQ29uZmlnVmFsaWRhdG9yVG9rZW4sXG4gICAgdXNlVmFsdWU6IGNvbmZpZ1ZhbGlkYXRvcixcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ29uZmlnKFxuICBjb25maWc6IENvbmZpZyxcbiAgY29uZmlnVmFsaWRhdG9yczogQ29uZmlnVmFsaWRhdG9yW11cbikge1xuICBmb3IgKGNvbnN0IHZhbGlkYXRlIG9mIGNvbmZpZ1ZhbGlkYXRvcnMpIHtcbiAgICBjb25zdCB3YXJuaW5nID0gdmFsaWRhdGUoY29uZmlnKTtcbiAgICBpZiAod2FybmluZykge1xuICAgICAgY29uc29sZS53YXJuKHdhcm5pbmcpO1xuICAgIH1cbiAgfVxufVxuIl19