feat(04-02): add downloadFile and downloadZip utility functions

- src/utils/downloadFile.ts: Blob + createObjectURL + anchor click download
- src/utils/downloadZip.ts: JSZip archive builder with same Blob download pattern
- npm install jszip ^3.10.1 (only new runtime dependency in phase 4)
This commit is contained in:
2026-03-27 11:44:41 +01:00
parent 6138d6c6a3
commit f948b86c0e
4 changed files with 134 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
// src/utils/downloadFile.ts
// Triggers a browser file download from a string.
// Pattern: MDN URL.createObjectURL — https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL_static
export function downloadFile(content: string, filename: string): void {
const blob = new Blob([content], { type: 'text/plain;charset=utf-8' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename;
a.click();
URL.revokeObjectURL(url);
}