| const AUDIO_MIME = { | |
| mp3: "audio/mpeg", | |
| wav: "audio/wav", | |
| flac: "audio/flac", | |
| opus: "audio/opus", | |
| pcm16: "audio/L16" | |
| }; | |
| const IMAGE_MIME = { | |
| jpg: "image/jpeg", | |
| jpeg: "image/jpeg", | |
| png: "image/png", | |
| webp: "image/webp", | |
| gif: "image/gif" | |
| }; | |
| export function audioMimeType(format) { | |
| return AUDIO_MIME[format] ?? "application/octet-stream"; | |
| } | |
| export function imageMimeType(format) { | |
| return IMAGE_MIME[format] ?? "image/png"; | |
| } | |
| export function extensionFromMimeType(mimeType) { | |
| const mimeMap = { | |
| "audio/mpeg": "mp3", | |
| "audio/wav": "wav", | |
| "audio/flac": "flac", | |
| "audio/opus": "opus", | |
| "audio/L16": "pcm16", | |
| "image/jpeg": "jpg", | |
| "image/png": "png", | |
| "image/webp": "webp", | |
| "image/gif": "gif" | |
| }; | |
| return mimeMap[mimeType] ?? "bin"; | |
| } | |