24 lines
		
	
	
		
			544 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			544 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { isDef, isObject } from '.';
 | |
| var hasOwnProperty = Object.prototype.hasOwnProperty;
 | |
| 
 | |
| function assignKey(to, from, key) {
 | |
|   var val = from[key];
 | |
| 
 | |
|   if (!isDef(val)) {
 | |
|     return;
 | |
|   }
 | |
| 
 | |
|   if (!hasOwnProperty.call(to, key) || !isObject(val)) {
 | |
|     to[key] = val;
 | |
|   } else {
 | |
|     // eslint-disable-next-line @typescript-eslint/no-use-before-define
 | |
|     to[key] = deepAssign(Object(to[key]), from[key]);
 | |
|   }
 | |
| }
 | |
| 
 | |
| export function deepAssign(to, from) {
 | |
|   Object.keys(from).forEach(function (key) {
 | |
|     assignKey(to, from, key);
 | |
|   });
 | |
|   return to;
 | |
| } | 
