UNPKG

@spartacus/core

Version:

Spartacus - the core framework

55 lines 6.81 kB
import { inject, Injectable, InjectFlags, InjectionToken } from '@angular/core'; import { deepMerge } from './utils/deep-merge'; import * as i0 from "@angular/core"; export function configFactory() { return deepMerge({}, inject(DefaultConfig), inject(RootConfig)); } /** * Global Configuration, can be used to inject configuration to any part of the app */ export class Config { } Config.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Config, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); Config.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Config, providedIn: 'root', useFactory: configFactory }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Config, decorators: [{ type: Injectable, args: [{ providedIn: 'root', useFactory: configFactory, }] }] }); export function defaultConfigFactory() { var _a; return deepMerge({}, ...((_a = inject(DefaultConfigChunk, InjectFlags.Optional)) !== null && _a !== void 0 ? _a : [])); } /** * Default Configuration token, used to build Global Configuration, built from DefaultConfigChunks */ export const DefaultConfig = new InjectionToken('DefaultConfiguration', { providedIn: 'root', factory: defaultConfigFactory, }); export function rootConfigFactory() { var _a; return deepMerge({}, ...((_a = inject(ConfigChunk, InjectFlags.Optional)) !== null && _a !== void 0 ? _a : [])); } /** * Root Configuration token, used to build Global Configuration, built from ConfigChunks */ export const RootConfig = new InjectionToken('RootConfiguration', { providedIn: 'root', factory: rootConfigFactory, }); /** * Config chunk token, can be used to provide configuration chunk and contribute to the global configuration object. * Should not be used directly, use `provideConfig` or import `ConfigModule.withConfig` instead. */ export const ConfigChunk = new InjectionToken('ConfigurationChunk'); /** * Config chunk token, can be used to provide configuration chunk and contribute to the default configuration. * Should not be used directly, use `provideDefaultConfig` or `provideDefaultConfigFactory` instead. * * General rule is, that all config provided in libraries should be provided as default config. */ export const DefaultConfigChunk = new InjectionToken('DefaultConfigurationChunk'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2NvbmZpZy9jb25maWctdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUUvQyxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLFNBQVMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7R0FFRztBQUtILE1BQU0sT0FBZ0IsTUFBTTs7bUdBQU4sTUFBTTt1R0FBTixNQUFNLGNBSGQsTUFBTSxjQUNOLGFBQWE7MkZBRUwsTUFBTTtrQkFKM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtvQkFDbEIsVUFBVSxFQUFFLGFBQWE7aUJBQzFCOztBQUdELE1BQU0sVUFBVSxvQkFBb0I7O0lBQ2xDLE9BQU8sU0FBUyxDQUNkLEVBQUUsRUFDRixHQUFHLENBQUMsTUFBQSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FDNUQsQ0FBQztBQUNKLENBQUM7QUFDRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRTtJQUN0RSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsb0JBQW9CO0NBQzlCLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxpQkFBaUI7O0lBQy9CLE9BQU8sU0FBUyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBQSxNQUFNLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQUMsbUJBQW1CLEVBQUU7SUFDaEUsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLGlCQUFpQjtDQUMzQixDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQVcsb0JBQW9CLENBQUMsQ0FBQztBQUM5RTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNsRCwyQkFBMkIsQ0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0RmxhZ3MsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuL3V0aWxzL2RlZXAtbWVyZ2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnRmFjdG9yeSgpIHtcbiAgcmV0dXJuIGRlZXBNZXJnZSh7fSwgaW5qZWN0KERlZmF1bHRDb25maWcpLCBpbmplY3QoUm9vdENvbmZpZykpO1xufVxuXG4vKipcbiAqIEdsb2JhbCBDb25maWd1cmF0aW9uLCBjYW4gYmUgdXNlZCB0byBpbmplY3QgY29uZmlndXJhdGlvbiB0byBhbnkgcGFydCBvZiB0aGUgYXBwXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICB1c2VGYWN0b3J5OiBjb25maWdGYWN0b3J5LFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb25maWcge31cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb25maWdGYWN0b3J5KCkge1xuICByZXR1cm4gZGVlcE1lcmdlKFxuICAgIHt9LFxuICAgIC4uLihpbmplY3QoRGVmYXVsdENvbmZpZ0NodW5rLCBJbmplY3RGbGFncy5PcHRpb25hbCkgPz8gW10pXG4gICk7XG59XG4vKipcbiAqIERlZmF1bHQgQ29uZmlndXJhdGlvbiB0b2tlbiwgdXNlZCB0byBidWlsZCBHbG9iYWwgQ29uZmlndXJhdGlvbiwgYnVpbHQgZnJvbSBEZWZhdWx0Q29uZmlnQ2h1bmtzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29uZmlnID0gbmV3IEluamVjdGlvblRva2VuKCdEZWZhdWx0Q29uZmlndXJhdGlvbicsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiBkZWZhdWx0Q29uZmlnRmFjdG9yeSxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gcm9vdENvbmZpZ0ZhY3RvcnkoKSB7XG4gIHJldHVybiBkZWVwTWVyZ2Uoe30sIC4uLihpbmplY3QoQ29uZmlnQ2h1bmssIEluamVjdEZsYWdzLk9wdGlvbmFsKSA/PyBbXSkpO1xufVxuXG4vKipcbiAqIFJvb3QgQ29uZmlndXJhdGlvbiB0b2tlbiwgdXNlZCB0byBidWlsZCBHbG9iYWwgQ29uZmlndXJhdGlvbiwgYnVpbHQgZnJvbSBDb25maWdDaHVua3NcbiAqL1xuZXhwb3J0IGNvbnN0IFJvb3RDb25maWcgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1Jvb3RDb25maWd1cmF0aW9uJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6IHJvb3RDb25maWdGYWN0b3J5LFxufSk7XG5cbi8qKlxuICogQ29uZmlnIGNodW5rIHRva2VuLCBjYW4gYmUgdXNlZCB0byBwcm92aWRlIGNvbmZpZ3VyYXRpb24gY2h1bmsgYW5kIGNvbnRyaWJ1dGUgdG8gdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAqIFNob3VsZCBub3QgYmUgdXNlZCBkaXJlY3RseSwgdXNlIGBwcm92aWRlQ29uZmlnYCBvciBpbXBvcnQgYENvbmZpZ01vZHVsZS53aXRoQ29uZmlnYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgQ29uZmlnQ2h1bmsgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnW10+KCdDb25maWd1cmF0aW9uQ2h1bmsnKTtcbi8qKlxuICogQ29uZmlnIGNodW5rIHRva2VuLCBjYW4gYmUgdXNlZCB0byBwcm92aWRlIGNvbmZpZ3VyYXRpb24gY2h1bmsgYW5kIGNvbnRyaWJ1dGUgdG8gdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbi5cbiAqIFNob3VsZCBub3QgYmUgdXNlZCBkaXJlY3RseSwgdXNlIGBwcm92aWRlRGVmYXVsdENvbmZpZ2Agb3IgYHByb3ZpZGVEZWZhdWx0Q29uZmlnRmFjdG9yeWAgaW5zdGVhZC5cbiAqXG4gKiBHZW5lcmFsIHJ1bGUgaXMsIHRoYXQgYWxsIGNvbmZpZyBwcm92aWRlZCBpbiBsaWJyYXJpZXMgc2hvdWxkIGJlIHByb3ZpZGVkIGFzIGRlZmF1bHQgY29uZmlnLlxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbmZpZ0NodW5rID0gbmV3IEluamVjdGlvblRva2VuPENvbmZpZ1tdPihcbiAgJ0RlZmF1bHRDb25maWd1cmF0aW9uQ2h1bmsnXG4pO1xuIl19