@nasriya/mimex
v0.0.2-beta
Published
A lightweight MIME type and file extension manager for Node.js and web applications. Mimex provides fast lookup, extension-to-MIME and MIME-to-extension resolution, and easy registration of custom types.
Maintainers
Readme
MimeX
Visit us at www.nasriya.net.
Made with ❤️ in Palestine 🇵🇸
Overview
Mimex is a lightweight TypeScript/JavaScript utility for handling file extensions and MIME types. It provides an easy-to-use manager to look up MIME types from file extensions and vice versa, with full type safety when used in TypeScript projects.
Key features include:
- Retrieve one or multiple MIME types associated with a file extension.
- Retrieve all file extensions associated with a MIME type.
- Predefined, comprehensive list of common file extensions and MIME types.
- Fully typed for TypeScript with literal types for complete type safety.
- Exposes convenient readonly lists of all supported MIME types and extensions.
[!IMPORTANT]
🌟 Support Our Open-Source Development! 🌟 We need your support to keep our projects going! If you find our work valuable, please consider contributing. Your support helps us continue to develop and maintain these tools.
Every contribution, big or small, makes a difference. Thank you for your generosity and support!
Installation
npm install @nasriya/mimexImporting
Importing in ESM modules
import mimex from '@nasriya/mimex';Importing in CommonJS modules
const mimex = require('@nasriya/mimex').default;Usage
import mimex from '@nasriya/mimex'
// Get MIME type(s) from extension
const mime = mimex.getMimes('.png') // ['image/png']
// Get extension(s) from MIME type
const ext = mimex.getExtensions('image/png') // ['.png']
// Check if a MIME type is supported
const isMimeSupported = mimex.isMime('image/png') // true
const isMimeUnknown = mimex.isMime('application/unknown') // false
// Check if an extension is supported
const isExtSupported = mimex.isExtension('.png') // true
const isExtWithoutDot = mimex.isExtension('png') // true
const isExtUnknown = mimex.isExtension('.unknown') // false
// Access all supported MIME types and extensions
console.log(mimex.mimes) // ['image/webp', 'audio/aac', ...]
console.log(mimex.extensions) // ['.webp', '.aac', ...]License
This software is licensed under the Nasriya Open License (NOL), version 1.0. Please read the license from here.

