in packages/rum-core/src/common/utils.js [243:262]
function baseExtend(dst, objs, deep) {
for (var i = 0, ii = objs.length; i < ii; ++i) {
var obj = objs[i]
if (!isObject(obj) && !isFunction(obj)) continue
var keys = Object.keys(obj)
for (var j = 0, jj = keys.length; j < jj; j++) {
var key = keys[j]
var src = obj[key]
if (deep && isObject(src)) {
if (!isObject(dst[key])) dst[key] = Array.isArray(src) ? [] : {}
baseExtend(dst[key], [src], false) // only one level of deep merge
} else {
dst[key] = src
}
}
}
return dst
}