Read/Write/Upgrade config.json with settings module

This commit is contained in:
Yuya Ochiai
2015-12-13 22:57:31 +09:00
parent 8cdb34f340
commit dc9794b1f5
5 changed files with 90 additions and 10 deletions

39
src/common/settings.js Normal file
View 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');
}
};