@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
35 lines (34 loc) • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.remove = exports.set = exports.get = void 0;
const cache_1 = require("../cache");
const logger_1 = require("../logger");
const SETTINGS_FILE = "settings.json";
const getLogger = () => (0, logger_1.get)("settings");
const get = async () => {
try {
return JSON.parse(await (0, cache_1.readFile)(SETTINGS_FILE));
}
catch (err) {
const { debug } = getLogger();
debug("failed to read settings file", err);
return {};
}
};
exports.get = get;
const set = async (key, value) => {
const settings = await (0, exports.get)();
settings[key] = value;
await (0, cache_1.writeFile)(SETTINGS_FILE, JSON.stringify(settings));
const { debug } = getLogger();
debug(`updated key ${key}, value ${value}`);
};
exports.set = set;
const remove = async (key) => {
const settings = await (0, exports.get)();
delete settings[key];
await (0, cache_1.writeFile)(SETTINGS_FILE, JSON.stringify(settings));
const { debug } = getLogger();
debug(`removed key ${key}`);
};
exports.remove = remove;