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.
		
		
		
		
		
			
		
			
				
					58 lines
				
				1.8 KiB
			
		
		
			
		
	
	
					58 lines
				
				1.8 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", {
							 | 
						||
| 
								 | 
							
								  value: true
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								exports.prepareParams = void 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _flat = require("../flat");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _convertNestedParam = require("./convert-nested-param");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _convertParam = require("./convert-param");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const prepareParams = (params, resource) => {
							 | 
						||
| 
								 | 
							
								  const properties = resource.properties();
							 | 
						||
| 
								 | 
							
								  const preparedParams = {};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (const property of properties) {
							 | 
						||
| 
								 | 
							
								    var _resource$_decorated;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    let param = _flat.flat.get(params, property.path());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    const key = property.path();
							 | 
						||
| 
								 | 
							
								    const propertyDecorator = (_resource$_decorated = resource._decorated) === null || _resource$_decorated === void 0 ? void 0 : _resource$_decorated.properties[key].toJSON(); // eslint-disable-next-line no-continue
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if (param === undefined || param === null) continue;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if (property.type() !== 'mixed') {
							 | 
						||
| 
								 | 
							
								      if (propertyDecorator !== null && propertyDecorator !== void 0 && propertyDecorator.isArray) {
							 | 
						||
| 
								 | 
							
								        preparedParams[key] = param.map(p => (0, _convertParam.convertParam)(p, property.type()));
							 | 
						||
| 
								 | 
							
								      } else {
							 | 
						||
| 
								 | 
							
								        preparedParams[key] = (0, _convertParam.convertParam)(param, property.type());
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
								      if (param !== null && propertyDecorator !== null && propertyDecorator !== void 0 && propertyDecorator.subProperties.length) {
							 | 
						||
| 
								 | 
							
								        const {
							 | 
						||
| 
								 | 
							
								          subProperties
							 | 
						||
| 
								 | 
							
								        } = propertyDecorator;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        for (const subProperty of subProperties) {
							 | 
						||
| 
								 | 
							
								          if (propertyDecorator.isArray) {
							 | 
						||
| 
								 | 
							
								            param = param.map(p => (0, _convertNestedParam.convertNestedParam)(p, subProperty));
							 | 
						||
| 
								 | 
							
								          } else {
							 | 
						||
| 
								 | 
							
								            param = (0, _convertNestedParam.convertNestedParam)(param, subProperty);
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      preparedParams[key] = param;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return { ...params,
							 | 
						||
| 
								 | 
							
								    ...preparedParams
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.prepareParams = prepareParams;
							 |