43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
|
|
import { readFileSync } from 'fs';
|
|
|
|
var result = ""
|
|
|
|
// https://stackoverflow.com/questions/55409195/reading-ini-file-using-javascript
|
|
function parseINIString(data){
|
|
var regex = {
|
|
section: /^\s*\[\s*([^\]]*)\s*\]\s*$/,
|
|
param: /^\s*([^=]+?)\s*=\s*(.*?)\s*$/,
|
|
comment: /^\s*;.*$/
|
|
};
|
|
var value = {};
|
|
var lines = data.split(/[\r\n]+/);
|
|
var section = null;
|
|
lines.forEach(function(line){
|
|
if(regex.comment.test(line)){
|
|
return;
|
|
}else if(regex.param.test(line)){
|
|
var match = line.match(regex.param);
|
|
if(section){
|
|
value[section][match[1]] = match[2];
|
|
}else{
|
|
value[match[1]] = match[2];
|
|
}
|
|
}else if(regex.section.test(line)){
|
|
var match = line.match(regex.section);
|
|
value[match[1]] = {};
|
|
section = match[1];
|
|
}else if(line.length == 0 && section){
|
|
section = null;
|
|
};
|
|
});
|
|
return value;
|
|
}
|
|
|
|
export function getIniValue(value){
|
|
return result["APP"][value]
|
|
}
|
|
|
|
var inifile = readFileSync("../App_Server/root/config.ini").toString()
|
|
result = parseINIString(inifile)
|