UNPKG

approvals

Version:

Approval Tests Library - Capturing Human Intelligence

33 lines (27 loc) 859 B
import * as fs from "fs"; import * as path from "path"; import mkdirp from "mkdirp"; import fileType from "file-type"; // Assuming fileType provides synchronous methods import { Config } from "../config"; import { Writer } from "../Core/Writer"; export class BinaryWriter implements Writer { private outputData: Buffer; private _ext?: string; constructor(outputData: Buffer) { this.outputData = outputData; } getFileExtension(): string { if (!this._ext) { const fileTypeDiscovered = fileType(this.outputData); this._ext = fileTypeDiscovered?.ext || "blob"; // Assuming synchronous call } return this._ext; } write(filePath: string): void { const dir = path.dirname(path.normalize(filePath)); if (!fs.existsSync(dir)) { mkdirp.sync(dir); } fs.writeFileSync(filePath, this.outputData); } }