config util
This commit is contained in:
parent
99d0d927e0
commit
bd7f3ddefd
51
config.js
Normal file
51
config.js
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
const path = require('path');
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const configFolder = path.join(process.env['LOCALAPPDATA'], 'EZPPLauncher');
|
||||||
|
if (!fs.existsSync(configFolder)) fs.mkdirSync(configFolder);
|
||||||
|
|
||||||
|
const configLocation = path.join(configFolder, `ezpplauncher.${path.basename(process.env['HOME'])}.cfg`);
|
||||||
|
if (!fs.existsSync(configLocation)) fs.writeFileSync(configLocation, "");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
async function get(key, defaultValue) {
|
||||||
|
const fileStream = await fs.promises.readFile(configLocation, "utf-8");
|
||||||
|
const lines = fileStream.split(/\r?\n/)
|
||||||
|
for (const line of lines) {
|
||||||
|
if (line.includes('=')) {
|
||||||
|
const argsPair = line.split('=', 2);
|
||||||
|
const keyname = argsPair[0]
|
||||||
|
const value = argsPair[1];
|
||||||
|
if (keyname == key) {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function set(key, value) {
|
||||||
|
console.log("setting " + key + " to " + value);
|
||||||
|
const configValues = new Map();
|
||||||
|
const fileStream = await fs.promises.readFile(configLocation, "utf-8");
|
||||||
|
const lines = fileStream.split(/\r?\n/)
|
||||||
|
for (const line of lines) {
|
||||||
|
if (line.includes('=')) {
|
||||||
|
const argsPair = line.split('=', 2);
|
||||||
|
const keyname = argsPair[0]
|
||||||
|
const value = argsPair[1];
|
||||||
|
configValues.set(keyname, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
configValues.set(key, value);
|
||||||
|
|
||||||
|
const arr = [];
|
||||||
|
for (var [storkey, storvalue] of configValues.entries())
|
||||||
|
arr.push(`${storkey}=${storvalue}`);
|
||||||
|
|
||||||
|
await fs.promises.writeFile(configLocation, arr.join('\n'));
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { get, set }
|
Loading…
Reference in New Issue
Block a user