@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
71 lines (70 loc) • 2 kB
JavaScript
import fs from "fs-extra";
import { get } from "../logger/index.js";
import { getPath } from "./utils.js";
const getLogger = () => get("cache");
export const init = async () => {
const { trace } = getLogger();
try {
trace("initializing cache");
await fs.mkdir(getPath(), { recursive: true });
}
catch (err) {
trace("error while initializing cache", err.toString());
throw err;
}
};
export const readFile = async (file) => {
const { trace, debug } = getLogger();
try {
trace("reading file %s from cache", file);
return await fs.readFile(getPath(file), "utf-8");
}
catch (err) {
debug("error while reading file %s from cache", file, err.toString());
throw err;
}
};
export const writeFile = async (file, data) => {
const { trace, debug } = getLogger();
try {
trace("writing file %s to cache", file);
await fs.writeFile(getPath(file), data, "utf-8");
}
catch (err) {
debug("error while writing file %s to cache", file, err.toString());
throw err;
}
};
export const deleteFile = async (file) => {
const { trace, debug } = getLogger();
try {
trace("deleting file %s from cache", file);
await fs.remove(getPath(file));
}
catch (err) {
debug("error while deleting file %s from cache", file, err.toString());
throw err;
}
};
export const cleanCache = async () => {
const { trace, debug } = getLogger();
try {
trace("cleaning cache");
await fs.remove(getPath());
}
catch (err) {
debug("error while cleaning cache", err.toString());
throw err;
}
};
export const getFiles = async () => {
const { trace, debug } = getLogger();
try {
trace("reading existing files");
return await fs.readdir(getPath(), "utf-8");
}
catch (err) {
debug("error while reading existing files", err.toString());
throw err;
}
};