MIME of various types of files

Code Snippets 4 U
{
   "text/html": "HTML|HTM",
   "text/css": "CSS",
   "text/javascript": "JS|JSON",
   "text/mspg-legacyinfo": "MSI|MSP",
   "text/plain": "TXT|VTT|SRT|M3U|PLS|M3U8|MPD|F4M|TORRENT|BTT",
   "text/srt": "SRT",
   "text/vtt": "VTT|SRT",
   "text/xml": "XML|MPD|F4M|TTML|TTML2",
   "text/x-javascript": "JS|JSON",
   "text/x-json": "JSON",
   "application/dash+xml": "MPD",
   "application/f4m+xml": "F4M|MPD",
   "application/gzip": "GZ",
   "application/javascript": "JS",
   "application/json": "JSON",
   "application/msword": "DOC|DOCX|DOT|DOTX",
   "application/octet-stream-m3u8": "M3U8",
   "application/pdf": "PDF",
   "application/torrent": "TORRENT|BTT",
   "application/ttaf+xml": "DFXP",
   "application/ttml+xml": "TTML|TTML2",
   "application/vnd.apple.mpegurl": "M3U8",
   "application/zip": "ZIP",
   "application/x-7z-compressed": "7Z",
   "application/x-aim": "PLJ",
   "application/x-bittorrent": "TORRENT|BTT",
   "application/x-chrome-extension": "CRX",
   "application/x-compress": "Z",
   "application/x-compress-7z": "7Z",
   "application/x-compressed": "ARJ",
   "application/x-dosexec": "EXE",
   "application/x-gtar": "TAR",
   "application/x-gzip": "GZ",
   "application/x-gzip-compressed": "GZ",
   "application/x-javascript": "JS",
   "application/x-mpegurl": "M3U8",
   "application/x-msdos-program": "EXE|DLL",
   "application/x-msi": "MSI",
   "application/x-msp": "MSP",
   "application/x-ole-storage": "MSI|MSP",
   "application/x-rar": "RAR",
   "application/x-rar-compressed": "RAR",
   "application/x-sdlc": "EXE|SDLC",
   "application/x-shockwave-flash": "SWF",
   "application/x-silverlight-app": "XAP",
   "application/x-subrip": "SRT",
   "application/x-tar": "TAR",
   "application/x-zip": "ZIP",
   "application/x-zip-compressed": "ZIP",
   "video/3gpp": "3GP|3GPP",
   "video/3gpp2": "3GP|3GPP",
   "video/avi": "AVI",
   "video/f4f": "F4F",
   "video/f4m": "F4M",
   "video/flv": "FLV",
   "video/mp2t": "TS|TSV|M3U8",
   "video/mp4": "MP4|M4V",
   "video/mpeg": "MPG|MPEG",
   "video/mpegurl": "M3U|M3U8",
   "video/mpg4": "MP4|M4V",
   "video/msvideo": "AVI",
   "video/quicktime": "MOV|QT",
   "video/vnd.mpeg.dash.mpd": "MPD",
   "video/webm": "WEBM",
   "video/x-flash-video": "FLV",
   "video/x-flv": "FLV",
   "video/x-mp4": "MP4|M4V",
   "video/x-mpegurl": "M3U|M3U8",
   "video/x-mpg4": "MP4|M4V",
   "video/x-ms-asf": "ASF",
   "video/x-ms-wmv": "WMV",
   "video/x-msvideo": "AVI",
   "audio/3gpp": "3GP|3GPP",
   "audio/3gpp2": "3GP|3GPP",
   "audio/mp2t": "TS|TSA|M3U8",
   "audio/mp3": "MP3",
   "audio/mp4": "M4A|MP4",
   "audio/mp4a-latm": "M4A|MP4",
   "audio/mpeg": "MP3",
   "audio/mpeg4-generic": "M4A|MP4",
   "audio/mpegurl": "M3U|M3U8",
   "audio/webm": "WEBM",
   "audio/wav": "WAV",
   "audio/x-mpeg": "MP3",
   "audio/x-mpegurl": "M3U|M3U8",
   "audio/x-ms-wma": "WMA",
   "audio/x-wav": "WAV",
   "ilm/tm": "MP3",
   "image/avif": "AVIF",
   "image/gif": "GIF|GFA",
   "image/icon": "ICO|CUR",
   "image/jpg": "JPG|JPEG",
   "image/jpeg": "JPG|JPEG",
   "image/png": "PNG|APNG",
   "image/tiff": "TIF|TIFF",
   "image/vnd.microsoft.icon": "ICO|CUR",
   "image/webp": "WEBP",
   "image/x-icon": "ICO|CUR",
   "flv-application/octet-stream": "FLV"
 }

And here is the other way around

{
HTML: 'text/html',
HTM: 'text/html',
CSS: 'text/css',
JS: 'application/x-javascript',
JSON: 'application/json',
MSI: 'application/x-ole-storage',
MSP: 'application/x-ole-storage',
TXT: 'text/plain',
VTT: 'text/vtt',
SRT: 'application/x-subrip',
M3U: 'audio/x-mpegurl',
PLS: 'text/plain',
M3U8: 'audio/x-mpegurl',
MPD: 'video/vnd.mpeg.dash.mpd',
F4M: 'video/f4m',
TORRENT: 'application/x-bittorrent',
BTT: 'application/x-bittorrent',
XML: 'text/xml',
TTML: 'application/ttml+xml',
TTML2: 'application/ttml+xml',
GZ: 'application/x-gzip-compressed',
DOC: 'application/msword',
DOCX: 'application/msword',
DOT: 'application/msword',
DOTX: 'application/msword',
PDF: 'application/pdf',
DFXP: 'application/ttaf+xml',
ZIP: 'application/x-zip-compressed',
'7Z': 'application/x-compress-7z',
PLJ: 'application/x-aim',
CRX: 'application/x-chrome-extension',
Z: 'application/x-compress',
ARJ: 'application/x-compressed',
EXE: 'application/x-sdlc',
TAR: 'application/x-tar',
DLL: 'application/x-msdos-program',
RAR: 'application/x-rar-compressed',
SDLC: 'application/x-sdlc',
SWF: 'application/x-shockwave-flash',
XAP: 'application/x-silverlight-app',
'3GP': 'audio/3gpp2',
'3GPP': 'audio/3gpp2',
AVI: 'video/x-msvideo',
F4F: 'video/f4f',
FLV: 'flv-application/octet-stream',
TS: 'audio/mp2t',
TSV: 'video/mp2t',
MP4: 'audio/mpeg4-generic',
M4V: 'video/x-mpg4',
MPG: 'video/mpeg',
MPEG: 'video/mpeg',
MOV: 'video/quicktime',
QT: 'video/quicktime',
WEBM: 'audio/webm',
ASF: 'video/x-ms-asf',
WMV: 'video/x-ms-wmv',
TSA: 'audio/mp2t',
MP3: 'ilm/tm',
M4A: 'audio/mpeg4-generic',
WAV: 'audio/x-wav',
WMA: 'audio/x-ms-wma',
AVIF: 'image/avif',
GIF: 'image/gif',
GFA: 'image/gif',
ICO: 'image/x-icon',
CUR: 'image/x-icon',
JPG: 'image/jpeg',
JPEG: 'image/jpeg',
PNG: 'image/png',
APNG: 'image/png',
TIF: 'image/tiff',
TIFF: 'image/tiff',
WEBP: 'image/webp'
}

Okay 🥱 here is the conversion function


const me= {
"text/html": "HTML|HTM",
"text/css": "CSS",
"text/javascript": "JS|JSON",
"text/mspg-legacyinfo": "MSI|MSP",
"text/plain": "TXT|VTT|SRT|M3U|PLS|M3U8|MPD|F4M|TORRENT|BTT",
"text/srt": "SRT",
"text/vtt": "VTT|SRT",
"text/xml": "XML|MPD|F4M|TTML|TTML2",
"text/x-javascript": "JS|JSON",
"text/x-json": "JSON",
"application/dash+xml": "MPD",
"application/f4m+xml": "F4M|MPD",
"application/gzip": "GZ",
"application/javascript": "JS",
"application/json": "JSON",
"application/msword": "DOC|DOCX|DOT|DOTX",
"application/octet-stream-m3u8": "M3U8",
"application/pdf": "PDF",
"application/torrent": "TORRENT|BTT",
"application/ttaf+xml": "DFXP",
"application/ttml+xml": "TTML|TTML2",
"application/vnd.apple.mpegurl": "M3U8",
"application/zip": "ZIP",
"application/x-7z-compressed": "7Z",
"application/x-aim": "PLJ",
"application/x-bittorrent": "TORRENT|BTT",
"application/x-chrome-extension": "CRX",
"application/x-compress": "Z",
"application/x-compress-7z": "7Z",
"application/x-compressed": "ARJ",
"application/x-dosexec": "EXE",
"application/x-gtar": "TAR",
"application/x-gzip": "GZ",
"application/x-gzip-compressed": "GZ",
"application/x-javascript": "JS",
"application/x-mpegurl": "M3U8",
"application/x-msdos-program": "EXE|DLL",
"application/x-msi": "MSI",
"application/x-msp": "MSP",
"application/x-ole-storage": "MSI|MSP",
"application/x-rar": "RAR",
"application/x-rar-compressed": "RAR",
"application/x-sdlc": "EXE|SDLC",
"application/x-shockwave-flash": "SWF",
"application/x-silverlight-app": "XAP",
"application/x-subrip": "SRT",
"application/x-tar": "TAR",
"application/x-zip": "ZIP",
"application/x-zip-compressed": "ZIP",
"video/3gpp": "3GP|3GPP",
"video/3gpp2": "3GP|3GPP",
"video/avi": "AVI",
"video/f4f": "F4F",
"video/f4m": "F4M",
"video/flv": "FLV",
"video/mp2t": "TS|TSV|M3U8",
"video/mp4": "MP4|M4V",
"video/mpeg": "MPG|MPEG",
"video/mpegurl": "M3U|M3U8",
"video/mpg4": "MP4|M4V",
"video/msvideo": "AVI",
"video/quicktime": "MOV|QT",
"video/vnd.mpeg.dash.mpd": "MPD",
"video/webm": "WEBM",
"video/x-flash-video": "FLV",
"video/x-flv": "FLV",
"video/x-mp4": "MP4|M4V",
"video/x-mpegurl": "M3U|M3U8",
"video/x-mpg4": "MP4|M4V",
"video/x-ms-asf": "ASF",
"video/x-ms-wmv": "WMV",
"video/x-msvideo": "AVI",
"audio/3gpp": "3GP|3GPP",
"audio/3gpp2": "3GP|3GPP",
"audio/mp2t": "TS|TSA|M3U8",
"audio/mp3": "MP3",
"audio/mp4": "M4A|MP4",
"audio/mp4a-latm": "M4A|MP4",
"audio/mpeg": "MP3",
"audio/mpeg4-generic": "M4A|MP4",
"audio/mpegurl": "M3U|M3U8",
"audio/webm": "WEBM",
"audio/wav": "WAV",
"audio/x-mpeg": "MP3",
"audio/x-mpegurl": "M3U|M3U8",
"audio/x-ms-wma": "WMA",
"audio/x-wav": "WAV",
"ilm/tm": "MP3",
"image/avif": "AVIF",
"image/gif": "GIF|GFA",
"image/icon": "ICO|CUR",
"image/jpg": "JPG|JPEG",
"image/jpeg": "JPG|JPEG",
"image/png": "PNG|APNG",
"image/tiff": "TIF|TIFF",
"image/vnd.microsoft.icon": "ICO|CUR",
"image/webp": "WEBP",
"image/x-icon": "ICO|CUR",
"flv-application/octet-stream": "FLV"
}

const valuess = Object.entries(me).map(([key, value]) => {
const mime = key;
const fileTypes = value.split("|");
return fileTypes.map(m => ({[m]: mime}))
})
.flat()
.reduce((acc, cur) => Object.assign(acc, cur), {});
console.log(valuess);

Cheers and Peace out!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

+ seven = fourteen