horas
Version:
A simple CLI app to manage local daily tasks notation files.
34 lines (33 loc) • 1 kB
JavaScript
import * as utils from './utils/index.js';
const config_file_path = `${utils.path.user_data}/config.json`;
function ConfigLib() {
utils.io.mkdir(utils.path.user_data);
const data = JSON.parse(utils.io.readFile(config_file_path, '{}'));
const defaultData = {};
function set(key, value) {
data[key] = value.replace('$', utils.path.user_home);
utils.io.writeFile(config_file_path, JSON.stringify(data));
}
function get(key) {
return data[key] ?? defaultData[key];
}
function unset(key) {
delete data[key];
utils.io.writeFile(config_file_path, JSON.stringify(data));
}
function setDefault(key, value) {
defaultData[key] = value.replace('$', utils.path.user_home);
}
function getDefault(key) {
return defaultData[key];
}
function getAll() {
return data;
}
return {
set, get, unset,
setDefault, getDefault,
getAll
};
}
export const config = ConfigLib();