12345678910111213141516171819202122232425262728 |
- 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;
|