Baphomet is the dedicated bot for nulloctet matrix
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.

24 lines
688 B

  1. let { logger } = require('./logging');
  2. let loadedConfigs = new Map();
  3. function sanitizeConfig(config, fields=[]) {
  4. let clonedConfig = { ...config };
  5. fields.forEach((field) => {
  6. clonedConfig[field] = '******'
  7. })
  8. return clonedConfig;
  9. }
  10. function getConfig(configFile, sanitizedFields=[]) {
  11. if (!loadedConfigs.has(configFile)) {
  12. let config = require(configFile);
  13. logger.info("Loaded config: %s", configFile);
  14. logger.debug("%o", sanitizeConfig(config, sanitizedFields));
  15. loadedConfigs.set(configFile, config);
  16. return config;
  17. } else {
  18. return loadedConfigs.get(configFile);
  19. }
  20. }
  21. exports.getConfig = getConfig