summaryrefslogtreecommitdiff
path: root/data.js
diff options
context:
space:
mode:
Diffstat (limited to 'data.js')
-rw-r--r--data.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/data.js b/data.js
new file mode 100644
index 0000000..5eacfb9
--- /dev/null
+++ b/data.js
@@ -0,0 +1,71 @@
+const fs = require('fs')
+var exec = require('child_process').exec, child;
+
+// file stuff
+let contentlist = new Map()
+const dataFilePath = "data.json"
+contentlist = readDataFromFile()
+// require('./regcmd.js')
+
+//saved data is restored
+function readDataFromFile() {
+ console.log('restoreing saved data...')
+ mapData = new Map()
+ let rawData = fs.readFileSync(dataFilePath);
+ var jsonData = JSON.parse(rawData);
+ for( key in jsonData ){
+ mapData.set(key,jsonData[key])
+ }
+ return mapData
+ console.log("done")
+ }
+
+//data is saved to json
+function writeDataToFile(jsonData) {
+ let data = JSON.stringify(jsonData);
+ fs.writeFileSync(dataFilePath, data);
+ }
+
+function saveData() {
+ console.log('saving...')
+ let jsonObject = {};
+ contentlist.forEach((value, key) => {
+ jsonObject[key] = value
+ });
+ writeDataToFile(jsonObject)
+ regcmd();
+ console.log('saved')
+ }
+
+function regcmd() {
+ child = exec('node regcmd.js {{args}}',
+ function (error, stdout, stderr) {
+ console.log('stdout: ' + stdout);
+ console.log('stderr: ' + stderr);
+ if (error !== null) {
+ console.log('exec error: ' + error);
+ }
+});
+}
+
+this.add = function(key, value) {
+ contentlist.set(key, value);
+ saveData();
+}
+
+this.remove = function(key) {
+ contentlist.delete(key);
+ saveData();
+}
+
+this.get = function(key) {
+ return contentlist.get(key);
+}
+
+this.getList = function() {
+ var list = [];
+ for (entry of contentlist.keys()) {
+ list.push({name: entry, value: entry});
+ }
+ return list
+}