let { logger } = require('./logging'); let loadedConfigs = new Map(); function sanitizeConfig(config, fields=[]) { let clonedConfig = { ...config }; fields.forEach((field) => { clonedConfig[field] = '******' }) return clonedConfig; } function getConfig(configFile, sanitizedFields=[]) { if (!loadedConfigs.has(configFile)) { let config = require(configFile); logger.info("Loaded config: %s", configFile); logger.debug("%o", sanitizeConfig(config, sanitizedFields)); loadedConfigs.set(configFile, config); return config; } else { return loadedConfigs.get(configFile); } } exports.getConfig = getConfig