UNPKG

taglib-wasm

Version:

TagLib for TypeScript platforms: Deno, Node.js, Bun, Electron, browsers, and Cloudflare Workers

43 lines (42 loc) 1.07 kB
import { EnvironmentError, FileOperationError } from "../errors.js"; async function writeFileData(path, data) { try { if (typeof globalThis.Deno !== "undefined") { await globalThis.Deno.writeFile(path, data); return; } if (typeof globalThis.process !== "undefined" && globalThis.process.versions?.node) { const { writeFile } = await import("fs/promises"); await writeFile(path, data); return; } if (typeof globalThis.Bun !== "undefined") { await globalThis.Bun.write(path, data); return; } } catch (error) { throw new FileOperationError( "write", error.message, path ); } let env; if (typeof globalThis.Deno !== "undefined") { env = "Deno"; } else if (typeof globalThis.process !== "undefined") { env = "Node.js"; } else if (typeof globalThis.Bun !== "undefined") { env = "Bun"; } else { env = "Browser"; } throw new EnvironmentError( env, "does not support file path writing", "filesystem access" ); } export { writeFileData };