runas-core
Version:
The adhesive orchestrator
34 lines (25 loc) • 807 B
JavaScript
;
const fs = require('fs');
const path = require('path');
const _ = require('lodash');
const fsUtils = require('./fsUtils');
const runasDir = '.runas';
const runasJson = 'runas.json';
const home = process.env.HOME ? process.env.HOME : process.env.HOMEPATH;
const userConfigPath = path.join(home, runasDir, runasJson);
const read = () => fsUtils.readConfig(userConfigPath, true);
const write = (userConfig) => {
if (!fsUtils.exists(userConfigPath)) {
fsUtils.createDir(path.join(home, runasDir));
}
fs.writeFileSync(userConfigPath, JSON.stringify(userConfig, null, 2));
return userConfig;
};
const get = (key) => _.get(read(), key, null);
const set = (key, value) => write(_.set(read(), key, value));
module.exports = {
read: read,
write: write,
get: get,
set: set
};