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.
		
		
		
		
		
			
		
			
				
					
					
						
							38 lines
						
					
					
						
							990 B
						
					
					
				
			
		
		
	
	
							38 lines
						
					
					
						
							990 B
						
					
					
				| "use strict";
 | |
| 
 | |
| Object.defineProperty(exports, "__esModule", {
 | |
|   value: true
 | |
| });
 | |
| exports.convertNestedParam = void 0;
 | |
| 
 | |
| var _constants = require("./constants");
 | |
| 
 | |
| var _convertParam = require("./convert-param");
 | |
| 
 | |
| const convertNestedParam = (parentValue, subProperty) => {
 | |
|   const path = subProperty.propertyPath.split(_constants.DELIMITER).slice(-1)[0];
 | |
|   const {
 | |
|     type = 'string'
 | |
|   } = subProperty;
 | |
|   let value = parentValue[path];
 | |
| 
 | |
|   if (type === 'mixed' && value) {
 | |
|     const nestedSubProperties = subProperty.subProperties;
 | |
| 
 | |
|     for (const nestedSubProperty of nestedSubProperties) {
 | |
|       if (subProperty.isArray) {
 | |
|         value = [...value].map(element => convertNestedParam(element, nestedSubProperty));
 | |
|       } else {
 | |
|         value = convertNestedParam(value, nestedSubProperty);
 | |
|       }
 | |
|     }
 | |
|   } else {
 | |
|     value = (0, _convertParam.convertParam)(value, subProperty.type);
 | |
|   }
 | |
| 
 | |
|   return { ...parentValue,
 | |
|     [path]: value
 | |
|   };
 | |
| };
 | |
| 
 | |
| exports.convertNestedParam = convertNestedParam; |