UNPKG

e2ed

Version:

E2E testing framework over Playwright

31 lines (30 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeFile = void 0; const node_fs_1 = require("node:fs"); const node_path_1 = require("node:path"); const node_stream_1 = require("node:stream"); const createDirectory_1 = require("./createDirectory"); /** * Analogue of `fs.writeFile`, working on streams (to support large files). */ const writeFile = async (path, data) => { let buffer; if (data instanceof Buffer) { buffer = data; } else { buffer = Buffer.from(data); } const directoryPath = (0, node_path_1.dirname)(path); await (0, createDirectory_1.createDirectory)(directoryPath); const sourceStream = node_stream_1.Readable.from(buffer); const targetStream = (0, node_fs_1.createWriteStream)(path); sourceStream.pipe(targetStream); await new Promise((resolve, reject) => { sourceStream.on('error', reject); targetStream.on('error', reject); targetStream.on('close', resolve); }); }; exports.writeFile = writeFile;