import * as fs from "node:fs"; import * as util from "node:util"; import Logger from "@/services/logger.js"; import { createTemp } from "./create-temp.js"; import { downloadUrl } from "./download-url.js"; const logger = new Logger("download-text-file"); export async function downloadTextFile(url: string): Promise { // Create temp file const [path, cleanup] = await createTemp(); logger.info(`Temp file is ${path}`); try { // write content at URL to temp file await downloadUrl(url, path); const text = await util.promisify(fs.readFile)(path, "utf8"); return text; } finally { cleanup(); } }