|
|
|
@ -10,6 +10,7 @@ function setLogger(input_logger) { logger = input_logger; }
|
|
|
|
|
|
|
|
|
|
function initialize(input_logger) {
|
|
|
|
|
setLogger(input_logger);
|
|
|
|
|
ensureConfigFileExists();
|
|
|
|
|
ensureConfigItemsExist();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -21,6 +22,13 @@ function ensureConfigItemsExist() {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ensureConfigFileExists() {
|
|
|
|
|
if (!fs.existsSync(configPath)) {
|
|
|
|
|
logger.info('Cannot find config file. Creating one with default values...');
|
|
|
|
|
fs.writeFileSync(configPath, JSON.stringify(DEFAULT_CONFIG, null, 2));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// https://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key
|
|
|
|
|
Object.byString = function(o, s) {
|
|
|
|
|
s = s.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
|
|
|
|
@ -62,8 +70,8 @@ function configExistsCheck() {
|
|
|
|
|
* Gets config file and returns as a json
|
|
|
|
|
*/
|
|
|
|
|
function getConfigFile() {
|
|
|
|
|
let raw_data = fs.readFileSync(configPath);
|
|
|
|
|
try {
|
|
|
|
|
let raw_data = fs.readFileSync(configPath);
|
|
|
|
|
let parsed_data = JSON.parse(raw_data);
|
|
|
|
|
return parsed_data;
|
|
|
|
|
} catch(e) {
|
|
|
|
|