@gent-js/gent
Version:
template-based data generator.
33 lines (32 loc) • 1.05 kB
JavaScript
import * as fsPromises from "node:fs/promises";
import * as nodePath from "node:path";
class DebugFileWriterImpl {
baseDirectoryPath;
setBaseDirectory(directoryPath) {
this.baseDirectoryPath = directoryPath;
}
writeFile(fileName, content) {
const baseDirectoryPath = this.baseDirectoryPath;
if (baseDirectoryPath === undefined) {
return;
}
const outFilePath = nodePath.resolve(baseDirectoryPath, fileName);
this.__writeFile(outFilePath, content).catch((error) => console.error(error));
}
async __writeFile(filePath, content) {
let outFile;
try {
outFile = await fsPromises.open(filePath, "w");
await outFile.writeFile(content);
}
catch (error) {
throw new Error("Error occurred during writing output.");
}
finally {
if (outFile !== undefined) {
await outFile.close();
}
}
}
}
export const debugFileWriter = new DebugFileWriterImpl();