refactor(MIME): add getMimeTypeFromExt function

This commit is contained in:
awalol
2025-07-14 01:51:28 +08:00
parent fbe8ef8ba1
commit 13b67f40aa
2 changed files with 7 additions and 3 deletions

View File

@@ -25,7 +25,7 @@ export function isDataLooksLikeAudio(buffer: Uint8Array): boolean {
return ok;
}
export const AudioMimeType: { [key: string]: string } = {
const AudioMimeType: Record<string, string> = {
mp3: 'audio/mpeg',
flac: 'audio/flac',
m4a: 'audio/mp4',
@@ -34,3 +34,7 @@ export const AudioMimeType: { [key: string]: string } = {
wav: 'audio/x-wav',
dff: 'audio/x-dff',
};
export function getMimeTypeFromExt(ext: string) {
return AudioMimeType[ext] || 'application/octet-stream';
}

View File

@@ -6,7 +6,7 @@ import { DecipherFactory, DecipherInstance, Status } from '~/decrypt-worker/Deci
import { UnsupportedSourceFile } from '~/decrypt-worker/util/DecryptError.ts';
import { ready as umCryptoReady } from '@unlock-music/crypto';
import { go } from '~/util/go.ts';
import { AudioMimeType, detectAudioExtension } from '~/decrypt-worker/util/audioType.ts';
import { getMimeTypeFromExt, detectAudioExtension } from '~/decrypt-worker/util/audioType.ts';
class DecryptCommandHandler {
private readonly label: string;
@@ -75,7 +75,7 @@ class DecryptCommandHandler {
audioExt = 'm4a';
}
return { decrypted: URL.createObjectURL(toBlob(result.data, AudioMimeType[audioExt])), ext: audioExt };
return { decrypted: URL.createObjectURL(toBlob(result.data, getMimeTypeFromExt(audioExt))), ext: audioExt };
}
}