| 
								
							 | 
							
								"use strict";
							 | 
						
						
						
							| 
								
							 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						
						
						
							| 
								
							 | 
							
								exports.formatInventoryConfig = void 0;
							 | 
						
						
						
							| 
								
							 | 
							
								const dataFix_1 = require("../utils/dataFix");
							 | 
						
						
						
							| 
								
							 | 
							
								const isObject_1 = require("../utils/isObject");
							 | 
						
						
						
							| 
								
							 | 
							
								const isArray_1 = require("../utils/isArray");
							 | 
						
						
						
							| 
								
							 | 
							
								const formatObjKey_1 = require("../utils/formatObjKey");
							 | 
						
						
						
							| 
								
							 | 
							
								function formatInventoryConfig(inventoryConfig, toArray = false) {
							 | 
						
						
						
							| 
								
							 | 
							
								    if (toArray && isObject_1.isObject(inventoryConfig))
							 | 
						
						
						
							| 
								
							 | 
							
								        inventoryConfig = [inventoryConfig];
							 | 
						
						
						
							| 
								
							 | 
							
								    if (isArray_1.isArray(inventoryConfig)) {
							 | 
						
						
						
							| 
								
							 | 
							
								        inventoryConfig = inventoryConfig.map(formatFn);
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								    else {
							 | 
						
						
						
							| 
								
							 | 
							
								        inventoryConfig = formatFn(inventoryConfig);
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								    return inventoryConfig;
							 | 
						
						
						
							| 
								
							 | 
							
								}
							 | 
						
						
						
							| 
								
							 | 
							
								exports.formatInventoryConfig = formatInventoryConfig;
							 | 
						
						
						
							| 
								
							 | 
							
								function formatFn(_) {
							 | 
						
						
						
							| 
								
							 | 
							
								    dataFix_1.dataFix(_, { bool: ['IsEnabled'] }, conf => {
							 | 
						
						
						
							| 
								
							 | 
							
								        var _a, _b;
							 | 
						
						
						
							| 
								
							 | 
							
								        // prefix
							 | 
						
						
						
							| 
								
							 | 
							
								        conf.prefix = conf.Filter.Prefix;
							 | 
						
						
						
							| 
								
							 | 
							
								        delete conf.Filter;
							 | 
						
						
						
							| 
								
							 | 
							
								        // OSSBucketDestination
							 | 
						
						
						
							| 
								
							 | 
							
								        conf.OSSBucketDestination = conf.Destination.OSSBucketDestination;
							 | 
						
						
						
							| 
								
							 | 
							
								        // OSSBucketDestination.rolename
							 | 
						
						
						
							| 
								
							 | 
							
								        conf.OSSBucketDestination.rolename = conf.OSSBucketDestination.RoleArn.replace(/.*\//, '');
							 | 
						
						
						
							| 
								
							 | 
							
								        delete conf.OSSBucketDestination.RoleArn;
							 | 
						
						
						
							| 
								
							 | 
							
								        // OSSBucketDestination.bucket
							 | 
						
						
						
							| 
								
							 | 
							
								        conf.OSSBucketDestination.bucket = conf.OSSBucketDestination.Bucket.replace(/.*:::/, '');
							 | 
						
						
						
							| 
								
							 | 
							
								        delete conf.OSSBucketDestination.Bucket;
							 | 
						
						
						
							| 
								
							 | 
							
								        delete conf.Destination;
							 | 
						
						
						
							| 
								
							 | 
							
								        // frequency
							 | 
						
						
						
							| 
								
							 | 
							
								        conf.frequency = conf.Schedule.Frequency;
							 | 
						
						
						
							| 
								
							 | 
							
								        delete conf.Schedule.Frequency;
							 | 
						
						
						
							| 
								
							 | 
							
								        // optionalFields
							 | 
						
						
						
							| 
								
							 | 
							
								        if (((_a = conf === null || conf === void 0 ? void 0 : conf.OptionalFields) === null || _a === void 0 ? void 0 : _a.Field) && !isArray_1.isArray((_b = conf.OptionalFields) === null || _b === void 0 ? void 0 : _b.Field))
							 | 
						
						
						
							| 
								
							 | 
							
								            conf.OptionalFields.Field = [conf.OptionalFields.Field];
							 | 
						
						
						
							| 
								
							 | 
							
								    });
							 | 
						
						
						
							| 
								
							 | 
							
								    // firstLowerCase
							 | 
						
						
						
							| 
								
							 | 
							
								    _ = formatObjKey_1.formatObjKey(_, 'firstLowerCase', { exclude: ['OSSBucketDestination', 'SSE-OSS', 'SSE-KMS'] });
							 | 
						
						
						
							| 
								
							 | 
							
								    return _;
							 | 
						
						
						
							| 
								
							 | 
							
								}
							 |