@nasriya/mimex
Version:
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.
75 lines (59 loc) • 3 kB
Markdown
[](https://nasriya.net)
[](https://github.com/nasriyasoftware/MimeX?tab=License-1-ov-file)    [](link-to-your-status-page)
Made with ❤️ in **Palestine** 🇵🇸
___
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.
>
> **[Click here to support us!](https://fund.nasriya.net/)**
>
> Every contribution, big or small, makes a difference. Thank you for your generosity and support!
___
```bash
npm install @nasriya/mimex
```
Importing in **ESM** modules
```js
import mimex from '@nasriya/mimex';
```
Importing in **CommonJS** modules
```js
const mimex = require('@nasriya/mimex').default;
```
___
```js
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', ...]
```
___
This software is licensed under the **Nasriya Open License (NOL)**, version 1.0.
Please read the license from [here](https://github.com/nasriyasoftware/MimeX?tab=License-1-ov-file).