@spartacus/core
Version:
Spartacus - the core framework
58 lines • 6.07 kB
JavaScript
import { ConfigChunk, DefaultConfigChunk } from './config-tokens';
/**
* Helper function to provide configuration chunk using ConfigChunk token
*
* To provide default configuration in libraries provideDefaultConfig should be used instead.
*
* @param config Config object to merge with the global configuration
*/
export function provideConfig(config = {}, defaultConfig = false) {
return {
provide: defaultConfig ? DefaultConfigChunk : ConfigChunk,
useValue: config,
multi: true,
};
}
/**
* Helper function to provide configuration with factory function, using ConfigChunk token
*
* To provide default configuration in libraries provideDefaultConfigFactory should be used instead.
*
* @param configFactory Factory Function that will generate config object
* @param deps Optional dependencies to a factory function
*/
export function provideConfigFactory(configFactory, deps, defaultConfig = false) {
return {
provide: defaultConfig ? DefaultConfigChunk : ConfigChunk,
useFactory: configFactory,
multi: true,
deps: deps,
};
}
/**
* Helper function to provide default configuration chunk using DefaultConfigChunk token
*
* @param config Config object to merge with the default configuration
*/
export function provideDefaultConfig(config = {}) {
return {
provide: DefaultConfigChunk,
useValue: config,
multi: true,
};
}
/**
* Helper function to provide default configuration with factory function, using DefaultConfigChunk token
*
* @param configFactory Factory Function that will generate config object
* @param deps Optional dependencies to a factory function
*/
export function provideDefaultConfigFactory(configFactory, deps) {
return {
provide: DefaultConfigChunk,
useFactory: configFactory,
multi: true,
deps: deps,
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2NvbmZpZy9jb25maWctcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUMzQixTQUFpQixFQUFFLEVBQ25CLGFBQWEsR0FBRyxLQUFLO0lBRXJCLE9BQU87UUFDTCxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsV0FBVztRQUN6RCxRQUFRLEVBQUUsTUFBTTtRQUNoQixLQUFLLEVBQUUsSUFBSTtLQUNaLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsYUFBdUIsRUFDdkIsSUFBWSxFQUNaLGFBQWEsR0FBRyxLQUFLO0lBRXJCLE9BQU87UUFDTCxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsV0FBVztRQUN6RCxVQUFVLEVBQUUsYUFBYTtRQUN6QixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFNBQWlCLEVBQUU7SUFDdEQsT0FBTztRQUNMLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsUUFBUSxFQUFFLE1BQU07UUFDaEIsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxhQUF1QixFQUN2QixJQUFZO0lBRVosT0FBTztRQUNMLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsVUFBVSxFQUFFLGFBQWE7UUFDekIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeVByb3ZpZGVyLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWcsIENvbmZpZ0NodW5rLCBEZWZhdWx0Q29uZmlnQ2h1bmsgfSBmcm9tICcuL2NvbmZpZy10b2tlbnMnO1xuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBwcm92aWRlIGNvbmZpZ3VyYXRpb24gY2h1bmsgdXNpbmcgQ29uZmlnQ2h1bmsgdG9rZW5cbiAqXG4gKiBUbyBwcm92aWRlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBpbiBsaWJyYXJpZXMgcHJvdmlkZURlZmF1bHRDb25maWcgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIENvbmZpZyBvYmplY3QgdG8gbWVyZ2Ugd2l0aCB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb25maWcoXG4gIGNvbmZpZzogQ29uZmlnID0ge30sXG4gIGRlZmF1bHRDb25maWcgPSBmYWxzZVxuKTogVmFsdWVQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogZGVmYXVsdENvbmZpZyA/IERlZmF1bHRDb25maWdDaHVuayA6IENvbmZpZ0NodW5rLFxuICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgbXVsdGk6IHRydWUsXG4gIH07XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIHByb3ZpZGUgY29uZmlndXJhdGlvbiB3aXRoIGZhY3RvcnkgZnVuY3Rpb24sIHVzaW5nIENvbmZpZ0NodW5rIHRva2VuXG4gKlxuICogVG8gcHJvdmlkZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaW4gbGlicmFyaWVzIHByb3ZpZGVEZWZhdWx0Q29uZmlnRmFjdG9yeSBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLlxuICpcbiAqIEBwYXJhbSBjb25maWdGYWN0b3J5IEZhY3RvcnkgRnVuY3Rpb24gdGhhdCB3aWxsIGdlbmVyYXRlIGNvbmZpZyBvYmplY3RcbiAqIEBwYXJhbSBkZXBzIE9wdGlvbmFsIGRlcGVuZGVuY2llcyB0byBhIGZhY3RvcnkgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb25maWdGYWN0b3J5KFxuICBjb25maWdGYWN0b3J5OiBGdW5jdGlvbixcbiAgZGVwcz86IGFueVtdLFxuICBkZWZhdWx0Q29uZmlnID0gZmFsc2Vcbik6IEZhY3RvcnlQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogZGVmYXVsdENvbmZpZyA/IERlZmF1bHRDb25maWdDaHVuayA6IENvbmZpZ0NodW5rLFxuICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ0ZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogZGVwcyxcbiAgfTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gcHJvdmlkZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gY2h1bmsgdXNpbmcgRGVmYXVsdENvbmZpZ0NodW5rIHRva2VuXG4gKlxuICogQHBhcmFtIGNvbmZpZyBDb25maWcgb2JqZWN0IHRvIG1lcmdlIHdpdGggdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURlZmF1bHRDb25maWcoY29uZmlnOiBDb25maWcgPSB7fSk6IFZhbHVlUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IERlZmF1bHRDb25maWdDaHVuayxcbiAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgIG11bHRpOiB0cnVlLFxuICB9O1xufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBwcm92aWRlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aXRoIGZhY3RvcnkgZnVuY3Rpb24sIHVzaW5nIERlZmF1bHRDb25maWdDaHVuayB0b2tlblxuICpcbiAqIEBwYXJhbSBjb25maWdGYWN0b3J5IEZhY3RvcnkgRnVuY3Rpb24gdGhhdCB3aWxsIGdlbmVyYXRlIGNvbmZpZyBvYmplY3RcbiAqIEBwYXJhbSBkZXBzIE9wdGlvbmFsIGRlcGVuZGVuY2llcyB0byBhIGZhY3RvcnkgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEZWZhdWx0Q29uZmlnRmFjdG9yeShcbiAgY29uZmlnRmFjdG9yeTogRnVuY3Rpb24sXG4gIGRlcHM/OiBhbnlbXVxuKTogRmFjdG9yeVByb3ZpZGVyIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBEZWZhdWx0Q29uZmlnQ2h1bmssXG4gICAgdXNlRmFjdG9yeTogY29uZmlnRmFjdG9yeSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICBkZXBzOiBkZXBzLFxuICB9O1xufVxuIl19