You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							22 lines
						
					
					
						
							441 B
						
					
					
				
			
		
		
	
	
							22 lines
						
					
					
						
							441 B
						
					
					
				| define(['./isNumber', './isArray', './isObject'], function (isNumber, isArray, isObject) {
 | |
| 
 | |
|   function set (obj, path, value) {
 | |
|     var key = String(path[0]);
 | |
| 
 | |
|     if (path.length === 1) {
 | |
|       obj[key] = value;
 | |
|       return;
 | |
|     }
 | |
| 
 | |
|     if (!isArray(obj[key]) || !isObject(obj[key])) {
 | |
|       var nextKey = path[1];
 | |
|       obj[key] = isNumber(nextKey) ? [] : {};
 | |
|     }
 | |
| 
 | |
|     return set(obj[key], path.slice(1), value);
 | |
|   }
 | |
| 
 | |
|   return set;
 | |
| 
 | |
| });
 |