UNPKG

@gent-js/gent

Version:

template-based data generator.

33 lines (32 loc) 1.05 kB
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();