blob: e4b4e0ff68f8cf88d3677e1eac826d37d9d69078 [file] [log] [blame]
// forked from
// https://github.com/vmattos/js-extend/blob/7023fd69a9e9552688086b8b8006b1fcf916a306/extend.js
// TODO: I don't know why we have two different extend() functions in PouchDB
var slice = Array.prototype.slice;
var each = Array.prototype.forEach;
function extend(obj) {
if (typeof obj !== 'object') {
throw obj + ' is not an object' ;
}
var sources = slice.call(arguments, 1);
each.call(sources, function (source) {
if (source) {
for (var prop in source) {
if (typeof source[prop] === 'object' && obj[prop]) {
extend.call(obj, obj[prop], source[prop]);
} else {
obj[prop] = source[prop];
}
}
}
});
return obj;
}
export default extend;