mirror of
https://github.com/node-ebics/node-ebics-client.git
synced 2025-09-18 14:45:07 +00:00
feat: generalize examples
This commit is contained in:
35
examples/loadConfig.js
Normal file
35
examples/loadConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const safeLoadJson = (file) => {
|
||||
if (!file)
|
||||
return {};
|
||||
|
||||
try {
|
||||
return JSON.parse(fs.readFileSync(file));
|
||||
} catch (e) {
|
||||
console.warn(`Couldn't load ${file} config file.`);
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
const getDefaultEnv = () => {
|
||||
const [,,parArg] = process.argv;
|
||||
return parArg || process.env.NODE_ENV;
|
||||
}
|
||||
|
||||
const loadConfig = (configDirectory = path.join(__dirname, './config'), env = getDefaultEnv()) => {
|
||||
console.log(`Loading config form ${configDirectory} with env set to ${env}.`);
|
||||
|
||||
const baseConfigFile = path.join(configDirectory, 'config.json');
|
||||
const envConfigFile = env ? path.join(configDirectory, `config.${env}.json`) : null;
|
||||
|
||||
return {
|
||||
...safeLoadJson(baseConfigFile),
|
||||
...safeLoadJson(envConfigFile),
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = loadConfig();
|
Reference in New Issue
Block a user