INNER CODE UNIT · JavaScript
mergeSingle
astefanutti/kubebox · lib/client.js:382
function mergeSingle(target, source) {
return Object.keys(source).reduce((target, key) => {
const prop = source[key];
if (typeof prop === 'object' && Object.prototype.toString.call(prop) === '[object Object]') {
// Only deep copy Object
if (!target[key]) target[key] = {};
mergeSingle(target[key], prop);
} else if (key === 'path') {
target.path = URI.joinPaths(target.path || '', source.path || '')
.setQuery(URI.parseQuery(URI.parse(target.path || '').query || ''))
.setQuery(URI.parseQuery(URI.parse(source.path || '').query || ''))
.resource();
} else {
target[key] = prop;
}
return target;
}, target);
}