notion-enhancer/Notion Customization/resources/store.js
2020-02-23 16:50:58 +02:00

30 lines
660 B
JavaScript

const electron = require('electron');
const path = require('path');
const fs = require('fs');
class Store {
constructor(opts) {
const userDataPath = __dirname
this.path = path.join(userDataPath, opts.configName + '.json');
this.data = parseDataFile(this.path, opts.defaults);
}
get(key) {
return this.data[key];
}
set(key, val) {
this.data[key] = val;
fs.writeFileSync(this.path, JSON.stringify(this.data));
}
}
function parseDataFile(filePath, defaults) {
try {
return JSON.parse(fs.readFileSync(filePath));
} catch(error) {
return defaults;
}
}
module.exports = Store;