UNPKG

curli-config

Version:

A small library to load/validate configuration files placed in different sides of the application using environments

29 lines (21 loc) 880 B
import {Settings} from '../Settings'; import {LoaderConfigsFileFactory} from './LoaderConfigsFileFactory'; import {LoaderConfigsFilesGroup} from './LoaderConfigsFilesGroup'; import {mergeValues} from './MergerFileHelper'; export class LoadConfigsFiles { private factory: LoaderConfigsFileFactory; public constructor (private settings: Settings) { this.factory = new LoaderConfigsFileFactory(this.settings); } public getConfiguration (): object { let config = {}; const arrayLoaderConfigsGroups: Array<LoaderConfigsFilesGroup> = this.factory.factory(); arrayLoaderConfigsGroups.forEach(( loaderConfigsFilesGroup: LoaderConfigsFilesGroup ) => { config = mergeValues(config, loaderConfigsFilesGroup.getConfig()); }); return config; } }