import { promisify } from 'util' import * as fs from 'fs'; export async function updateConfig(newConfig, key: string) { var config = await getConfig(); var keys = key.split('.'); keys.reduce(function (config, key, i) { if (keys.length == i + 1) { config[key] = newConfig; console.log(config); } else if (typeof (config[key]) == 'undefined') config[key] = {}; return config[key]; }, config); writeConfig(config); } export function writeConfig(config) { return promisify(fs.writeFile)('./config.json', JSON.stringify(config, null, 4), 'utf8').catch(function (err) { if (err) console.error(err); }); } export function getConfig() { return promisify(fs.readFile)('./config.json', 'utf8').then(function (content) { return JSON.parse(content); }, function (err) { writeConfig({}).then(function (config) { return {}; }) }); }