2025-10-13 11:27:02 +02:00

35 lines
810 B
JavaScript

export function downloadFile(name, content, extension, mime) {
const filename = prompt("Filename?", name);
if (!filename) {
return;
}
const blob = new Blob([content], { type: mime });
const url = URL.createObjectURL(blob);
const element = document.createElement("a");
element.href = url;
element.download = filename.endsWith(extension) ? filename : filename + extension;
element.style.display = "none";
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
export function slugify(text) {
return text
.split(/\W+/)
.map((word) => word.toLowerCase())
.join("-");
}
export function minifyJs(code) {
return code
.replace(/[\s\n]+/g, " ")
.replace(/;\s+/g, ";");
}