uni-ticket-system/node_modules/licia/extendDeep.js
2023-12-05 10:11:10 +08:00

29 lines
749 B
JavaScript

var isPlainObj = require('./isPlainObj');
var each = require('./each');
var cloneDeep = require('./cloneDeep');
exports = function(obj) {
var i = 0;
var ret = obj;
var len = arguments.length;
while (++i < len) {
obj = arguments[i];
if (isPlainObj(ret) && isPlainObj(obj)) {
each(obj, function(val, key) {
if (
key === '__proto__' ||
key === 'constructor' ||
key === 'prototype'
) {
return;
}
ret[key] = exports(ret[key], obj[key]);
});
} else {
ret = cloneDeep(obj);
}
}
return ret;
};
module.exports = exports;