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
text/typescript
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;
}
}