UNPKG

brek

Version:
33 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeConfs = void 0; const isLoader_1 = require("./isLoader"); function mergeConfs(p) { // put into order of importance, least to most const configs = [ p.Default, p.environment || {}, p.deployment || {}, p.user || {}, p.overrides || {}, ]; return configs.reduce((mergedConfig, config) => mergeConfigs(mergedConfig, config), {}); } exports.mergeConfs = mergeConfs; function mergeConfigs(obj1, obj2) { const merged = Object.assign(Object.assign({}, obj1), obj2); Object.keys(merged).forEach((key) => { const obj1Value = obj1[key]; const obj2Value = obj2[key]; if (typeof obj1Value === 'object' && typeof obj2Value === 'object' && !(0, isLoader_1.isLoader)(obj1Value) && !(0, isLoader_1.isLoader)(obj2Value) && !Array.isArray(obj1Value) && !Array.isArray(obj2Value)) { merged[key] = mergeConfigs(obj1Value, obj2Value); } }); return merged; } //# sourceMappingURL=mergeConfs.js.map