emotiveapps/mimetypeenum
A Swift enum providing comprehensive MIME type mappings with file extension lookup.
Installation
Add to your Package.swift:
dependencies: [
.package(url: "https://github.com/emotiveapps/MimeTypeEnum", from: "1.0.0")
]Usage
import MimeTypeEnum
// Get MIME type from filename
let type = MimeType.from(filename: "photo.jpg") // .jpeg
// Get MIME type from extension
let type = MimeType.from(extension: "pdf") // .pdf
// Get MIME type string directly
let mimeString = MimeType.mimeTypeString(for: "document.pdf") // "application/pdf"
// Access raw MIME type string
let raw = MimeType.jpeg.rawValue // "image/jpeg"
// Get file extensions for a MIME type
let extensions = MimeType.jpeg.extensions // ["jpeg", "jpg", "jpe"]
// Get primary extension
let ext = MimeType.jpeg.primaryExtension // "jpeg"Supported Types
80+ MIME types across categories:
- Text (html, css, xml, json, markdown, etc.)
- Image (jpeg, png, gif, webp, heic, svg, etc.)
- Audio (mp3, wav, flac, ogg, etc.)
- Video (mp4, webm, mov, avi, etc.)
- Application (pdf, zip, wasm, etc.)
- Fonts (woff, woff2, ttf, otf)
- Microsoft Office (doc, docx, xls, xlsx, etc.)
- Apple iWork (pages, numbers, keynote)
Unknown extensions return .octetStream (application/octet-stream).
Acknowledgments
Inspired by onevcat/MimeType.
License
MIT
Package Metadata
Repository: emotiveapps/mimetypeenum
Default branch: main
README: README.md