"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareFile = void 0; const fs_1 = require("fs"); const os_1 = require("os"); const path_1 = __importDefault(require("path")); const util_1 = require("util"); const fsMakeTempDir = (0, util_1.promisify)(fs_1.mkdtemp); const fsRemove = (0, util_1.promisify)(fs_1.rm); const fsWriteFile = (0, util_1.promisify)(fs_1.writeFile); /** * Prepare tmp file for the test */ async function prepareFile(fileName, content) { const tempDir = await fsMakeTempDir(path_1.default.join((0, os_1.tmpdir)(), 'opencommit-test-')); const filePath = path_1.default.resolve(tempDir, fileName); await fsWriteFile(filePath, content); const cleanup = async () => { if ((0, fs_1.existsSync)(tempDir)) { await fsRemove(tempDir, { recursive: true }); } }; return { filePath, cleanup }; } exports.prepareFile = prepareFile;