minor refactoring and more config util assertions

This commit is contained in:
William Welling
2021-12-07 21:33:43 -06:00
parent 18dd2ad884
commit bc999d0b5f
3 changed files with 80 additions and 17 deletions

View File

@@ -7,21 +7,38 @@ import { hasNoValue } from '../app/shared/empty.util';
import { AppConfig } from './app-config.interface';
import { ThemeConfig } from './theme.model';
/**
* Extend Angular environment with app config.
*
* @param env environment object
* @param appConfig app config
*/
const extendEnvironmentWithAppConfig = (env: any, appConfig: AppConfig): void => {
mergeConfig(env, appConfig);
console.log(`Environment extended with app config`);
};
const mergeConfig = (config: any, appConfig: AppConfig): void => {
/**
* Merge one config into another.
*
* @param destinationConfig destination config
* @param sourceConfig source config
*/
const mergeConfig = (destinationConfig: any, sourceConfig: AppConfig): void => {
const mergeOptions = {
arrayMerge: (destinationArray, sourceArray, options) => sourceArray
};
Object.assign(config, merge.all([
config,
appConfig
Object.assign(destinationConfig, merge.all([
destinationConfig,
sourceConfig
], mergeOptions));
};
/**
* Get default them config from environment.
*
* @returns default theme config
*/
const getDefaultThemeConfig = (): ThemeConfig => {
return environment.themes.find((themeConfig: any) =>
hasNoValue(themeConfig.regex) &&