Read/Write/Upgrade config.json with settings module
This commit is contained in:
39
src/common/settings.js
Normal file
39
src/common/settings.js
Normal file
@@ -0,0 +1,39 @@
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs');
|
||||
const version = 1;
|
||||
|
||||
var upgradeV0toV1 = function(config_v0) {
|
||||
return {
|
||||
url: [config_v0.url],
|
||||
version: 1
|
||||
};
|
||||
};
|
||||
|
||||
var upgrade = function(config) {
|
||||
var config_version = config.version ? config.version : 0;
|
||||
switch (config_version) {
|
||||
case 0:
|
||||
return upgrade(upgradeV0toV1(config));
|
||||
default:
|
||||
return config;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
version: version,
|
||||
|
||||
upgrade: upgrade,
|
||||
|
||||
readFileSync: function(configFile) {
|
||||
return JSON.parse(fs.readFileSync(configFile, 'utf8'));
|
||||
},
|
||||
|
||||
writeFileSync: function(configFile, config) {
|
||||
if (config.version != version) {
|
||||
throw 'version ' + config.version + ' is not equal to ' + version;
|
||||
}
|
||||
var data = JSON.stringify(config, null, ' ');
|
||||
fs.writeFileSync(configFile, data, 'utf8');
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user