19 lines
		
	
	
		
			760 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			760 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { IniSectionType } from "@smithy/types";
 | 
						|
import { CONFIG_PREFIX_SEPARATOR } from "./loadSharedConfigFiles";
 | 
						|
export const getConfigData = (data) => Object.entries(data)
 | 
						|
    .filter(([key]) => {
 | 
						|
    const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);
 | 
						|
    if (indexOfSeparator === -1) {
 | 
						|
        return false;
 | 
						|
    }
 | 
						|
    return Object.values(IniSectionType).includes(key.substring(0, indexOfSeparator));
 | 
						|
})
 | 
						|
    .reduce((acc, [key, value]) => {
 | 
						|
    const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);
 | 
						|
    const updatedKey = key.substring(0, indexOfSeparator) === IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;
 | 
						|
    acc[updatedKey] = value;
 | 
						|
    return acc;
 | 
						|
}, {
 | 
						|
    ...(data.default && { default: data.default }),
 | 
						|
});
 |