mirror of
https://github.com/keeweb/keeweb.git
synced 2024-06-25 07:37:46 +02:00
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var Launcher = require('./launcher'),
|
||
|
StringUtil = require('../util/string-util');
|
||
|
|
||
|
var SettingsStore = {
|
||
|
fileName: function(key) {
|
||
|
return key + '.json';
|
||
|
},
|
||
|
|
||
|
load: function(key) {
|
||
|
try {
|
||
|
if (Launcher) {
|
||
|
var settingsFile = Launcher.getUserDataPath(this.fileName(key));
|
||
|
if (Launcher.fileExists(settingsFile)) {
|
||
|
return JSON.parse(Launcher.readFile(settingsFile, 'utf8'));
|
||
|
}
|
||
|
} else {
|
||
|
var data = localStorage[StringUtil.camelCase(key)];
|
||
|
return JSON.parse(data);
|
||
|
}
|
||
|
} catch (e) {
|
||
|
console.error('Error loading ' + key, e);
|
||
|
}
|
||
|
return null;
|
||
|
},
|
||
|
|
||
|
save: function(key, data) {
|
||
|
try {
|
||
|
if (Launcher) {
|
||
|
Launcher.writeFile(Launcher.getUserDataPath(this.fileName(key)), JSON.stringify(data));
|
||
|
} else if (typeof localStorage !== 'undefined') {
|
||
|
localStorage[StringUtil.camelCase(key)] = JSON.stringify(data);
|
||
|
}
|
||
|
} catch (e) {
|
||
|
console.error('Error saving ' + key, e);
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
module.exports = SettingsStore;
|