Files
kbcrm/Client/inireader.mjs
T

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)