ConfigLoader

ConfigLoader

new ConfigLoader()

The config loader

Source:
Example
let fileSource = new JsonConfigProvider('path/to/config.json');
  let config = new ConfigLoader(fileSource);
  await config.load_()...;

  let dbSource = new DbConfigProvider(config.data.dbConnection);
  config.provider = dbSource;
  await config.reload_()...;

  // same as: let envAwareLoader = new ConfigLoader(
  //    new (EnvAwareConfigProviderF('.json', JsonConfigProvider, 'default'))('config/dir', 'app', 'production')
  // );
  let envAwareLoader = ConfigLoader.createEnvAwareJsonLoader('config/dir', 'app', 'production');

  // Loader will load config/dir/app.default.json first,
  // and then load config/dir/app.production.json,
  // and finally override the default.
  let cfg = await envAwareLoader.load_();

Extends

  • EventEmitter

Members

autoPostProcess :boolean

Whether to do string post process automatically after loading

Source:
Type:
  • boolean

data :object

The config data

Source:
Type:
  • object

logger :Logger

Logger with log(level, message, meta) function.

Source:
Type:
  • Logger

provider :object

The config data source provider

Source:
Type:
  • object

Methods

(async) load_(variables) → {Promise.<object>}

Start loading the config files and override existing

Source:
Parameters:
Name Type Description
variables object

variables

Returns:
Type:
Promise.<object>

postProcess(variables)

PostProcess the loaded config

Source:
Parameters:
Name Type Description
variables object

variables

(async) reload_() → {Promise.<object>}

Reload config

Source:
Returns:
Type:
Promise.<object>

(static) createEnvAwareJsonLoader(configDir, baseName, envFlag, logger, overrider, postProcessors)

Create an environment aware JSON config loader

Source:
Parameters:
Name Type Description
configDir string
baseName string
envFlag string
logger Logger
overrider function
postProcessors object

(static) createEnvAwareYamlLoader(configDir, baseName, envFlag, logger, overrider, postProcessors)

Create an environment aware YAML config loader

Source:
Parameters:
Name Type Description
configDir string
baseName string
envFlag string
logger Logger
overrider function
postProcessors object