UNPKG

@teenth/sdk-tool

Version:

sdk-tool with R2 storage support

37 lines (36 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateUniqueFileName = exports.getMimeType = void 0; function getMimeType(fileName) { const ext = fileName.split(".").pop()?.toLowerCase(); const mimeTypes = { jpg: "image/jpeg", jpeg: "image/jpeg", png: "image/png", gif: "image/gif", webp: "image/webp", svg: "image/svg+xml", pdf: "application/pdf", txt: "text/plain", json: "application/json", xml: "application/xml", html: "text/html", css: "text/css", js: "application/javascript", zip: "application/zip", rar: "application/x-rar-compressed", mp4: "video/mp4", mp3: "audio/mpeg", wav: "audio/wav", }; return mimeTypes[ext || ""] || "application/octet-stream"; } exports.getMimeType = getMimeType; function generateUniqueFileName(originalName, prefix = "") { const timestamp = Date.now(); const random = Math.random().toString(36).substring(2, 15); const ext = originalName.split(".").pop(); const baseName = originalName.split(".").slice(0, -1).join("."); return `${prefix}${prefix ? "_" : ""}${baseName}_${timestamp}_${random}.${ext}`; } exports.generateUniqueFileName = generateUniqueFileName;