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